Add user permissions for flagging and for giving user feedback
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user