Sha256: 6d988e95cbd41c4442077a845cb5430b403a1f978aefc3930252be43cf1ae1f3

Contents?: true

Size: 1.62 KB

Versions: 12

Compression:

Stored size: 1.62 KB

Contents

# frozen_string_literal: true

require "active_support/concern"

module Decidim
  module Conferences
    module Admin
      module Concerns
        # This concern is meant to be included in all controllers that are scoped
        # into a conference's admin panel. It will override the layout so it shows
        # the sidebar, preload the conference, etc.
        module ConferenceAdmin
          extend ActiveSupport::Concern

          RegistersPermissions
            .register_permissions(::Decidim::Conferences::Admin::Concerns::ConferenceAdmin,
                                  ::Decidim::Conferences::Permissions,
                                  ::Decidim::Admin::Permissions)

          included do
            include Decidim::Admin::ParticipatorySpaceAdminContext
            helper_method :current_conference
            add_breadcrumb_item_from_menu :conferences_admin_menu

            participatory_space_admin_layout

            def current_conference
              @current_conference ||= organization_conferences.find_by!(
                slug: params[:conference_slug] || params[:slug]
              )
            end

            alias_method :current_participatory_space, :current_conference

            def organization_conferences
              @organization_conferences ||= OrganizationConferences.new(current_organization).query
            end

            def permissions_context
              super.merge(current_participatory_space:)
            end

            def permission_class_chain
              PermissionsRegistry.chain_for(ConferenceAdmin)
            end
          end
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
decidim-conferences-0.29.2 app/controllers/decidim/conferences/admin/concerns/conference_admin.rb
decidim-conferences-0.28.5 app/controllers/decidim/conferences/admin/concerns/conference_admin.rb
decidim-conferences-0.29.1 app/controllers/decidim/conferences/admin/concerns/conference_admin.rb
decidim-conferences-0.28.4 app/controllers/decidim/conferences/admin/concerns/conference_admin.rb
decidim-conferences-0.29.0 app/controllers/decidim/conferences/admin/concerns/conference_admin.rb
decidim-conferences-0.28.3 app/controllers/decidim/conferences/admin/concerns/conference_admin.rb
decidim-conferences-0.29.0.rc4 app/controllers/decidim/conferences/admin/concerns/conference_admin.rb
decidim-conferences-0.29.0.rc3 app/controllers/decidim/conferences/admin/concerns/conference_admin.rb
decidim-conferences-0.29.0.rc2 app/controllers/decidim/conferences/admin/concerns/conference_admin.rb
decidim-conferences-0.29.0.rc1 app/controllers/decidim/conferences/admin/concerns/conference_admin.rb
decidim-conferences-0.28.2 app/controllers/decidim/conferences/admin/concerns/conference_admin.rb
decidim-conferences-0.28.1 app/controllers/decidim/conferences/admin/concerns/conference_admin.rb