fixes #2876: Changing approver/contributor privileges should log mod action
This commit is contained in:
@@ -9,11 +9,8 @@ module Admin
|
||||
|
||||
def update
|
||||
@user = User.find(params[:id])
|
||||
@user.promote_to!(
|
||||
params[:user][:level],
|
||||
:can_approve_posts => params[:user][:can_approve_posts],
|
||||
:can_upload_free => params[:user][:can_upload_free]
|
||||
)
|
||||
promotion = UserPromotion.new(@user, CurrentUser.user, params[:user][:level], params[:user])
|
||||
promotion.promote!
|
||||
redirect_to edit_admin_user_path(@user), :notice => "User updated"
|
||||
end
|
||||
end
|
||||
|
||||
@@ -22,12 +22,23 @@ class UserPromotion
|
||||
create_user_feedback unless options[:skip_feedback]
|
||||
create_dmail unless options[:skip_dmail]
|
||||
update_saved_searches
|
||||
create_mod_actions
|
||||
|
||||
user.save
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def create_mod_actions
|
||||
if old_can_approve_posts != user.can_approve_posts?
|
||||
ModAction.log("#{promoter.name} changed approval privileges for #{user.name} from #{old_can_approve_posts} to [b]#{user.can_approve_posts?}[/b]")
|
||||
end
|
||||
|
||||
if old_can_upload_free != user.can_upload_free?
|
||||
ModAction.log("#{promoter.name} changed unlimited upload privileges for #{user.name} from #{old_can_upload_free} to [b]#{user.can_upload_free?}[/b]")
|
||||
end
|
||||
end
|
||||
|
||||
def validate
|
||||
# admins can do anything
|
||||
return if promoter.is_admin?
|
||||
|
||||
@@ -47,7 +47,7 @@ class UserPresenter
|
||||
if !SavedSearch.enabled?
|
||||
return Post.where("false")
|
||||
end
|
||||
|
||||
|
||||
ids = SavedSearch.post_ids(CurrentUser.user.id, category)
|
||||
|
||||
if ids.any?
|
||||
@@ -81,7 +81,7 @@ class UserPresenter
|
||||
if user.can_upload_free?
|
||||
return "none"
|
||||
end
|
||||
|
||||
|
||||
dcon = [user.deletion_confidence(60), 15].min
|
||||
multiplier = (1 - (dcon / 15.0))
|
||||
max_count = [(user.base_upload_limit * multiplier).ceil, 5].max
|
||||
|
||||
Reference in New Issue
Block a user