refactored user promotion code, related to #1257

This commit is contained in:
r888888888
2014-03-05 17:44:07 -08:00
parent 14dd0430cb
commit 56ae78f963
3 changed files with 58 additions and 30 deletions

View File

@@ -9,21 +9,8 @@ module Admin
def update
@user = User.find(params[:id])
sanitize_params!
@user.promote_to!(params[:user][:level])
redirect_to edit_admin_user_path(@user), :notice => "User updated"
end
protected
def sanitize_params!
# admins can do anything
return if CurrentUser.is_admin?
# can't promote/demote moderators
raise User::PrivilegeError if @user.is_moderator?
# can't promote to admin
raise User::PrivilegeError if params[:user] && params[:user][:level].to_i >= User::Levels::ADMIN
end
end
end