Sha256: e36e7a43f24970d33ca214bc0cc45788244577f2817af37bbef777d56a78a15e

Contents?: true

Size: 1.59 KB

Versions: 8

Compression:

Stored size: 1.59 KB

Contents

# frozen_string_literal: true

module Decidim
  module Elections
    class Menu
      def self.register_user_menu!
        Decidim.menu :user_menu do |menu|
          menu.add_item :decidim_elections_trustee_zone,
                        I18n.t("menu.trustee_zone", scope: "decidim.elections.trustee_zone"),
                        decidim.decidim_elections_trustee_zone_path,
                        active: :inclusive,
                        if: Decidim::Elections::Trustee.trustee?(current_user)
        end
      end

      def self.register_participatory_space_registry_manifests!
        Decidim.participatory_space_registry.manifests.each do |participatory_space|
          menu_id = :"admin_#{participatory_space.name.to_s.singularize}_menu"
          Decidim.menu menu_id do |menu|
            component = current_participatory_space.try(:components)&.find_by(manifest_name: :elections)
            next unless component

            link = Decidim::EngineRouter.admin_proxy(component).trustees_path(locale: I18n.locale)

            has_election_components = current_participatory_space.components.select { |c| c.manifest_name == "elections" }.any?

            menu.add_item :trustees,
                          I18n.t("trustees", scope: "decidim.elections.admin.menu"),
                          link,
                          if: has_election_components && (allowed_to?(:manage, :trustees) || current_user.admin?),
                          icon_name: "safe-line",
                          position: 100,
                          active: is_active_link?(link)
          end
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
decidim-elections-0.28.5 lib/decidim/elections/menu.rb
decidim-elections-0.28.4 lib/decidim/elections/menu.rb
decidim-elections-0.28.3 lib/decidim/elections/menu.rb
decidim-elections-0.28.2 lib/decidim/elections/menu.rb
decidim-elections-0.28.1 lib/decidim/elections/menu.rb
decidim-elections-0.28.0 lib/decidim/elections/menu.rb
decidim-elections-0.28.0.rc5 lib/decidim/elections/menu.rb
decidim-elections-0.28.0.rc4 lib/decidim/elections/menu.rb