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