summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/finders/issuable_finder.rb15
-rw-r--r--app/models/concerns/awardable.rb18
2 files changed, 10 insertions, 23 deletions
diff --git a/app/finders/issuable_finder.rb b/app/finders/issuable_finder.rb
index 27a850b2603..baa3e0853eb 100644
--- a/app/finders/issuable_finder.rb
+++ b/app/finders/issuable_finder.rb
@@ -480,13 +480,14 @@ class IssuableFinder
def by_my_reaction_emoji(items)
if params[:my_reaction_emoji].present? && current_user
- if filter_by_no_reaction?
- items = items.not_awarded(current_user)
- elsif filter_by_any_reaction?
- items = items.awarded_any(current_user)
- else
- items = items.awarded(current_user, params[:my_reaction_emoji])
- end
+ items =
+ if filter_by_no_reaction?
+ items.not_awarded(current_user)
+ elsif filter_by_any_reaction?
+ items.awarded(current_user)
+ else
+ items.awarded(current_user, params[:my_reaction_emoji])
+ end
end
items
diff --git a/app/models/concerns/awardable.rb b/app/models/concerns/awardable.rb
index 25b14eb110c..60b7ec2815c 100644
--- a/app/models/concerns/awardable.rb
+++ b/app/models/concerns/awardable.rb
@@ -13,13 +13,13 @@ module Awardable
end
class_methods do
- def awarded(user, name)
+ def awarded(user, name = nil)
sql = <<~EOL
EXISTS (
SELECT TRUE
FROM award_emoji
WHERE user_id = :user_id AND
- name = :name AND
+ #{"name = :name AND" if name.present?}
awardable_type = :awardable_type AND
awardable_id = #{self.arel_table.name}.id
)
@@ -28,20 +28,6 @@ module Awardable
where(sql, user_id: user.id, name: name, awardable_type: self.name)
end
- def awarded_any(user)
- sql = <<~EOL
- EXISTS (
- SELECT TRUE
- FROM award_emoji
- WHERE user_id = :user_id AND
- awardable_type = :awardable_type AND
- awardable_id = #{self.arel_table.name}.id
- )
- EOL
-
- where(sql, user_id: user.id, awardable_type: self.name)
- end
-
def not_awarded(user)
sql = <<~EOL
NOT EXISTS (