unify user notifications for permission/level changes #2470

This commit is contained in:
r888888888
2015-10-27 11:11:32 -07:00
parent 010008eab3
commit b695a7980f
3 changed files with 30 additions and 69 deletions

View File

@@ -49,8 +49,6 @@ class UsersController < ApplicationController
def update
@user = User.find(params[:id])
check_privilege(@user)
sanitize_params!
handle_promotion!
@user.update_attributes(params[:user].except(:name), :as => CurrentUser.role)
cookies.delete(:favorite_tags)
cookies.delete(:favorite_tags_with_categories)
@@ -69,19 +67,6 @@ class UsersController < ApplicationController
end
private
def sanitize_params!
return if CurrentUser.is_admin?
if params[:user] && params[:user][:level].to_i >= User::Levels::MODERATOR
params[:user][:level] = User::Levels::JANITOR
end
end
def handle_promotion!
if params[:user] && params[:user][:level]
UserPromotion.new(@user, CurrentUser.user, params[:user].delete(:level)).promote!
end
end
def check_privilege(user)
raise User::PrivilegeError unless (user.id == CurrentUser.id || CurrentUser.is_admin?)