Module: Decidim::Sortitions::SortitionsHelper
- Includes:
- Decidim::SanitizeHelper, TranslationsHelper
- Included in:
- SortitionMetadataCell
- Defined in:
- decidim-sortitions/app/helpers/decidim/sortitions/sortitions_helper.rb
Instance Method Summary collapse
- #component_name ⇒ Object
- #filter_sections_sortitions ⇒ Object
- #filter_state_values ⇒ Object
- #proposal_path(proposal) ⇒ Object
-
#sortition_proposal_candidate_ids(sortition) ⇒ Object
Show list of candidate proposals for a sortition.
-
#sortition_taxonomy_labels(sortition) ⇒ Object
Generates the sortition taxonomy labels.
Methods included from TranslationsHelper
empty_translatable, ensure_translatable, multi_translation, translated_in_current_locale?
Methods included from TranslatableAttributes
#attachment?, #default_locale?
Methods included from Decidim::SanitizeHelper
#decidim_escape_translated, #decidim_html_escape, #decidim_rich_text, #decidim_sanitize, #decidim_sanitize_admin, #decidim_sanitize_editor, #decidim_sanitize_editor_admin, #decidim_sanitize_newsletter, #decidim_sanitize_translated, #decidim_url_escape, included
Instance Method Details
#component_name ⇒ Object
13 14 15 |
# File 'decidim-sortitions/app/helpers/decidim/sortitions/sortitions_helper.rb', line 13 def component_name (defined?(current_component) && translated_attribute(current_component&.name).presence) || t("decidim.components.sortitions.name") end |
#filter_sections_sortitions ⇒ Object
41 42 43 44 45 46 47 48 49 50 |
# File 'decidim-sortitions/app/helpers/decidim/sortitions/sortitions_helper.rb', line 41 def filter_sections_sortitions sections = [{ method: :with_any_state, collection: filter_state_values, label: t("decidim.sortitions.sortitions.filters.state"), id: "state" }] current_component.available_taxonomy_filters.each do |taxonomy_filter| sections.append(method: "with_any_taxonomies[#{taxonomy_filter.root_taxonomy_id}]", collection: filter_taxonomy_values_for(taxonomy_filter), label: decidim_sanitize_translated(taxonomy_filter.name), id: "taxonomy-#{taxonomy_filter.root_taxonomy_id}") end sections.reject { |item| item[:collection].blank? } end |
#filter_state_values ⇒ Object
52 53 54 55 56 57 58 |
# File 'decidim-sortitions/app/helpers/decidim/sortitions/sortitions_helper.rb', line 52 def filter_state_values [ ["all", t("all", scope: "decidim.sortitions.sortitions.filters")], ["active", t("active", scope: "decidim.sortitions.sortitions.filters")], ["cancelled", t("cancelled", scope: "decidim.sortitions.sortitions.filters")] ] end |
#proposal_path(proposal) ⇒ Object
9 10 11 |
# File 'decidim-sortitions/app/helpers/decidim/sortitions/sortitions_helper.rb', line 9 def proposal_path(proposal) EngineRouter.main_proxy(proposal.component).proposal_path(proposal) end |
#sortition_proposal_candidate_ids(sortition) ⇒ Object
Show list of candidate proposals for a sortition. Selected sortition ids will appear with bold font.
29 30 31 32 33 34 35 36 37 38 39 |
# File 'decidim-sortitions/app/helpers/decidim/sortitions/sortitions_helper.rb', line 29 def sortition_proposal_candidate_ids(sortition) result = sortition.candidate_proposals.map do |proposal_id| if sortition.selected_proposals.include? proposal_id "<b>#{proposal_id}</b>" else proposal_id.to_s end end result.join(" - ").html_safe end |
#sortition_taxonomy_labels(sortition) ⇒ Object
Generates the sortition taxonomy labels
18 19 20 21 22 23 24 25 26 |
# File 'decidim-sortitions/app/helpers/decidim/sortitions/sortitions_helper.rb', line 18 def sortition_taxonomy_labels(sortition) if sortition.taxonomies.present? return I18n.t("show.taxonomies", scope: "decidim.sortitions.sortitions", taxonomies: sortition.taxonomies.map { |taxonomy| decidim_sanitize_translated(taxonomy.name) }.join(", ")) end I18n.t("show.any_taxonomy", scope: "decidim.sortitions.sortitions") end |