create @user with cancan for remove_user action

This commit is contained in:
Stella Rouzi 2014-08-13 16:05:54 +03:00
parent e9a57f78a3
commit 1cbf78df3d
2 changed files with 3 additions and 3 deletions

View file

@ -1,6 +1,7 @@
module Admin module Admin
class ConferenceController < ApplicationController class ConferenceController < ApplicationController
load_and_authorize_resource :conference, find_by: :short_title load_and_authorize_resource :conference, find_by: :short_title
load_resource :user, only: [:remove_user]
def index def index
# Redirect to new form if there is no conference # Redirect to new form if there is no conference
@ -219,14 +220,13 @@ module Admin
end end
def remove_user def remove_user
user = User.find(params[:user])
@selected = params[:role] @selected = params[:role]
@selection = @selected.parameterize.underscore @selection = @selected.parameterize.underscore
role = Role.where(name: @selection, resource: @conference).first role = Role.where(name: @selection, resource: @conference).first
@role_users = get_users(@selection) @role_users = get_users(@selection)
user.revoke role.name.to_sym, @conference @user.revoke role.name.to_sym, @conference
render 'roles', formats: [:js] render 'roles', formats: [:js]
end end

View file

@ -22,7 +22,7 @@
- @role_users[@selection].each do |user| - @role_users[@selection].each do |user|
%tr %tr
%td %td
= link_to remove_user_admin_conference_path(@conference.short_title, user: user, role: @selected), method: :delete, remote: true, title: 'Remove user' do = link_to remove_user_admin_conference_path(@conference.short_title, user_id: user.id, role: @selected), method: :delete, remote: true, title: 'Remove user' do
%i{class: 'fa fa-times'} %i{class: 'fa fa-times'}
= user.id = user.id
%td= user.name %td= user.name