Module: Decidim::Consultations

Includes:
ActiveSupport::Configurable
Defined in:
lib/decidim/consultations.rb,
lib/decidim/consultations/admin.rb,
lib/decidim/consultations/engine.rb,
lib/decidim/consultations/version.rb,
app/models/decidim/consultations/vote.rb,
lib/decidim/consultations/admin_engine.rb,
app/forms/decidim/consultations/vote_form.rb,
app/models/decidim/consultations/question.rb,
app/models/decidim/consultations/response.rb,
app/forms/decidim/consultations/multi_vote_form.rb,
app/models/decidim/consultations/response_group.rb,
app/commands/decidim/consultations/vote_question.rb,
app/cells/decidim/consultations/consultation_cell.rb,
app/permissions/decidim/consultations/permissions.rb,
app/types/decidim/consultations/consultation_type.rb,
app/commands/decidim/consultations/unvote_question.rb,
app/helpers/decidim/consultations/questions_helper.rb,
app/cells/decidim/consultations/consultation_m_cell.rb,
app/forms/decidim/consultations/admin/question_form.rb,
app/forms/decidim/consultations/admin/response_form.rb,
app/models/decidim/consultations/application_record.rb,
app/queries/decidim/consultations/admin/admin_users.rb,
app/cells/decidim/consultations/question_activity_cell.rb,
app/constraints/decidim/consultations/current_question.rb,
app/helpers/decidim/consultations/consultations_helper.rb,
app/services/decidim/consultations/consultation_search.rb,
app/constraints/decidim/consultations/current_component.rb,
app/forms/decidim/consultations/admin/consultation_form.rb,
app/permissions/decidim/consultations/admin/permissions.rb,
app/commands/decidim/consultations/admin/create_question.rb,
app/commands/decidim/consultations/admin/create_response.rb,
app/commands/decidim/consultations/admin/update_question.rb,
app/commands/decidim/consultations/admin/update_response.rb,
app/controllers/concerns/decidim/consultations/orderable.rb,
app/helpers/decidim/consultations/admin/questions_helper.rb,
app/queries/decidim/consultations/organization_questions.rb,
app/commands/decidim/consultations/admin/publish_question.rb,
app/commands/decidim/consultations/multiple_vote_question.rb,
app/forms/decidim/consultations/admin/response_group_form.rb,
app/controllers/decidim/consultations/questions_controller.rb,
app/types/decidim/consultations/consultation_question_type.rb,
app/commands/decidim/consultations/admin/unpublish_question.rb,
app/commands/decidim/consultations/admin/create_consultation.rb,
app/commands/decidim/consultations/admin/update_consultation.rb,
app/controllers/decidim/consultations/application_controller.rb,
app/helpers/decidim/consultations/admin/consultations_helper.rb,
app/models/concerns/decidim/consultations/publicable_results.rb,
app/queries/decidim/consultations/organization_consultations.rb,
app/commands/decidim/consultations/admin/publish_consultation.rb,
app/controllers/concerns/decidim/consultations/needs_question.rb,
app/presenters/decidim/consultations/question_stats_presenter.rb,
app/commands/decidim/consultations/admin/create_response_group.rb,
app/commands/decidim/consultations/admin/update_response_group.rb,
app/controllers/decidim/consultations/consultations_controller.rb,
app/commands/decidim/consultations/admin/destroy_response_group.rb,
app/commands/decidim/consultations/admin/unpublish_consultation.rb,
app/controllers/concerns/decidim/consultations/admin/filterable.rb,
app/controllers/decidim/consultations/question_votes_controller.rb,
app/controllers/decidim/consultations/admin/questions_controller.rb,
app/controllers/decidim/consultations/admin/responses_controller.rb,
app/controllers/concerns/decidim/consultations/needs_consultation.rb,
app/controllers/decidim/consultations/admin/categories_controller.rb,
app/controllers/decidim/consultations/admin/components_controller.rb,
app/controllers/decidim/consultations/question_widgets_controller.rb,
app/forms/decidim/consultations/admin/question_configuration_form.rb,
app/models/concerns/decidim/consultations/override_categorization.rb,
app/controllers/decidim/consultations/admin/application_controller.rb,
app/controllers/concerns/decidim/consultations/admin/question_admin.rb,
app/queries/decidim/consultations/organization_active_consultations.rb,
app/controllers/decidim/consultations/admin/consultations_controller.rb,
app/commands/decidim/consultations/admin/publish_consultation_results.rb,
app/controllers/decidim/consultations/consultation_widgets_controller.rb,
app/commands/decidim/consultations/admin/update_question_configuration.rb,
app/controllers/decidim/consultations/admin/response_groups_controller.rb,
app/commands/decidim/consultations/admin/unpublish_consultation_results.rb,
app/controllers/concerns/decidim/consultations/admin/consultation_admin.rb,
app/controllers/decidim/consultations/question_multiple_votes_controller.rb,
app/controllers/decidim/consultations/authorization_vote_modals_controller.rb,
app/controllers/decidim/consultations/admin/question_attachments_controller.rb,
app/controllers/decidim/consultations/admin/question_permissions_controller.rb,
app/controllers/decidim/consultations/admin/component_permissions_controller.rb,
app/controllers/decidim/consultations/admin/question_publications_controller.rb,
app/cells/decidim/consultations/content_blocks/highlighted_consultations_cell.rb,
app/controllers/decidim/consultations/admin/question_configuration_controller.rb,
app/controllers/decidim/consultations/admin/consultation_publications_controller.rb,
app/controllers/decidim/consultations/admin/consultation_results_publications_controller.rb,
app/cells/decidim/consultations/content_blocks/highlighted_consultations_settings_form_cell.rb

Overview

