diff --git a/app/logical/post_query_builder.rb b/app/logical/post_query_builder.rb index ad456a01d..80e6a8f36 100644 --- a/app/logical/post_query_builder.rb +++ b/app/logical/post_query_builder.rb @@ -242,7 +242,13 @@ class PostQueryBuilder end if q[:approver_id] - relation = relation.where("posts.approver_id = ?", q[:approver_id]) + if q[:approver_id] == "any" + relation = relation.where("posts.approver_id is not null") + elsif q[:approver_id] == "none" + relation = relation.where("posts.approver_id is null") + else + relation = relation.where("posts.approver_id = ?", q[:approver_id]) + end has_constraints! end diff --git a/app/models/tag.rb b/app/models/tag.rb index 34610f64b..009b6e40a 100644 --- a/app/models/tag.rb +++ b/app/models/tag.rb @@ -418,8 +418,14 @@ class Tag < ActiveRecord::Base q[:approver_id_neg] << user_id unless user_id.blank? when "approver" - user_id = User.name_to_id($2) - q[:approver_id] = user_id unless user_id.blank? + if $2 == "none" + q[:approver_id] = "none" + elsif $2 == "any" + q[:approver_id] = "any" + else + user_id = User.name_to_id($2) + q[:approver_id] = user_id unless user_id.blank? + end when "commenter", "comm" q[:commenter_ids] ||= []