fixes #2876: Changing approver/contributor privileges should log mod action

This commit is contained in:
r888888888
2017-02-14 12:46:54 -08:00
parent ed8a8001f4
commit aa41c41572
3 changed files with 15 additions and 7 deletions

View File

@@ -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

View File

@@ -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?

View File

@@ -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