Class: Spotlight::RolesController

Inherits:
ApplicationController show all
Defined in:
app/controllers/spotlight/roles_controller.rb

Instance Method Summary collapse

Methods inherited from ApplicationController

#search_action_url

Instance Method Details

#indexObject

Raises:

  • (CanCan::AccessDenied)


7
8
9
10
11
12
13
14
# File 'app/controllers/spotlight/roles_controller.rb', line 7

def index
  # every admin should at least see themseleves
  raise CanCan::AccessDenied if @roles.empty?
  add_breadcrumb @exhibit.title, @exhibit
  add_breadcrumb t(:'spotlight.administration.sidebar.header'), exhibit_dashboard_path(@exhibit)
  add_breadcrumb t(:'spotlight.administration.sidebar.users'), exhibit_roles_path(@exhibit)
  @exhibit.roles.build
end

#update_allObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'app/controllers/spotlight/roles_controller.rb', line 16

def update_all
  attrs = params.require(:exhibit).permit(:roles_attributes => [:id, :user_key, :role, :_destroy])

  any_deleted = authorize_nested_attributes(attrs[:roles_attributes], Role)

  if @exhibit.update(attrs)
    notice = any_deleted > 0 ? "User has been removed." : "User has been updated."
    redirect_to exhibit_roles_path(@exhibit), notice: notice 
  else
    flash[:alert] = "There was a problem saving the users."
    render action: 'index'
  end

end