Module: Decidim::Proposals

Includes:
ActiveSupport::Configurable
Defined in:
lib/decidim/proposals.rb,
lib/decidim/proposals/api.rb,
lib/decidim/proposals/admin.rb,
lib/decidim/proposals/seeds.rb,
lib/decidim/proposals/engine.rb,
lib/decidim/proposals/import.rb,
lib/decidim/api/proposal_type.rb,
lib/decidim/proposals/version.rb,
lib/decidim/api/proposals_type.rb,
lib/decidim/proposals/valuatable.rb,
lib/decidim/proposals/admin_engine.rb,
lib/decidim/proposals/admin_filter.rb,
lib/decidim/api/proposal_input_sort.rb,
app/models/decidim/proposals/proposal.rb,
lib/decidim/api/proposal_input_filter.rb,
lib/decidim/proposals/doc_to_markdown.rb,
lib/decidim/proposals/odt_to_markdown.rb,
app/helpers/decidim/proposals/map_helper.rb,
app/cells/decidim/proposals/proposal_cell.rb,
app/forms/decidim/proposals/proposal_form.rb,
lib/decidim/proposals/proposal_serializer.rb,
app/models/decidim/proposals/proposal_note.rb,
app/models/decidim/proposals/proposal_vote.rb,
lib/decidim/proposals/commentable_proposal.rb,
app/cells/decidim/proposals/proposal_g_cell.rb,
app/cells/decidim/proposals/proposal_l_cell.rb,
app/cells/decidim/proposals/proposal_s_cell.rb,
app/models/decidim/proposals/proposal_state.rb,
lib/decidim/proposals/markdown_to_proposals.rb,
app/cells/decidim/proposals/cost_report_cell.rb,
app/commands/decidim/proposals/vote_proposal.rb,
app/services/decidim/proposals/diff_renderer.rb,
app/permissions/decidim/proposals/permissions.rb,
lib/decidim/proposals/import/proposal_creator.rb,
app/commands/decidim/proposals/create_proposal.rb,
app/commands/decidim/proposals/gallery_methods.rb,
app/commands/decidim/proposals/unvote_proposal.rb,
app/commands/decidim/proposals/update_proposal.rb,
app/helpers/decidim/proposals/proposals_helper.rb,
app/jobs/decidim/proposals/settings_change_job.rb,
app/services/decidim/proposals/proposal_search.rb,
app/commands/decidim/proposals/destroy_proposal.rb,
app/commands/decidim/proposals/hashtags_methods.rb,
app/commands/decidim/proposals/publish_proposal.rb,
app/forms/decidim/proposals/admin/proposal_form.rb,
app/models/decidim/proposals/application_record.rb,
app/models/decidim/proposals/participatory_text.rb,
app/services/decidim/proposals/proposal_builder.rb,
lib/decidim/proposals/import/proposals_verifier.rb,
app/commands/decidim/proposals/withdraw_proposal.rb,
app/helpers/decidim/proposals/application_helper.rb,
app/models/decidim/proposals/collaborative_draft.rb,
app/queries/decidim/proposals/filtered_proposals.rb,
lib/decidim/proposals/participatory_text_section.rb,
app/cells/decidim/proposals/proposals_picker_cell.rb,
app/cells/decidim/proposals/reported_content_cell.rb,
app/events/decidim/proposals/voting_enabled_event.rb,
app/models/decidim/proposals/valuation_assignment.rb,
app/cells/decidim/proposals/proposal_activity_cell.rb,
app/cells/decidim/proposals/proposal_metadata_cell.rb,
app/events/decidim/proposals/creation_enabled_event.rb,
app/events/decidim/proposals/publish_proposal_event.rb,
app/helpers/decidim/proposals/proposal_cells_helper.rb,
app/helpers/decidim/proposals/proposal_votes_helper.rb,
app/permissions/decidim/proposals/admin/permissions.rb,
app/presenters/decidim/proposals/proposal_presenter.rb,
app/cells/decidim/proposals/collaborative_draft_cell.rb,
app/commands/decidim/proposals/admin/answer_proposal.rb,
app/commands/decidim/proposals/admin/create_proposal.rb,
app/commands/decidim/proposals/admin/merge_proposals.rb,
app/commands/decidim/proposals/admin/publish_answers.rb,
app/commands/decidim/proposals/admin/split_proposals.rb,
app/commands/decidim/proposals/admin/update_proposal.rb,
app/controllers/concerns/decidim/proposals/orderable.rb,
app/events/decidim/proposals/endorsing_enabled_event.rb,
app/events/decidim/proposals/proposal_endorsed_event.rb,
app/forms/decidim/proposals/admin/proposal_base_form.rb,
app/forms/decidim/proposals/admin/proposal_note_form.rb,
app/forms/decidim/proposals/collaborative_draft_form.rb,
app/helpers/decidim/proposals/admin/proposals_helper.rb,
app/helpers/decidim/proposals/control_version_helper.rb,
app/helpers/decidim/proposals/proposal_wizard_helper.rb,
lib/decidim/proposals/import/proposal_answer_creator.rb,
app/commands/decidim/proposals/admin/import_proposals.rb,
app/controllers/decidim/proposals/versions_controller.rb,
app/events/decidim/proposals/proposal_mentioned_event.rb,
app/forms/decidim/proposals/admin/proposal_state_form.rb,
app/forms/decidim/proposals/admin/proposals_fork_form.rb,
lib/decidim/proposals/commentable_collaborative_draft.rb,
app/cells/decidim/proposals/collaborative_draft_l_cell.rb,
app/cells/decidim/proposals/highlighted_proposals_cell.rb,
app/controllers/decidim/proposals/proposals_controller.rb,
app/forms/decidim/proposals/admin/proposal_answer_form.rb,
app/forms/decidim/proposals/admin/proposals_merge_form.rb,
app/forms/decidim/proposals/admin/proposals_split_form.rb,
app/forms/decidim/proposals/admin/proposals_import_form.rb,
lib/decidim/proposals/import/proposals_answers_verifier.rb,
app/controllers/decidim/proposals/application_controller.rb,
app/helpers/decidim/proposals/collaborative_draft_helper.rb,
app/helpers/decidim/proposals/participatory_texts_helper.rb,
app/commands/decidim/proposals/admin/create_proposal_note.rb,
app/commands/decidim/proposals/create_collaborative_draft.rb,
app/commands/decidim/proposals/update_collaborative_draft.rb,
app/events/decidim/proposals/proposal_state_changed_event.rb,
app/jobs/decidim/proposals/hide_all_created_by_author_job.rb,
app/jobs/decidim/proposals/notify_proposals_mentioned_job.rb,
app/queries/decidim/proposals/metrics/votes_metric_manage.rb,
app/cells/decidim/proposals/irreversible_action_modal_cell.rb,
app/cells/decidim/proposals/proposal_linked_resources_cell.rb,
app/commands/decidim/proposals/admin/create_proposal_state.rb,
app/commands/decidim/proposals/admin/update_proposal_scope.rb,
app/commands/decidim/proposals/admin/update_proposal_state.rb,
app/commands/decidim/proposals/publish_collaborative_draft.rb,
app/presenters/decidim/proposals/official_author_presenter.rb,
app/commands/decidim/proposals/admin/destroy_proposal_state.rb,
app/commands/decidim/proposals/admin/notify_proposal_answer.rb,
app/commands/decidim/proposals/withdraw_collaborative_draft.rb,
app/controllers/concerns/decidim/proposals/admin/filterable.rb,
app/controllers/decidim/proposals/proposal_votes_controller.rb,
app/forms/decidim/proposals/admin/valuation_assignment_form.rb,
app/cells/decidim/proposals/participatory_text_proposal_cell.rb,
app/controllers/decidim/proposals/admin/proposals_controller.rb,
app/forms/decidim/proposals/admin/proposals_file_import_form.rb,
app/helpers/decidim/proposals/admin/proposal_rankings_helper.rb,
app/cells/decidim/proposals/collaborative_draft_metadata_cell.rb,
app/commands/decidim/proposals/admin/update_proposal_category.rb,
app/presenters/decidim/proposals/admin_log/proposal_presenter.rb,
app/queries/decidim/proposals/metrics/proposals_metric_manage.rb,
app/commands/decidim/proposals/admin/import_participatory_text.rb,
app/commands/decidim/proposals/admin/update_participatory_text.rb,
app/controllers/decidim/proposals/admin/application_controller.rb,
app/events/decidim/proposals/admin/proposal_note_created_event.rb,
app/events/decidim/proposals/admin/update_proposal_scope_event.rb,
app/forms/decidim/proposals/access_to_collaborative_draft_form.rb,
app/helpers/decidim/proposals/collaborative_draft_cells_helper.rb,
app/presenters/decidim/proposals/collaborative_draft_presenter.rb,
app/commands/decidim/proposals/admin/discard_participatory_text.rb,
app/commands/decidim/proposals/admin/publish_participatory_text.rb,
app/events/decidim/proposals/collaborative_draft_withdrawn_event.rb,
app/forms/decidim/proposals/admin/import_participatory_text_form.rb,
app/helpers/decidim/proposals/admin/proposal_bulk_actions_helper.rb,
app/queries/decidim/proposals/metrics/endorsements_metric_manage.rb,
app/commands/decidim/proposals/admin/assign_proposals_to_valuator.rb,
app/controllers/decidim/proposals/admin/proposal_notes_controller.rb,
app/controllers/decidim/proposals/collaborative_drafts_controller.rb,
app/events/decidim/proposals/admin/update_proposal_category_event.rb,
app/forms/decidim/proposals/admin/preview_participatory_text_form.rb,
app/controllers/concerns/decidim/proposals/collaborative_orderable.rb,
app/controllers/decidim/proposals/admin/proposal_states_controller.rb,
app/forms/decidim/proposals/admin/participatory_text_proposal_form.rb,
app/presenters/decidim/proposals/admin_log/proposal_note_presenter.rb,
app/commands/decidim/proposals/accept_access_to_collaborative_draft.rb,
app/commands/decidim/proposals/reject_access_to_collaborative_draft.rb,
app/controllers/decidim/proposals/admin/proposal_answers_controller.rb,
app/controllers/decidim/proposals/admin/proposals_merges_controller.rb,
app/controllers/decidim/proposals/admin/proposals_splits_controller.rb,
app/presenters/decidim/proposals/admin_log/proposal_state_presenter.rb,
app/presenters/decidim/proposals/log/valuation_assignment_presenter.rb,
app/cells/decidim/proposals/highlighted_proposals_for_component_cell.rb,
app/commands/decidim/proposals/request_access_to_collaborative_draft.rb,
app/controllers/decidim/proposals/admin/proposals_imports_controller.rb,
app/cells/decidim/proposals/collaborative_draft_link_to_proposal_cell.rb,
app/cells/decidim/proposals/content_blocks/highlighted_proposals_cell.rb,
app/cells/decidim/proposals/proposal_link_to_collaborative_draft_cell.rb,
app/cells/decidim/proposals/proposal_link_to_rejected_emendation_cell.rb,
app/commands/decidim/proposals/admin/unassign_proposals_from_valuator.rb,
app/events/decidim/proposals/collaborative_draft_access_request_event.rb,
app/forms/decidim/proposals/accept_access_to_collaborative_draft_form.rb,
app/forms/decidim/proposals/reject_access_to_collaborative_draft_form.rb,
app/models/decidim/proposals/collaborative_draft_collaborator_request.rb,
app/cells/decidim/proposals/collaborative_drafts/reported_content_cell.rb,
app/controllers/decidim/proposals/admin/participatory_texts_controller.rb,
app/events/decidim/proposals/collaborative_draft_access_accepted_event.rb,
app/events/decidim/proposals/collaborative_draft_access_rejected_event.rb,
app/forms/decidim/proposals/request_access_to_collaborative_draft_form.rb,
app/queries/decidim/proposals/metrics/accepted_proposals_metric_manage.rb,
app/events/decidim/proposals/collaborative_draft_access_requested_event.rb,
app/queries/decidim/proposals/metrics/proposal_followers_metric_measure.rb,
app/controllers/decidim/proposals/admin/valuation_assignments_controller.rb,
app/presenters/decidim/proposals/admin_log/valuation_assignment_presenter.rb,
app/queries/decidim/proposals/metrics/proposal_participants_metric_measure.rb,
app/presenters/decidim/proposals/admin_log/value_types/proposal_state_presenter.rb,
app/events/decidim/proposals/collaborative_draft_access_requester_accepted_event.rb,
app/events/decidim/proposals/collaborative_draft_access_requester_rejected_event.rb,
app/presenters/decidim/proposals/admin_log/value_types/valuator_role_user_presenter.rb,
app/presenters/decidim/proposals/admin_log/value_types/proposal_title_body_presenter.rb,
app/controllers/decidim/proposals/collaborative_draft_collaborator_requests_controller.rb

