Sha256: f6f4a0fd43a8f292e308ebf37618f2514c0765980dd4c8f55d44c9bd10a20016

Contents?: true

Size: 1.52 KB

Versions: 11

Compression:

Stored size: 1.52 KB

Contents

module CamaleonCms
  module Admin
    module Appearances
      module Widgets
        class AssignController < CamaleonCms::AdminController
          before_action :check_permission_role
          before_action :find_sidebar
          before_action :find_assigned_sidebar, only: %i[update destroy]

          def new
            @widget = current_site.widgets.find(params[:widget_id])
            @assigned = @sidebar.assigned.create!({ title: 'Default', widget_id: @widget.id })
            render partial: 'form', locals: { assigned: @assigned, widget: @widget, sidebar: @sidebar },
                   layout: 'camaleon_cms/admin/ajax'
          end

          def update
            if @assigned.update(params.require(:assign).permit!)
              @assigned.set_field_values(params[:field_options])
              flash[:notice] = t('camaleon_cms.admin.widgets.assign.updated')
            else
              flash[:error] = t('camaleon_cms.admin.widgets.assign.error_updated')
            end
            redirect_to cama_admin_appearances_widgets_main_index_path
          end

          def destroy
            @assigned.destroy
            render plain: ''
          end

          private

          def find_sidebar
            @sidebar = current_site.sidebars.find(params[:sidebar_id])
          end

          def find_assigned_sidebar
            @assigned = @sidebar.assigned.find(params[:id])
          end

          def check_permission_role
            authorize! :manage, :widgets
          end
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
camaleon_cms-2.9.0 app/controllers/camaleon_cms/admin/appearances/widgets/assign_controller.rb
camaleon_cms-2.8.3 app/controllers/camaleon_cms/admin/appearances/widgets/assign_controller.rb
camaleon_cms-2.8.2 app/controllers/camaleon_cms/admin/appearances/widgets/assign_controller.rb
camaleon_cms-2.8.1 app/controllers/camaleon_cms/admin/appearances/widgets/assign_controller.rb
camaleon_cms-2.8.0 app/controllers/camaleon_cms/admin/appearances/widgets/assign_controller.rb
camaleon_cms-2.7.5 app/controllers/camaleon_cms/admin/appearances/widgets/assign_controller.rb
camaleon_cms-2.7.4 app/controllers/camaleon_cms/admin/appearances/widgets/assign_controller.rb
camaleon_cms-2.7.3 app/controllers/camaleon_cms/admin/appearances/widgets/assign_controller.rb
camaleon_cms-2.7.2 app/controllers/camaleon_cms/admin/appearances/widgets/assign_controller.rb
camaleon_cms-2.7.1 app/controllers/camaleon_cms/admin/appearances/widgets/assign_controller.rb
camaleon_cms-2.7.0 app/controllers/camaleon_cms/admin/appearances/widgets/assign_controller.rb