Module: Decidim::Proposals::Admin::ProposalsHelper
- Includes:
- TranslatableAttributes
- Defined in:
- decidim-proposals/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
#attachment?, #default_locale?
Instance Method Details
#available_states ⇒ Object
12
13
14
15
16
17
18
19
|
# File 'decidim-proposals/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 'decidim-proposals/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
|
#endorsers_presenters_for(proposal) ⇒ Object
39
40
41
|
# File 'decidim-proposals/app/helpers/decidim/proposals/admin/proposals_helper.rb', line 39
def endorsers_presenters_for(proposal)
proposal.endorsements.for_listing.map { |identity| present(identity.author) }
end
|
#icon_with_link_to_proposal(proposal) ⇒ Object
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
# File 'decidim-proposals/app/helpers/decidim/proposals/admin/proposals_helper.rb', line 50
def icon_with_link_to_proposal(proposal)
icon, tooltip = if allowed_to?(:create, :proposal_answer, proposal:) && !proposal.emendation?
[
"question-answer-line",
t(:answer_proposal, scope: "decidim.proposals.actions")
]
else
[
"information-line",
t(:show, scope: "decidim.proposals.actions")
]
end
icon_link_to(icon, proposal_path(proposal), tooltip, class: "icon--small action-icon--show-proposal")
end
|
#meetings_as_authors_selected ⇒ Object
Public: A formatted collection of Meetings to be used in forms.
23
24
25
26
27
|
# File 'decidim-proposals/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 'decidim-proposals/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
|