fixes #2660: Support approver:any and approver:none metatags

This commit is contained in:
r888888888
2016-09-09 14:03:08 -07:00
parent 8998babd41
commit 20cd6076a1
2 changed files with 15 additions and 3 deletions

View File

@@ -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

View File

@@ -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] ||= []