From 29f818e6165e2e6d4a523270d115a491e261478a Mon Sep 17 00:00:00 2001 From: barthc Date: Tue, 30 Aug 2016 20:57:47 +0100 Subject: prevent authored awardable thumbs votes --- app/controllers/concerns/toggle_award_emoji.rb | 12 +++++++----- app/models/concerns/awardable.rb | 7 +++++-- 2 files changed, 12 insertions(+), 7 deletions(-) (limited to 'app') diff --git a/app/controllers/concerns/toggle_award_emoji.rb b/app/controllers/concerns/toggle_award_emoji.rb index b343bb611e0..172d5344b7a 100644 --- a/app/controllers/concerns/toggle_award_emoji.rb +++ b/app/controllers/concerns/toggle_award_emoji.rb @@ -8,12 +8,14 @@ module ToggleAwardEmoji def toggle_award_emoji name = params.require(:name) - return render json: { ok: false } unless awardable.user_can_award?(current_user, name) + if awardable.user_can_award?(current_user, name) + awardable.toggle_award_emoji(name, current_user) + TodoService.new.new_award_emoji(to_todoable(awardable), current_user) - awardable.toggle_award_emoji(name, current_user) - TodoService.new.new_award_emoji(to_todoable(awardable), current_user) - - render json: { ok: true } + render json: { ok: true } + else + render json: { ok: false } + end end private diff --git a/app/models/concerns/awardable.rb b/app/models/concerns/awardable.rb index e25420c0edf..83f5bc1fa9e 100644 --- a/app/models/concerns/awardable.rb +++ b/app/models/concerns/awardable.rb @@ -64,8 +64,11 @@ module Awardable end def user_can_award?(current_user, name) - name = normalize_name(name) - !(self.user_authored?(current_user) && awardable_votes?(name)) + if user_authored?(current_user) + !awardable_votes?(normalize_name(name)) + else + true + end end def awarded_emoji?(emoji_name, current_user) -- cgit v1.2.3