Overview

This holds decidim-proposals version.

Defined Under Namespace

Modules: Admin, AdminLog, ApplicationHelper, CollaborativeDraftCellsHelper, CollaborativeDraftHelper, CollaborativeDrafts, CollaborativeOrderable, CommentableCollaborativeDraft, CommentableProposal, ContentBlocks, ControlVersionHelper, GalleryMethods, HashtagsMethods, Import, Log, MapHelper, Metrics, Orderable, ParticipatoryTextSection, ParticipatoryTextsHelper, ProposalBuilder, ProposalCellsHelper, ProposalVotesHelper, ProposalWizardHelper, ProposalsHelper, Valuatable Classes: AcceptAccessToCollaborativeDraft, AcceptAccessToCollaborativeDraftForm, AccessToCollaborativeDraftForm, AdminEngine, AdminFilter, ApplicationController, ApplicationRecord, CollaborativeDraft, CollaborativeDraftAccessAcceptedEvent, CollaborativeDraftAccessRejectedEvent, CollaborativeDraftAccessRequestEvent, CollaborativeDraftAccessRequestedEvent, CollaborativeDraftAccessRequesterAcceptedEvent, CollaborativeDraftAccessRequesterRejectedEvent, CollaborativeDraftCell, CollaborativeDraftCollaboratorRequest, CollaborativeDraftCollaboratorRequestsController, CollaborativeDraftForm, CollaborativeDraftLCell, CollaborativeDraftLinkToProposalCell, CollaborativeDraftMetadataCell, CollaborativeDraftPresenter, CollaborativeDraftWithdrawnEvent, CollaborativeDraftsController, CostReportCell, CreateCollaborativeDraft, CreateProposal, CreationEnabledEvent, DestroyProposal, DiffRenderer, DocToMarkdown, EndorsingEnabledEvent, Engine, FilteredProposals, HideAllCreatedByAuthorJob, HighlightedProposalsCell, HighlightedProposalsForComponentCell, IrreversibleActionModalCell, MarkdownToProposals, NotifyProposalsMentionedJob, OdtToMarkdown, OfficialAuthorPresenter, ParticipatoryText, ParticipatoryTextProposalCell, Permissions, Proposal, ProposalActivityCell, ProposalCell, ProposalEndorsedEvent, ProposalFinderHelper, ProposalForm, ProposalGCell, ProposalInputFilter, ProposalInputSort, ProposalLCell, ProposalLinkToCollaborativeDraftCell, ProposalLinkToRejectedEmendationCell, ProposalLinkedResourcesCell, ProposalListHelper, ProposalMentionedEvent, ProposalMetadataCell, ProposalNote, ProposalPresenter, ProposalSCell, ProposalSearch, ProposalSerializer, ProposalState, ProposalStateChangedEvent, ProposalType, ProposalVote, ProposalVotesController, ProposalsController, ProposalsPickerCell, ProposalsType, PublishCollaborativeDraft, PublishProposal, PublishProposalEvent, RejectAccessToCollaborativeDraft, RejectAccessToCollaborativeDraftForm, ReportedContentCell, RequestAccessToCollaborativeDraft, RequestAccessToCollaborativeDraftForm, Seeds, SettingsChangeJob, UnvoteProposal, UpdateCollaborativeDraft, UpdateProposal, ValuationAssignment, VersionsController, VoteProposal, VotingEnabledEvent, WithdrawCollaborativeDraft, WithdrawProposal

