Class: Spotlight::RolesController

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

Overview

CRUD actions for assigning exhibit roles to existing users

Instance Method Summary collapse

Methods included from Concerns::ApplicationController

#enabled_in_spotlight_view_type_configuration?, #field_enabled?

Methods included from Controller

#blacklight_config, #current_exhibit, #current_masthead, #current_masthead=, #current_site, #default_url_options, #exhibit_masthead?, #exhibit_search_action_url, #exhibit_search_facet_url, #resource_masthead?, #search_action_url, #search_facet_url, #set_exhibit_locale_scope, #set_locale

Methods included from Config

#exhibit_specific_blacklight_config

Instance Method Details

#indexObject



10
11
12
13
14
15
16
17
# File 'app/controllers/spotlight/roles_controller.rb', line 10

def index
  role = @exhibit.roles.build
  authorize! :edit, role

  add_breadcrumb t(:'spotlight.exhibits.breadcrumb', title: @exhibit.title), @exhibit
  add_breadcrumb t(:'spotlight.configuration.sidebar.header'), exhibit_dashboard_path(@exhibit)
  add_breadcrumb t(:'spotlight.configuration.sidebar.users'), exhibit_roles_path(@exhibit)
end

#update_allObject



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

def update_all
  authorize_nested_attributes! exhibit_params[:roles_attributes], Role

  if @exhibit.update(exhibit_params)
    notice = any_deleted ? t(:'helpers.submit.role.destroyed') : t(:'helpers.submit.role.updated')
    Spotlight::InviteUsersService.call(resource: @exhibit)
    redirect_to exhibit_roles_path(@exhibit), notice: notice
  else
    flash[:alert] = t(:'helpers.submit.role.batch_error', count: exhibit_params[:roles_attributes].to_unsafe_h.size)
    render action: 'index'
  end
end