app/helpers/decidim/proposals/application_helper.rb in decidim-proposals-0.15.2 vs app/helpers/decidim/proposals/application_helper.rb in decidim-proposals-0.16.0
- old
+ new
@@ -10,10 +10,11 @@
include ProposalVotesHelper
include ProposalEndorsementsHelper
include Decidim::MapHelper
include Decidim::Proposals::MapHelper
include CollaborativeDraftHelper
+ include ControlVersionHelper
delegate :minimum_votes_per_user, to: :component_settings
# Public: The state of a proposal in a way a human can understand.
#
@@ -34,13 +35,15 @@
when "accepted"
"text-success"
when "rejected"
"text-alert"
when "evaluating"
- "text-info"
- else
"text-warning"
+ when "withdrawn"
+ "text-alert"
+ else
+ "text-info"
end
end
# Public: The state of a proposal in a way a human can understand.
#
@@ -90,22 +93,22 @@
def current_user_proposals
Proposal.where(component: current_component, author: current_user)
end
- def follow_button_for(model)
- if current_user
- render partial: "decidim/shared/follow_button.html", locals: { followable: model }
- else
- content_tag(:p, class: "mt-s mb-none") do
- t("decidim.proposals.proposals.show.sign_in_or_up",
- in: link_to(t("decidim.proposals.proposals.show.sign_in"), decidim.new_user_session_path),
- up: link_to(t("decidim.proposals.proposals.show.sign_up"), decidim.new_user_registration_path)).html_safe
- end
- end
+ def follow_button_for(model, large = nil)
+ render partial: "decidim/shared/follow_button.html", locals: { followable: model, large: large }
end
+ def votes_count_for(model, from_proposals_list)
+ render partial: "decidim/proposals/proposals/participatory_texts/proposal_votes_count.html", locals: { proposal: model, from_proposals_list: from_proposals_list }
+ end
+
+ def vote_button_for(model, from_proposals_list)
+ render partial: "decidim/proposals/proposals/participatory_texts/proposal_vote_button.html", locals: { proposal: model, from_proposals_list: from_proposals_list }
+ end
+
def endorsers_for(proposal)
proposal.endorsements.for_listing.map { |identity| present(identity.normalized_author) }
end
def form_has_address?
@@ -122,9 +125,42 @@
return true if vote_limit_enabled?
return true if threshold_per_proposal_enabled?
return true if proposal_limit_enabled?
return true if can_accumulate_supports_beyond_threshold?
return true if minimum_votes_per_user_enabled?
+ end
+
+ def filter_origin_values
+ base = if component_settings.official_proposals_enabled
+ [
+ ["all", t("decidim.proposals.application_helper.filter_origin_values.all")],
+ ["official", t("decidim.proposals.application_helper.filter_origin_values.official")]
+ ]
+ else
+ [["all", t("decidim.proposals.application_helper.filter_origin_values.all")]]
+ end
+
+ base += [["citizens", t("decidim.proposals.application_helper.filter_origin_values.citizens")]]
+ base += [["user_group", t("decidim.proposals.application_helper.filter_origin_values.user_groups")]] if current_organization.user_groups_enabled?
+ base + [["meeting", t("decidim.proposals.application_helper.filter_origin_values.meetings")]]
+ end
+
+ def filter_state_values
+ [
+ ["except_rejected", t("decidim.proposals.application_helper.filter_state_values.except_rejected")],
+ ["accepted", t("decidim.proposals.application_helper.filter_state_values.accepted")],
+ ["evaluating", t("decidim.proposals.application_helper.filter_state_values.evaluating")],
+ ["rejected", t("decidim.proposals.application_helper.filter_state_values.rejected")],
+ ["all", t("decidim.proposals.application_helper.filter_state_values.all")]
+ ]
+ end
+
+ def filter_type_values
+ [
+ ["all", t("decidim.proposals.application_helper.filter_type_values.all")],
+ ["proposals", t("decidim.proposals.application_helper.filter_type_values.proposals")],
+ ["amendments", t("decidim.proposals.application_helper.filter_type_values.amendments")]
+ ]
end
end
end
end