Sha256: 9642faa4c4e1ea9714e706acb676dca3e492a72c142050fe2c7bd5fe472e4e72

Contents?: true

Size: 1.83 KB

Versions: 7

Compression:

Stored size: 1.83 KB

Contents

# frozen_string_literal: true

module Decidim
  module Proposals
    # Custom helpers, scoped to the proposals engine.
    #
    module ProposalCellsHelper
      include Decidim::Proposals::ApplicationHelper
      include Decidim::Proposals::Engine.routes.url_helpers
      include Decidim::LayoutHelper
      include Decidim::ApplicationHelper
      include Decidim::TranslationsHelper
      include Decidim::ResourceReferenceHelper
      include Decidim::TranslatableAttributes
      include Decidim::CardHelper

      delegate :title, :state, :answered?, :withdrawn?, :amendable?, :emendation?, to: :model

      def has_actions?
        return context[:has_actions] if context[:has_actions].present?
        proposals_controller? && index_action? && current_settings.votes_enabled? && !model.draft?
      end

      def has_footer?
        return context[:has_footer] if context[:has_footer].present?
        proposals_controller? && index_action? && current_settings.votes_enabled? && !model.draft?
      end

      def proposals_controller?
        context[:controller].class.to_s == "Decidim::Proposals::ProposalsController"
      end

      def index_action?
        context[:controller].action_name == "index"
      end

      def current_settings
        model.component.current_settings
      end

      def component_settings
        model.component.settings
      end

      def current_component
        model.component
      end

      def from_context
        @options[:from]
      end

      def badge_name
        humanize_proposal_state state
      end

      def state_classes
        case state
        when "accepted"
          ["success"]
        when "rejected"
          ["alert"]
        when "evaluating"
          ["warning"]
        when "withdrawn"
          ["alert"]
        else
          ["muted"]
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
decidim-proposals-0.18.1 app/helpers/decidim/proposals/proposal_cells_helper.rb
decidim-proposals-0.17.2 app/helpers/decidim/proposals/proposal_cells_helper.rb
decidim-proposals-0.18.0 app/helpers/decidim/proposals/proposal_cells_helper.rb
decidim-proposals-0.17.1 app/helpers/decidim/proposals/proposal_cells_helper.rb
decidim-proposals-0.16.1 app/helpers/decidim/proposals/proposal_cells_helper.rb
decidim-proposals-0.17.0 app/helpers/decidim/proposals/proposal_cells_helper.rb
decidim-proposals-0.16.0 app/helpers/decidim/proposals/proposal_cells_helper.rb