Sha256: 2507d69ff240cc766235b443c37fdf6902cd7ab631f0f74eca81d8c967ce669c

Contents?: true

Size: 1.74 KB

Versions: 6

Compression:

Stored size: 1.74 KB

Contents

# frozen_string_literal: true

module Decidim
  module Assemblies
    # This cell renders the Medium (:m) assembyl card
    # for an given instance of an Assembly
    class AssemblyMCell < Decidim::CardMCell
      include Decidim::ViewHooksHelper

      # Needed for the view hooks
      def current_participatory_space
        model
      end

      private

      def has_image?
        true
      end

      def has_children?
        model.children.any?
      end

      def resource_path
        Decidim::Assemblies::Engine.routes.url_helpers.assembly_path(model)
      end

      def resource_image_path
        model.hero_image.url
      end

      def statuses
        return super unless has_children?

        [:creation_date, :follow, :children_count]
      end

      def creation_date_status
        l(model.creation_date, format: :decidim_short) if model.creation_date
      end

      def children_count_status
        # rubocop: disable Style/StringConcatenation
        content_tag(
          :strong,
          t("layouts.decidim.assemblies.index.children")
        ) + " " + children_assemblies_visible_for_user
        # rubocop: enable Style/StringConcatenation
      end

      def children_assemblies_visible_for_user
        assemblies = model.children.published

        if current_user
          return assemblies.count.to_s if current_user.admin

          assemblies.visible_for(current_user).count.to_s
        else
          assemblies.public_spaces.count.to_s
        end
      end

      def resource_icon
        icon "assemblies", class: "icon--big"
      end

      def has_assembly_type?
        model.assembly_type.present?
      end

      def assembly_type
        translated_attribute model.assembly_type.title
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
decidim-assemblies-0.24.3 app/cells/decidim/assemblies/assembly_m_cell.rb
decidim-assemblies-0.24.2 app/cells/decidim/assemblies/assembly_m_cell.rb
decidim-assemblies-0.24.1 app/cells/decidim/assemblies/assembly_m_cell.rb
decidim-assemblies-0.24.0 app/cells/decidim/assemblies/assembly_m_cell.rb
decidim-assemblies-0.24.0.rc2 app/cells/decidim/assemblies/assembly_m_cell.rb
decidim-assemblies-0.24.0.rc1 app/cells/decidim/assemblies/assembly_m_cell.rb