Module: Decidim::Proposals::Admin::ProposalsHelper

Includes:
TranslatableAttributes
Defined in:
app/helpers/decidim/proposals/admin/proposals_helper.rb

Overview

This class contains helpers needed to format Meetings in order to use them in select forms for Proposals.

Instance Method Summary collapse

Instance Method Details

#available_statesObject



12
13
14
15
16
17
18
19
# File 'app/helpers/decidim/proposals/admin/proposals_helper.rb', line 12

def available_states
  [
    Decidim::Proposals::ProposalState.where(component: current_component).new(
      token: "not_answered",
      title: t("decidim.proposals.answers.not_answered")
    )
  ] + Decidim::Proposals::ProposalState.where(component: current_component).all
end

#coauthor_presenters_for(proposal) ⇒ Object



29
30
31
32
33
34
35
36
37
# File 'app/helpers/decidim/proposals/admin/proposals_helper.rb', line 29

def coauthor_presenters_for(proposal)
  proposal.authors.map do |identity|
    if identity.is_a?(Decidim::Organization)
      Decidim::Proposals::OfficialAuthorPresenter.new
    else
      present(identity)
    end
  end
end

#likes_presenters_for(proposal) ⇒ Object



39
40
41
# File 'app/helpers/decidim/proposals/admin/proposals_helper.rb', line 39

def likes_presenters_for(proposal)
  proposal.likes.for_listing.map { |identity| present(identity.author) }
end

#meetings_as_authors_selectedObject

Public: A formatted collection of Meetings to be used in forms.



23
24
25
26
27
# File 'app/helpers/decidim/proposals/admin/proposals_helper.rb', line 23

def meetings_as_authors_selected
  return unless @proposal.present? && @proposal.official_meeting?

  @meetings_as_authors_selected ||= @proposal.authors.pluck(:id)
end

#proposal_complete_state(proposal) ⇒ Object



43
44
45
46
47
48
# File 'app/helpers/decidim/proposals/admin/proposals_helper.rb', line 43

def proposal_complete_state(proposal)
  return humanize_proposal_state(:withdrawn).html_safe if proposal.withdrawn?
  return humanize_proposal_state("not_answered").html_safe if proposal.proposal_state.nil?

  translated_attribute(proposal&.proposal_state&.title)
end