diff --git a/app/controllers/admin/conference_controller.rb b/app/controllers/admin/conference_controller.rb index 294475ca..345d0074 100644 --- a/app/controllers/admin/conference_controller.rb +++ b/app/controllers/admin/conference_controller.rb @@ -1,6 +1,7 @@ module Admin class ConferenceController < ApplicationController load_and_authorize_resource :conference, find_by: :short_title + load_resource :user, only: [:remove_user] def index # Redirect to new form if there is no conference @@ -219,14 +220,13 @@ module Admin end def remove_user - user = User.find(params[:user]) @selected = params[:role] @selection = @selected.parameterize.underscore role = Role.where(name: @selection, resource: @conference).first @role_users = get_users(@selection) - user.revoke role.name.to_sym, @conference + @user.revoke role.name.to_sym, @conference render 'roles', formats: [:js] end diff --git a/app/views/admin/conference/_roles.html.haml b/app/views/admin/conference/_roles.html.haml index c4f45a78..9d0f99d6 100644 --- a/app/views/admin/conference/_roles.html.haml +++ b/app/views/admin/conference/_roles.html.haml @@ -22,7 +22,7 @@ - @role_users[@selection].each do |user| %tr %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'} = user.id %td= user.name