Add user permissions for flagging and for giving user feedback

This commit is contained in:
Albert Yi
2018-12-11 16:41:20 -08:00
parent c34df49f0f
commit 4706cae114
10 changed files with 96 additions and 6 deletions

View File

@@ -57,7 +57,9 @@ class PopularSearchService
rescue => e
Rails.logger.error(e.to_s)
NewRelic::Agent.notice_error(e)
if defined?(NewRelic)
NewRelic::Agent.notice_error(e)
end
return []
end
end

View File

@@ -1,5 +1,5 @@
class UserPromotion
attr_reader :user, :promoter, :new_level, :options, :old_can_approve_posts, :old_can_upload_free
attr_reader :user, :promoter, :new_level, :options, :old_can_approve_posts, :old_can_upload_free, :old_no_flagging, :old_no_feedback
def initialize(user, promoter, new_level, options = {})
@user = user
@@ -13,6 +13,8 @@ class UserPromotion
@old_can_approve_posts = user.can_approve_posts?
@old_can_upload_free = user.can_upload_free?
@old_no_flagging = user.no_flagging?
@old_no_feedback = user.no_feedback?
user.level = new_level
@@ -23,6 +25,14 @@ class UserPromotion
if options.has_key?(:can_upload_free)
user.can_upload_free = options[:can_upload_free]
end
if options.has_key?(:no_feedback)
user.no_feedback = options[:no_feedback]
end
if options.has_key?(:no_flagging)
user.no_flagging = options[:no_flagging]
end
user.inviter_id = promoter.id
@@ -44,6 +54,14 @@ private
ModAction.log("\"#{promoter.name}\":/users/#{promoter.id} changed unlimited upload privileges for \"#{user.name}\":/users/#{user.id} from #{old_can_upload_free} to [b]#{user.can_upload_free?}[/b]",:user_upload_privilege)
end
if old_no_flagging != user.no_flagging?
ModAction.log("\"#{promoter.name}\":/users/#{promoter.id} changed banned from flagging for \"#{user.name}\":/users/#{user.id} from #{old_no_flagging} to [b]#{user.no_flagging?}[/b]",:user_approval_privilege)
end
if old_no_feedback != user.no_feedback?
ModAction.log("\"#{promoter.name}\":/users/#{promoter.id} changed banned from feedback for \"#{user.name}\":/users/#{user.id} from #{old_no_feedback} to [b]#{user.no_feedback?}[/b]",:user_approval_privilege)
end
if user.level_changed?
category = options[:is_upgrade] ? :user_account_upgrade : :user_level_change
ModAction.log(%{"#{user.name}":/users/#{user.id} level changed #{user.level_string_was} -> #{user.level_string}}, category)
@@ -84,6 +102,18 @@ private
messages << "You lost the ability to upload posts without limit."
end
if user.no_feedback? && !old_no_feedback
messages << "You lost the ability to give user feedback."
elsif !user.no_feedback? && old_no_feedback
messages << "You gained the ability to give user feedback."
end
if user.no_flagging? && !old_no_flagging
messages << "You lost the ability to flag posts."
elsif !user.no_flagging? && old_no_flagging
messages << "You gained the ability to flag posts."
end
messages.join("\n")
end