Class Method Summary collapse

Class Method Details

.create_default_states!(component, admin_user, with_traceability: true) ⇒ Object



82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'lib/decidim/proposals.rb', line 82

def self.create_default_states!(component, admin_user, with_traceability: true)
  colors = Decidim::Proposals.proposal_states_colors

  locale = Decidim.default_locale
  default_states = {
    evaluating: {
      token: :evaluating,
      bg_color: colors[:orange][:background],
      text_color: colors[:orange][:foreground],
      announcement_title: { locale => I18n.with_locale(locale) { I18n.t("proposal_in_evaluation_reason", scope: "decidim.proposals.proposals.show") } },
      title: { locale => I18n.with_locale(locale) { I18n.t(:evaluating, scope: "decidim.proposals.answers") } }
    },
    accepted: {
      token: :accepted,
      bg_color: colors[:green][:background],
      text_color: colors[:green][:foreground],
      announcement_title: { locale => I18n.with_locale(locale) { I18n.t("proposal_accepted_reason", scope: "decidim.proposals.proposals.show") } },
      title: { locale => I18n.with_locale(locale) { I18n.t(:accepted, scope: "decidim.proposals.answers") } }
    },
    rejected: {
      token: :rejected,
      bg_color: colors[:red][:background],
      text_color: colors[:red][:foreground],
      announcement_title: { locale => I18n.with_locale(locale) { I18n.t("proposal_rejected_reason", scope: "decidim.proposals.proposals.show") } },
      title: { locale => I18n.with_locale(locale) { I18n.t(:rejected, scope: "decidim.proposals.answers") } }
    }
  }
  default_states.each_key do |key|
    default_states[key][:object] = if with_traceability
                                     Decidim.traceability.create(
                                       Decidim::Proposals::ProposalState, admin_user, component:, **default_states[key]
                                     )
                                   else
                                     Decidim::Proposals::ProposalState.create(component:, **default_states[key])
                                   end
  end
  default_states
