From bf8733d1107c9e36812313fe4fb6358bd35d1df5 Mon Sep 17 00:00:00 2001 From: Sam Date: Fri, 17 Feb 2017 16:48:05 -0500 Subject: [PATCH] allow for * filter --- plugin.rb | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/plugin.rb b/plugin.rb index 163db67..d93d73d 100644 --- a/plugin.rb +++ b/plugin.rb @@ -149,11 +149,19 @@ after_initialize do TopicQuery.add_custom_filter(:assigned) do |results, topic_query| if topic_query.guardian.is_staff? || SiteSetting.assigns_public username = topic_query.options[:assigned] - if username.present? && (user_id = User.where(username_lower: username.downcase).pluck(:id).first) + user_id = User.where(username_lower: username.downcase).pluck(:id).first if username.present? && username != "*" + if user_id || username == "*" + + if username == "*" + filter = "AND tc_assign.value IS NOT NULL" + else + filter = "AND tc_assign.value = '#{user_id.to_i.to_s}'" + end + results = results.joins("JOIN topic_custom_fields tc_assign ON topics.id = tc_assign.topic_id AND - tc_assign.name = 'assigned_to_id' AND - tc_assign.value = '#{user_id.to_i.to_s}' + tc_assign.name = 'assigned_to_id' + #{filter} ") end end