revisiondaosqlite: Don't ignore page visibility setting

这个提交包含在:
Albert S. 2018-11-04 20:08:39 +01:00
父节点 879a9f1c24
当前提交 89c662385d
共有 1 个文件被更改,包括 4 次插入6 次删除

查看文件

@ -54,9 +54,8 @@ std::vector<Revision> RevisionDaoSqlite::getAllRevisions(QueryOption &options)
try
{
SqliteQueryOption queryOption { options };
std::string queryOptionSql = queryOption.setPrependWhere(true).setOrderByColumn("id").build();
auto query = *db << "SELECT author, comment, content, strftime('%s',creationtime), (SELECT name FROM page WHERE page.id = page ), revisionid FROM revision " + queryOptionSql;
std::string queryOptionSql = queryOption.setPrependWhere(true).setVisibleColumnName("page.visible").setOrderByColumn("revisionid").build();
auto query = *db << "SELECT (SELECT username FROM user WHERE id = author), comment, content, strftime('%s',creationtime), page.name, revisionid FROM revision INNER JOIN page ON revision.page = page.id " + queryOptionSql;
query >> [&](std::string author, std::string comment, std::string content, time_t creationtime, std::string page, unsigned int revisionid)
{
Revision r;
@ -87,9 +86,8 @@ std::vector<Revision> RevisionDaoSqlite::getAllRevisionsForPage(std::string page
try
{
SqliteQueryOption queryOption { option };
std::string queryOptionSql = queryOption.setPrependWhere(false).setOrderByColumn("id").build();
auto query = *db << "SELECT (SELECT username FROM user WHERE id = author), comment, content, strftime('%s',creationtime), (SELECT name FROM page WHERE page.id = page ), revisionid FROM revision WHERE page = (SELECT id FROM page WHERE name = ?) " + queryOptionSql << pagename;
std::string queryOptionSql = queryOption.setPrependWhere(false).setVisibleColumnName("page.visible").setOrderByColumn("revisionid").build();
auto query = *db << "SELECT (SELECT username FROM user WHERE id = author), comment, content, strftime('%s',creationtime), page.name, revisionid FROM revision INNER JOIN page ON revision.page = page.id WHERE page.name = ? AND " + queryOptionSql << pagename;
query >> [&](std::string author, std::string comment, std::string content, time_t creationtime, std::string page, unsigned int revisionid)
{