Merge pull request #5293 from AntonKhorev/user-roles-resourceful-routes
Use resourceful routes for granting/revoking user roles
This commit is contained in:
commit
cdf9634d08
8 changed files with 59 additions and 58 deletions
|
@ -6,9 +6,10 @@ module UserMethods
|
|||
##
|
||||
# ensure that there is a "user" instance variable
|
||||
def lookup_user
|
||||
@user = User.active.find_by!(:display_name => params[:display_name])
|
||||
display_name = params[:display_name] || params[:user_display_name]
|
||||
@user = User.active.find_by!(:display_name => display_name)
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
render_unknown_user params[:display_name]
|
||||
render_unknown_user display_name
|
||||
end
|
||||
|
||||
##
|
||||
|
|
|
@ -9,15 +9,15 @@ class UserRolesController < ApplicationController
|
|||
|
||||
before_action :lookup_user
|
||||
before_action :require_valid_role
|
||||
before_action :not_in_role, :only => [:grant]
|
||||
before_action :in_role, :only => [:revoke]
|
||||
before_action :not_in_role, :only => :create
|
||||
before_action :in_role, :only => :destroy
|
||||
|
||||
def grant
|
||||
def create
|
||||
@user.roles.create(:role => @role, :granter => current_user)
|
||||
redirect_to user_path(@user)
|
||||
end
|
||||
|
||||
def revoke
|
||||
def destroy
|
||||
# checks that administrator role is not revoked from current user
|
||||
if current_user == @user && @role == "administrator"
|
||||
flash[:error] = t("user_role.filter.not_revoke_admin_current_user")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue