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