Sha256: d24ef2a787c1138a69bb3c4423209c418c284e7ecda2775a4b7f576b02bba69d

Contents?: true

Size: 1.5 KB

Versions: 7

Compression:

Stored size: 1.5 KB

Contents

# frozen_string_literal: true

module Spotlight
  ##
  # Edit and update an exhibit's appearance
  class AppearancesController < Spotlight::ApplicationController
    before_action :authenticate_user!
    load_and_authorize_resource id_param: :exhibit_id, instance_name: 'exhibit', class: 'Spotlight::Exhibit', parent: false

    def update
      if @exhibit.update(exhibit_params)
        notice = t(:'helpers.submit.spotlight_default.updated', model: @exhibit.class.model_name.human.downcase)
        redirect_to edit_exhibit_appearance_path(@exhibit), notice: notice
      else
        render 'edit'
      end
    end

    def edit
      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.appearance'), edit_exhibit_appearance_path(@exhibit)
    end

    protected

    def exhibit_params
      params.require(:exhibit).permit(:theme,
                                      main_navigations_attributes: %i[id display label weight],
                                      masthead_attributes: featured_image_params,
                                      thumbnail_attributes: featured_image_params)
    end

    def featured_image_params
      %i[
        iiif_region iiif_tilesource
        iiif_manifest_url iiif_canvas_id
        iiif_image_id
        display
        source
        image
        document_global_id
      ]
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
blacklight-spotlight-3.0.0.alpha.9 app/controllers/spotlight/appearances_controller.rb
blacklight-spotlight-3.0.0.alpha.8 app/controllers/spotlight/appearances_controller.rb
blacklight-spotlight-3.0.0.alpha.7 app/controllers/spotlight/appearances_controller.rb
blacklight-spotlight-3.0.0.alpha.6 app/controllers/spotlight/appearances_controller.rb
blacklight-spotlight-3.0.0.alpha.5 app/controllers/spotlight/appearances_controller.rb
blacklight-spotlight-3.0.0.alpha.4 app/controllers/spotlight/appearances_controller.rb
blacklight-spotlight-3.0.0.alpha.3 app/controllers/spotlight/appearances_controller.rb