Base module for the consultations engine.

Defined Under Namespace

Modules: Admin, ConsultationsHelper, ContentBlocks, NeedsConsultation, NeedsQuestion, Orderable, OverrideCategorization, PublicableResults, QuestionsHelper Classes: AdminEngine, ApplicationController, ApplicationRecord, AuthorizationVoteModalsController, ConsultationCell, ConsultationMCell, ConsultationSearch, ConsultationWidgetsController, ConsultationsController, CurrentComponent, CurrentQuestion, Engine, MultiVoteForm, MultipleVoteQuestion, OrganizationActiveConsultations, OrganizationConsultations, OrganizationQuestions, Permissions, Question, QuestionActivityCell, QuestionMultipleVotesController, QuestionStatsPresenter, QuestionVotesController, QuestionWidgetsController, QuestionsController, Response, ResponseGroup, UnvoteQuestion, Vote, VoteForm, VoteQuestion

Constant Summary collapse

ConsultationType =

This type represents a consultation.

GraphQL::ObjectType.define do
  interfaces [
    -> { Decidim::Core::ParticipatorySpaceInterface }
  ]

  name "Consultation"
  description "A consultation"

  field :subtitle, Decidim::Core::TranslatedFieldType, "The subtitle of this consultation"
  field :description, Decidim::Core::TranslatedFieldType, "The description of this consultation"
  field :slug, !types.String, "Slug of this consultation"
  field :createdAt, !Decidim::Core::DateTimeType, "The time this consultation was created", property: :created_at
  field :updatedAt, !Decidim::Core::DateTimeType, "The time this consultation was updated", property: :updated_at
  field :publishedAt, !Decidim::Core::DateTimeType, "The time this consultation was published", property: :published_at

  field :introductoryVideoUrl, types.String, "The introductory video url for this consultation", property: :introductory_video_url
  field :introductoryImage, types.String, "The introductory image for this consultation", property: :introductory_image
  field :bannerImage, types.String, "The banner image for this consultation", property: :banner_image
  field :highlightedScope, Decidim::Core::ScopeApiType, "This is the highlighted scope of this consultation", property: :highlighted_scope
  field :startVotingDate, Decidim::Core::DateType, "Start date of the voting for this consultation", property: :start_voting_date
  field :endVotingDate, Decidim::Core::DateType, "End date of the voting for this consultation", property: :end_voting_date
  field :resultsPublishedAt, Decidim::Core::DateType, "Date when the results have been published", property: :results_published_at

  field :questions, types[Decidim::Consultations::ConsultationQuestionType], ""
end
ConsultationQuestionType =

This type represents a consultation.

GraphQL::ObjectType.define do
  interfaces [
    -> { Decidim::Core::ScopableInterface },
    -> { Decidim::Core::AttachableInterface },
    -> { Decidim::Comments::CommentableInterface }
  ]

  name "ConsultationQuestion"
  description "A consultation question"

  field :id, !types.ID, "Internal ID of the question"
  field :title, Decidim::Core::TranslatedFieldType, "Title of the question"
  field :subtitle, Decidim::Core::TranslatedFieldType, "The subtitle of this question"
  field :slug, !types.String, "Slug of the question"
  field :createdAt, !Decidim::Core::DateTimeType, "The time this question was created", property: :created_at
  field :updatedAt, !Decidim::Core::DateTimeType, "The time this question was updated", property: :updated_at
  field :publishedAt, !Decidim::Core::DateTimeType, "The time this question was published", property: :published_at

  field :components, types[Decidim::Core::ComponentInterface] do
    description "Lists the components this space contains."

    resolve ->(participatory_space, _args, _ctx) {
              Decidim::Component.where(
                participatory_space: participatory_space
              ).published
            }
  end

  field :bannerImage, types.String, "The banner image for this question", property: :banner_image
  field :heroImage, types.String, "The hero image for this question", property: :hero_image

  field :whatIsDecided, Decidim::Core::TranslatedFieldType, "What is decided in this question", property: :what_is_decided
  field :promoterGroup, Decidim::Core::TranslatedFieldType, "The promoter group of this question", property: :promoter_group
  field :participatoryScope, Decidim::Core::TranslatedFieldType, "The participatory scope of this question", property: :participatory_scope
  field :questionContext, Decidim::Core::TranslatedFieldType, "The context for this question", property: :question_context
  field :reference, types.String, "The reference for this question", property: :reference
  field :hashtag, types.String, "The hashtag of this question", property: :hashtag
  field :votesCount, types.Int, "The number of votes in this question", property: :votes_count
  field :originScope, Decidim::Core::TranslatedFieldType, "The origin scope of this question", property: :origin_scope
  field :originTitle, Decidim::Core::TranslatedFieldType, "The origin title of this question", property: :origin_title
  field :originUrl, types.String, "The origin URL for this question", property: :origin_url
  field :iFrameUrl, types.String, "The iframe URL for this question", property: :i_frame_url
  field :externalVoting, types.Boolean, "If the question has external voting", property: :external_voting
  field :responsesCount, types.Int, "The number of responses for this question", property: :responses_count
  field :order, types.Int, "The order in which the question should be represented", property: :order
  field :maxVotes, types.Int, "The maximum number of votes in this question", property: :max_votes
  field :minVotes, types.Int, "The minimum number of votes in this question", property: :min_votes
  field :responseGroupsCount, types.Int, "The number of group responses for this question", property: :response_groups_count
  field :instructions, Decidim::Core::TranslatedFieldType, "Instructions for this question", property: :instructions
end

Class Method Summary collapse

Class Method Details

.versionObject



5
6
7
# File 'lib/decidim/consultations/version.rb', line 5

def self.version
  "0.22.0"
end