unify user notifications for permission/level changes #2470
This commit is contained in:
@@ -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?)
|
||||
|
||||
Reference in New Issue
Block a user