Sha256: 0a82c8085973c216b471796f3a8dca7df4e94362906dc68532ad6833cd4abf5c

Contents?: true

Size: 1.38 KB

Versions: 7

Compression:

Stored size: 1.38 KB

Contents

# frozen_string_literal: true

module Decidim
  module Assemblies
    # Helpers related to the Assemblies filter by type.
    #
    # `filter` returns a Filter object from Decidim::FilterResource
    module FilterAssembliesHelper
      def available_filters
        return if organization_assembly_types.blank?

        [t("all", scope: "decidim.assemblies.filter")] + organization_assembly_types
      end

      def filter_link(type_id)
        Decidim::Assemblies::Engine
          .routes
          .url_helpers
          .assemblies_path(
            filter: {
              with_scope: filter.with_scope,
              with_area: filter.with_area,
              type_id_eq: type_id
            }
          )
      end

      def help_text
        t("help", scope: "decidim.assemblies.filter")
      end

      def current_filter_name
        type = AssembliesType.find_by(id: filter_params[:type_id_eq])
        return translated_attribute type.title if type

        t("all", scope: "decidim.assemblies.filter")
      end

      def organization_assembly_types
        @organization_assembly_types ||= AssembliesType.where(organization: current_organization).joins(:assemblies).where(
          decidim_assemblies: { id: search.result.unscope(where: :decidim_assemblies_type_id).parent_assemblies }
        ).distinct&.map { |type| [translated_attribute(type.title), type.id] }
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
decidim-assemblies-0.27.4 app/helpers/decidim/assemblies/filter_assemblies_helper.rb
decidim-assemblies-0.27.3 app/helpers/decidim/assemblies/filter_assemblies_helper.rb
decidim-assemblies-0.27.2 app/helpers/decidim/assemblies/filter_assemblies_helper.rb
decidim-assemblies-0.27.1 app/helpers/decidim/assemblies/filter_assemblies_helper.rb
decidim-assemblies-0.27.0 app/helpers/decidim/assemblies/filter_assemblies_helper.rb
decidim-assemblies-0.27.0.rc2 app/helpers/decidim/assemblies/filter_assemblies_helper.rb
decidim-assemblies-0.27.0.rc1 app/helpers/decidim/assemblies/filter_assemblies_helper.rb