Sha256: 1b61db42109e9d6d6e2224ad3cf148315920d42eb3031acc69ba4a342b3db18f

Contents?: true

Size: 1.55 KB

Versions: 8

Compression:

Stored size: 1.55 KB

Contents

# frozen_string_literal: true

module Decidim
  module Elections
    module TrusteeZone
      # This controller is the abstract class from which all trustee_zone
      # controllers in their public engines should inherit from.

      class ApplicationController < ::Decidim::ApplicationController
        include Decidim::UserProfile
        include Decidim::Elections::ContentSecurityPolicy

        helper_method :trustee

        before_action :ensure_configured_bulletin_board!

        register_permissions(::Decidim::Elections::TrusteeZone::ApplicationController,
                             ::Decidim::Elections::Permissions,
                             ::Decidim::Admin::Permissions,
                             ::Decidim::Permissions)

        private

        def ensure_configured_bulletin_board!
          return if Decidim::Elections.bulletin_board.configured?

          announcement = {
            title: "<strong>#{t("no_bulletin_board.title", scope: "decidim.elections.trustee_zone")}</strong>",
            body: t("no_bulletin_board.body", scope: "decidim.elections.trustee_zone")
          }
          render html: cell("decidim/announcement", announcement, callout_class: "alert"), layout: true
        end

        def trustee
          @trustee ||= Decidim::Elections::Trustee.for(current_user)
        end

        def permission_scope
          :trustee_zone
        end

        def permission_class_chain
          ::Decidim.permissions_registry.chain_for(::Decidim::Elections::TrusteeZone::ApplicationController)
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
decidim-elections-0.28.5 app/controllers/decidim/elections/trustee_zone/application_controller.rb
decidim-elections-0.28.4 app/controllers/decidim/elections/trustee_zone/application_controller.rb
decidim-elections-0.28.3 app/controllers/decidim/elections/trustee_zone/application_controller.rb
decidim-elections-0.28.2 app/controllers/decidim/elections/trustee_zone/application_controller.rb
decidim-elections-0.28.1 app/controllers/decidim/elections/trustee_zone/application_controller.rb
decidim-elections-0.28.0 app/controllers/decidim/elections/trustee_zone/application_controller.rb
decidim-elections-0.28.0.rc5 app/controllers/decidim/elections/trustee_zone/application_controller.rb
decidim-elections-0.28.0.rc4 app/controllers/decidim/elections/trustee_zone/application_controller.rb