Module: Decidim::Proposals

Includes:
ActiveSupport::Configurable
Defined in:
lib/decidim/proposals.rb,
lib/decidim/proposals/admin.rb,
lib/decidim/proposals/engine.rb,
lib/decidim/proposals/version.rb,
lib/decidim/proposals/admin_engine.rb,
app/models/decidim/proposals/proposal.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,
app/types/decidim/proposals/proposal_type.rb,
lib/decidim/proposals/proposal_serializer.rb,
app/models/decidim/proposals/proposal_note.rb,
app/models/decidim/proposals/proposal_vote.rb,
app/types/decidim/proposals/proposals_type.rb,
lib/decidim/proposals/commentable_proposal.rb,
app/cells/decidim/proposals/proposal_m_cell.rb,
lib/decidim/proposals/markdown_to_proposals.rb,
app/commands/decidim/proposals/vote_proposal.rb,
app/services/decidim/proposals/diff_renderer.rb,
app/permissions/decidim/proposals/permissions.rb,
app/cells/decidim/proposals/proposal_tags_cell.rb,
app/commands/decidim/proposals/create_proposal.rb,
app/commands/decidim/proposals/unvote_proposal.rb,
app/commands/decidim/proposals/update_proposal.rb,
app/jobs/decidim/proposals/settings_change_job.rb,
app/services/decidim/proposals/proposal_search.rb,
app/cells/decidim/proposals/endorsers_list_cell.rb,
app/commands/decidim/proposals/destroy_proposal.rb,
app/commands/decidim/proposals/endorse_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/queries/decidim/proposals/similar_proposals.rb,
app/services/decidim/proposals/proposal_builder.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/commands/decidim/proposals/attachment_methods.rb,
app/commands/decidim/proposals/unendorse_proposal.rb,
app/events/decidim/proposals/voting_enabled_event.rb,
app/models/decidim/proposals/proposal_endorsement.rb,
app/cells/decidim/proposals/proposal_activity_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/split_proposals.rb,
app/commands/decidim/proposals/admin/update_proposal.rb,
app/controllers/concerns/decidim/proposals/orderable.rb,
app/events/decidim/proposals/accepted_proposal_event.rb,
app/events/decidim/proposals/endorsing_enabled_event.rb,
app/events/decidim/proposals/proposal_endorsed_event.rb,
app/events/decidim/proposals/rejected_proposal_event.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,
app/commands/decidim/proposals/admin/import_proposals.rb,
app/commands/decidim/proposals/create_proposal_export.rb,
app/controllers/decidim/proposals/versions_controller.rb,
app/events/decidim/proposals/proposal_mentioned_event.rb,
app/forms/decidim/proposals/admin/proposals_fork_form.rb,
lib/decidim/proposals/commentable_collaborative_draft.rb,
app/cells/decidim/proposals/collaborative_draft_m_cell.rb,
app/cells/decidim/proposals/highlighted_proposals_cell.rb,
app/controllers/decidim/proposals/proposals_controller.rb,
app/events/decidim/proposals/evaluating_proposal_event.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,
app/presenters/decidim/proposals/log/resource_presenter.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/jobs/decidim/proposals/notify_proposals_mentioned_job.rb,
app/queries/decidim/proposals/metrics/votes_metric_manage.rb,
app/services/decidim/proposals/collaborative_draft_search.rb,
app/cells/decidim/proposals/irreversible_action_modal_cell.rb,
app/commands/decidim/proposals/publish_collaborative_draft.rb,
app/helpers/decidim/proposals/proposal_endorsements_helper.rb,
app/presenters/decidim/proposals/official_author_presenter.rb,
app/queries/decidim/proposals/similar_collaborative_drafts.rb,
app/commands/decidim/proposals/withdraw_collaborative_draft.rb,
app/controllers/decidim/proposals/proposal_votes_controller.rb,
app/cells/decidim/proposals/participatory_text_proposal_cell.rb,
app/controllers/decidim/proposals/admin/proposals_controller.rb,
app/forms/decidim/proposals/proposal_wizard_create_step_form.rb,
app/commands/decidim/proposals/admin/update_proposal_category.rb,
app/controllers/decidim/proposals/proposal_widgets_controller.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/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/queries/decidim/proposals/metrics/endorsements_metric_manage.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/proposal_endorsements_controller.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/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/proposal_link_to_collaborative_draft_cell.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/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/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/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, AttachmentMethods, CollaborativeDraftCellsHelper, CollaborativeDraftHelper, CollaborativeOrderable, CommentableCollaborativeDraft, CommentableProposal, ControlVersionHelper, HashtagsMethods, Log, MapHelper, Metrics, Orderable, ParticipatoryTextSection, ParticipatoryTextsHelper, ProposalBuilder, ProposalCellsHelper, ProposalEndorsementsHelper, ProposalVotesHelper, ProposalWizardHelper, ProposalsTypeHelper Classes: AcceptAccessToCollaborativeDraft, AcceptAccessToCollaborativeDraftForm, AcceptedProposalEvent, AccessToCollaborativeDraftForm, AdminEngine, ApplicationController, ApplicationRecord, CollaborativeDraft, CollaborativeDraftAccessAcceptedEvent, CollaborativeDraftAccessRejectedEvent, CollaborativeDraftAccessRequestEvent, CollaborativeDraftAccessRequestedEvent, CollaborativeDraftAccessRequesterAcceptedEvent, CollaborativeDraftAccessRequesterRejectedEvent, CollaborativeDraftCell, CollaborativeDraftCollaboratorRequest, CollaborativeDraftCollaboratorRequestsController, CollaborativeDraftForm, CollaborativeDraftLinkToProposalCell, CollaborativeDraftMCell, CollaborativeDraftPresenter, CollaborativeDraftSearch, CollaborativeDraftWithdrawnEvent, CollaborativeDraftsController, CreateCollaborativeDraft, CreateProposal, CreateProposalExport, CreationEnabledEvent, DestroyProposal, DiffRenderer, DocToMarkdown, EndorseProposal, EndorsersListCell, EndorsingEnabledEvent, Engine, EvaluatingProposalEvent, FilteredProposals, HighlightedProposalsCell, HighlightedProposalsForComponentCell, IrreversibleActionModalCell, MarkdownToProposals, NotifyProposalsMentionedJob, OdtToMarkdown, OfficialAuthorPresenter, ParticipatoryText, ParticipatoryTextProposalCell, Permissions, Proposal, ProposalActivityCell, ProposalCell, ProposalEndorsedEvent, ProposalEndorsement, ProposalEndorsementsController, ProposalForm, ProposalLinkToCollaborativeDraftCell, ProposalMCell, ProposalMentionedEvent, ProposalNote, ProposalPresenter, ProposalSearch, ProposalSerializer, ProposalTagsCell, ProposalVote, ProposalVotesController, ProposalWidgetsController, ProposalWizardCreateStepForm, ProposalsController, PublishCollaborativeDraft, PublishProposal, PublishProposalEvent, RejectAccessToCollaborativeDraft, RejectAccessToCollaborativeDraftForm, RejectedProposalEvent, RequestAccessToCollaborativeDraft, RequestAccessToCollaborativeDraftForm, SettingsChangeJob, SimilarCollaborativeDrafts, SimilarProposals, UnendorseProposal, UnvoteProposal, UpdateCollaborativeDraft, UpdateProposal, VersionsController, VoteProposal, VotingEnabledEvent, WithdrawCollaborativeDraft, WithdrawProposal

