Sha256: c404ce62f12ca025bffb1d7518b4fa986bb78c2a564a0ad95b63e9a5b9f76c73

Contents?: true

Size: 1.48 KB

Versions: 15

Compression:

Stored size: 1.48 KB

Contents

# frozen_string_literal: true

module Decidim
  module Assemblies
    module ContentBlocks
      class MainDataCell < Decidim::ContentBlocks::ParticipatorySpaceMainDataCell
        include AssembliesHelper
        include Decidim::ComponentPathHelper
        include ActiveLinkTo

        EXTRA_ATTRIBUTES = %w(purpose_of_action internal_organisation composition).freeze

        delegate :short_description, :description, to: :resource
        delegate(*EXTRA_ATTRIBUTES, to: :resource)

        private

        def decidim_assemblies
          Decidim::Assemblies::Engine.routes.url_helpers
        end

        def title_text
          t("title", scope: "decidim.assemblies.assemblies.show")
        end

        def short_description_text
          decidim_sanitize_editor_admin translated_attribute(short_description)
        end

        def description_text
          [decidim_sanitize_editor_admin(translated_attribute(description)), extra_attributes].compact_blank.join("\n")
        end

        def extra_attributes
          EXTRA_ATTRIBUTES.filter_map do |attribute|
            text = translated_attribute(send(attribute))
            next if text.blank? || text == "<p></p>"

            [
              content_tag(:h3, class: "h4") { t(attribute, scope: "activemodel.attributes.assembly") },
              decidim_sanitize_editor_admin(text)
            ].join("\n")
          end
        end

        def nav_items
          assembly_nav_items(resource)
        end
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
decidim-assemblies-0.29.2 app/cells/decidim/assemblies/content_blocks/main_data_cell.rb
decidim-assemblies-0.28.5 app/cells/decidim/assemblies/content_blocks/main_data_cell.rb
decidim-assemblies-0.29.1 app/cells/decidim/assemblies/content_blocks/main_data_cell.rb
decidim-assemblies-0.28.4 app/cells/decidim/assemblies/content_blocks/main_data_cell.rb
decidim-assemblies-0.29.0 app/cells/decidim/assemblies/content_blocks/main_data_cell.rb
decidim-assemblies-0.28.3 app/cells/decidim/assemblies/content_blocks/main_data_cell.rb
decidim-assemblies-0.29.0.rc4 app/cells/decidim/assemblies/content_blocks/main_data_cell.rb
decidim-assemblies-0.29.0.rc3 app/cells/decidim/assemblies/content_blocks/main_data_cell.rb
decidim-assemblies-0.29.0.rc2 app/cells/decidim/assemblies/content_blocks/main_data_cell.rb
decidim-assemblies-0.29.0.rc1 app/cells/decidim/assemblies/content_blocks/main_data_cell.rb
decidim-assemblies-0.28.2 app/cells/decidim/assemblies/content_blocks/main_data_cell.rb
decidim-assemblies-0.28.1 app/cells/decidim/assemblies/content_blocks/main_data_cell.rb
decidim-assemblies-0.28.0 app/cells/decidim/assemblies/content_blocks/main_data_cell.rb
decidim-assemblies-0.28.0.rc5 app/cells/decidim/assemblies/content_blocks/main_data_cell.rb
decidim-assemblies-0.28.0.rc4 app/cells/decidim/assemblies/content_blocks/main_data_cell.rb