Module: Decidim::Proposals::ProposalCellsHelper

Includes:
ApplicationHelper, CardHelper, LayoutHelper, ApplicationHelper, ResourceReferenceHelper, TranslatableAttributes, TranslationsHelper
Included in:
CostReportCell, HighlightedProposalsCell, ParticipatoryTextProposalCell, ProposalCell
Defined in:
app/helpers/decidim/proposals/proposal_cells_helper.rb

Overview

Custom helpers, scoped to the proposals engine.

Instance Method Summary collapse

Methods included from ApplicationHelper

#activity_filter_values, #collaborative_draft_state_badge_css_class, #component_name, #filter_origin_values, #filter_proposals_state_values, #filter_sections, #filter_type_values, #humanize_collaborative_draft_state, #humanize_proposal_state, #minimum_votes_per_user_enabled?, #not_from_collaborative_draft, #not_from_participatory_text, #proposal_limit, #proposal_limit_enabled?, #proposal_state_css_class, #proposal_state_css_style, #render_proposal_body, #safe_content?, #safe_content_admin?, #show_voting_rules?, #text_editor_for_proposal_body, #votes_given

Methods included from ControlVersionHelper

#item_name

Methods included from CollaborativeDraftHelper

#accept_request_button_label, #collaborative_drafts_filter_sections, #collaborative_drafts_state_class, #filter_collaborative_drafts_state_values, #humanize_collaborative_draft_state, #reject_request_button_label

Methods included from MapHelper

#has_position?, #proposal_data_for_map, #proposal_preview_data_for_map, #proposals_data_for_map

Methods included from ProposalVotesHelper

#can_accumulate_votes_beyond_threshold?, #current_user_can_vote?, #remaining_votes_count_for, #threshold_per_proposal, #threshold_per_proposal_enabled?, #vote_limit, #vote_limit_enabled?, #votes_blocked?, #votes_enabled?

Instance Method Details

#badge_nameObject



55
56
57
58
59
# File 'app/helpers/decidim/proposals/proposal_cells_helper.rb', line 55

def badge_name
  return humanize_proposal_state(:withdrawn) if withdrawn?

  humanize_proposal_state state
end

#component_settingsObject



43
44
45
# File 'app/helpers/decidim/proposals/proposal_cells_helper.rb', line 43

def component_settings
  model.component.settings
end

#current_componentObject



47
48
49
# File 'app/helpers/decidim/proposals/proposal_cells_helper.rb', line 47

def current_component
  model.component
end

#current_settingsObject



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

def current_settings
  model.component.current_settings
end

#from_contextObject



51
52
53
# File 'app/helpers/decidim/proposals/proposal_cells_helper.rb', line 51

def from_context
  @options[:from]
end

#has_actions?Boolean

Returns:

  • (Boolean)


19
20
21
22
23
# File 'app/helpers/decidim/proposals/proposal_cells_helper.rb', line 19

def has_actions?
  return context[:has_actions] if context[:has_actions].present?

  proposals_controller? && index_action? && current_settings.votes_enabled? && !model.draft?
end

#has_footer?Boolean

Returns:

  • (Boolean)


25
26
27
28
29
# File 'app/helpers/decidim/proposals/proposal_cells_helper.rb', line 25

def has_footer?
  return context[:has_footer] if context[:has_footer].present?

  proposals_controller? && index_action? && current_settings.votes_enabled? && !model.draft?
end

#index_action?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'app/helpers/decidim/proposals/proposal_cells_helper.rb', line 35

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

#proposals_controller?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'app/helpers/decidim/proposals/proposal_cells_helper.rb', line 31

def proposals_controller?
  context[:controller].instance_of?(::Decidim::Proposals::ProposalsController)
end

#state_classesObject



61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'app/helpers/decidim/proposals/proposal_cells_helper.rb', line 61

def state_classes
  return ["alert"] if withdrawn?

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