Constant Summary collapse

ProposalType =
GraphQL::ObjectType.define do
  name "Proposal"
  description "A proposal"

  interfaces [
    -> { Decidim::Comments::CommentableInterface },
    -> { Decidim::Core::AuthorableInterface },
    -> { Decidim::Core::CategorizableInterface },
    -> { Decidim::Core::ScopableInterface },
    -> { Decidim::Core::AttachableInterface }
  ]

  field :id, !types.ID
  field :title, !types.String, "This proposal's title"
  field :body, types.String, "This proposal's body"
  field :state, types.String, "The state in which proposal is in"
  field :address, types.String, "The physical address (location) of this proposal"
  field :reference, types.String, "This proposa'ls unique reference"

  field :publishedAt, Decidim::Core::DateTimeType do
    description "The date and time this proposal was published"
    property :published_at
  end

  field :endorsements, !types[Decidim::Core::AuthorInterface], "The endorsements of this proposal." do
    resolve ->(proposal, _, _) {
      proposal.endorsements.map(&:normalized_author)
    }
  end

  field :endorsementsCount, types.Int do
    description "The total amount of endorsements the proposal has received"
    property :proposal_endorsements_count
  end

  field :voteCount, types.Int do
    description "The total amount of votes the proposal has received"
    resolve ->(proposal, _args, _ctx) {
      current_component = proposal.component
      proposal.proposal_votes_count unless current_component.current_settings.votes_hidden?
    }
  end
end
ProposalsType =
GraphQL::ObjectType.define do
  interfaces [-> { Decidim::Core::ComponentInterface }]

  name "Proposals"
  description "A proposals component of a participatory space."

  connection :proposals, ProposalType.connection_type do
    resolve ->(component, _args, _ctx) {
              ProposalsTypeHelper.base_scope(component).includes(:component)
            }
  end

  field(:proposal, ProposalType) do
    argument :id, !types.ID

    resolve ->(component, args, _ctx) {
      ProposalsTypeHelper.base_scope(component).find_by(id: args[:id])
    }
  end
end

Class Method Summary collapse

Class Method Details

.versionObject



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

def self.version
  "0.17.1"
end