Sha256: f191fd8353ba4b92ac4db60446f74eff4b75359b89dd79a6da639c639882e345

Contents?: true

Size: 1.81 KB

Versions: 8

Compression:

Stored size: 1.81 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, :published_state?, :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].instance_of?(::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", "withdrawn"
          ["alert"]
        when "evaluating"
          ["warning"]
        else
          ["muted"]
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
decidim-proposals-0.28.5 app/helpers/decidim/proposals/proposal_cells_helper.rb
decidim-proposals-0.28.4 app/helpers/decidim/proposals/proposal_cells_helper.rb
decidim-proposals-0.28.3 app/helpers/decidim/proposals/proposal_cells_helper.rb
decidim-proposals-0.28.2 app/helpers/decidim/proposals/proposal_cells_helper.rb
decidim-proposals-0.28.1 app/helpers/decidim/proposals/proposal_cells_helper.rb
decidim-proposals-0.28.0 app/helpers/decidim/proposals/proposal_cells_helper.rb
decidim-proposals-0.28.0.rc5 app/helpers/decidim/proposals/proposal_cells_helper.rb
decidim-proposals-0.28.0.rc4 app/helpers/decidim/proposals/proposal_cells_helper.rb