end

.proposal_states_colorsObject



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'lib/decidim/proposals.rb', line 37

def self.proposal_states_colors
  {
    gray: {
      background: "#F6F8FA",
      foreground: "#4B5058",
      name: I18n.t("gray", scope: "activemodel.attributes.proposal_state.colors")
    },
    blue: {
      background: "#EBF9FF",
      foreground: "#0851A6",
      name: I18n.t("blue", scope: "activemodel.attributes.proposal_state.colors")
    },
    green: {
      background: "#E3FCE9",
      foreground: "#15602C",
      name: I18n.t("green", scope: "activemodel.attributes.proposal_state.colors")
    },
    yellow: {
      background: "#FFFCE5",
      foreground: "#9A6700",
      name: I18n.t("yellow", scope: "activemodel.attributes.proposal_state.colors")
    },
    orange: {
      background: "#FFF1E5",
      foreground: "#BC4C00",
      name: I18n.t("orange", scope: "activemodel.attributes.proposal_state.colors")
    },
    red: {
      background: "#FFEBE9",
      foreground: "#D1242F",
      name: I18n.t("red", scope: "activemodel.attributes.proposal_state.colors")
    },
    pink: {
      background: "#FFEFF7",
      foreground: "#BF3989",
      name: I18n.t("pink", scope: "activemodel.attributes.proposal_state.colors")
    },
    purple: {
      background: "#FBEFFF",
      foreground: "#8250DF",
      name: I18n.t("purple", scope: "activemodel.attributes.proposal_state.colors")
    }
  }
end

.versionObject



6
7
8
# File 'lib/decidim/proposals/version.rb', line 6

def self.version
  "0.29.1"
end