Module: Decidim::Meetings
- Defined in:
- lib/decidim/meetings.rb,
lib/decidim/meetings/api.rb,
lib/decidim/meetings/admin.rb,
lib/decidim/meetings/engine.rb,
lib/decidim/meetings/version.rb,
lib/decidim/meetings/directory.rb,
lib/decidim/meetings/admin_engine.rb,
app/models/decidim/meetings/agenda.rb,
app/models/decidim/meetings/invite.rb,
lib/decidim/api/services_interface.rb,
lib/decidim/meetings/registrations.rb,
app/models/decidim/meetings/meeting.rb,
app/models/decidim/meetings/minutes.rb,
app/models/decidim/meetings/service.rb,
lib/decidim/meetings/directory_engine.rb,
app/types/decidim/meetings/agenda_type.rb,
app/cells/decidim/meetings/meeting_cell.rb,
app/forms/decidim/meetings/meeting_form.rb,
app/helpers/decidim/meetings/map_helper.rb,
app/models/decidim/meetings/agenda_item.rb,
app/types/decidim/meetings/meeting_type.rb,
app/types/decidim/meetings/minutes_type.rb,
app/types/decidim/meetings/service_type.rb,
lib/decidim/meetings/meeting_serializer.rb,
app/models/decidim/meetings/registration.rb,
app/types/decidim/meetings/meetings_type.rb,
app/cells/decidim/meetings/meeting_m_cell.rb,
app/cells/decidim/meetings/meeting_s_cell.rb,
app/commands/decidim/meetings/join_meeting.rb,
app/queries/decidim/meetings/admin/invites.rb,
lib/decidim/api/linked_resources_interface.rb,
app/commands/decidim/meetings/leave_meeting.rb,
app/services/decidim/meetings/diff_renderer.rb,
app/types/decidim/meetings/agenda_item_type.rb,
app/cells/decidim/meetings/meetings_map_cell.rb,
app/commands/decidim/meetings/create_meeting.rb,
app/commands/decidim/meetings/update_meeting.rb,
app/forms/decidim/meetings/join_meeting_form.rb,
app/helpers/decidim/meetings/meetings_helper.rb,
app/permissions/decidim/meetings/permissions.rb,
app/services/decidim/meetings/meeting_search.rb,
app/forms/decidim/meetings/admin/meeting_form.rb,
app/forms/decidim/meetings/admin/minutes_form.rb,
app/models/decidim/meetings/application_record.rb,
app/queries/decidim/meetings/filtered_meetings.rb,
app/events/decidim/meetings/close_meeting_event.rb,
app/helpers/decidim/meetings/application_helper.rb,
app/services/decidim/meetings/calendar_renderer.rb,
app/cells/decidim/meetings/meeting_activity_cell.rb,
app/commands/decidim/meetings/admin/copy_meeting.rb,
app/commands/decidim/meetings/decline_invitation.rb,
app/events/decidim/meetings/create_meeting_event.rb,
app/events/decidim/meetings/update_meeting_event.rb,
app/mailers/decidim/meetings/registration_mailer.rb,
app/presenters/decidim/meetings/invite_presenter.rb,
app/cells/decidim/meetings/meeting_list_item_cell.rb,
app/commands/decidim/meetings/admin/close_meeting.rb,
app/commands/decidim/meetings/admin/create_agenda.rb,
app/commands/decidim/meetings/admin/update_agenda.rb,
app/helpers/decidim/meetings/meeting_cells_helper.rb,
app/presenters/decidim/meetings/meeting_presenter.rb,
lib/decidim/meetings/registrations/code_generator.rb,
app/commands/decidim/meetings/admin/create_meeting.rb,
app/commands/decidim/meetings/admin/create_minutes.rb,
app/commands/decidim/meetings/admin/update_meeting.rb,
app/commands/decidim/meetings/admin/update_minutes.rb,
app/events/decidim/meetings/upcoming_meeting_event.rb,
app/forms/decidim/meetings/admin/meeting_copy_form.rb,
app/permissions/decidim/meetings/admin/permissions.rb,
app/cells/decidim/meetings/join_meeting_button_cell.rb,
app/commands/decidim/meetings/admin/destroy_meeting.rb,
app/controllers/decidim/meetings/widgets_controller.rb,
app/forms/decidim/meetings/admin/close_meeting_form.rb,
app/cells/decidim/meetings/highlighted_meetings_cell.rb,
app/controllers/decidim/meetings/meetings_controller.rb,
app/controllers/decidim/meetings/versions_controller.rb,
app/forms/decidim/meetings/admin/meeting_agenda_form.rb,
app/services/decidim/meetings/calendar/base_calendar.rb,
app/controllers/decidim/meetings/calendars_controller.rb,
app/forms/decidim/meetings/admin/meeting_service_form.rb,
app/helpers/decidim/meetings/admin/application_helper.rb,
app/presenters/decidim/meetings/log/resource_presenter.rb,
app/controllers/decidim/meetings/application_controller.rb,
app/services/decidim/meetings/calendar/meeting_to_event.rb,
app/commands/decidim/meetings/admin/update_registrations.rb,
app/controllers/decidim/meetings/admin/agenda_controller.rb,
app/serializers/decidim/meetings/registration_serializer.rb,
app/controllers/decidim/meetings/admin/invites_controller.rb,
app/controllers/decidim/meetings/admin/minutes_controller.rb,
app/controllers/decidim/meetings/registrations_controller.rb,
app/presenters/decidim/meetings/official_author_presenter.rb,
app/services/decidim/meetings/calendar/component_calendar.rb,
app/controllers/decidim/meetings/admin/meetings_controller.rb,
app/forms/decidim/meetings/admin/meeting_agenda_items_form.rb,
app/presenters/decidim/meetings/admin_log/invite_presenter.rb,
app/forms/decidim/meetings/admin/meeting_registrations_form.rb,
app/jobs/decidim/meetings/upcoming_meeting_notification_job.rb,
app/presenters/decidim/meetings/admin_log/meeting_presenter.rb,
app/presenters/decidim/meetings/admin_log/minutes_presenter.rb,
app/queries/decidim/meetings/metrics/meetings_metric_manage.rb,
app/services/decidim/meetings/calendar/organization_calendar.rb,
app/controllers/decidim/meetings/admin/application_controller.rb,
app/controllers/decidim/meetings/admin/attachments_controller.rb,
app/events/decidim/meetings/registration_code_validated_event.rb,
app/mailers/decidim/meetings/admin/invite_join_meeting_mailer.rb,
app/cells/decidim/meetings/content_blocks/upcoming_events_cell.rb,
app/commands/decidim/meetings/admin/validate_registration_code.rb,
app/controllers/decidim/meetings/directory/meetings_controller.rb,
app/commands/decidim/meetings/admin/invite_user_to_join_meeting.rb,
app/controllers/decidim/meetings/admin/registrations_controller.rb,
app/events/decidim/meetings/meeting_registrations_enabled_event.rb,
app/commands/decidim/meetings/admin/export_meeting_registrations.rb,
app/controllers/decidim/meetings/admin/meeting_closes_controller.rb,
app/controllers/decidim/meetings/admin/meeting_copies_controller.rb,
app/forms/decidim/meetings/admin/validate_registration_code_form.rb,
app/forms/decidim/meetings/admin/meeting_registration_invite_form.rb,
app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb,
app/controllers/decidim/meetings/admin/registration_form_controller.rb,
app/events/decidim/meetings/meeting_registration_notification_event.rb,
app/serializers/decidim/meetings/data_portability_invite_serializer.rb,
app/queries/decidim/meetings/metrics/meeting_followers_metric_measure.rb,
app/events/decidim/meetings/meeting_registrations_over_percentage_event.rb,
app/controllers/decidim/meetings/admin/attachment_collections_controller.rb,
app/serializers/decidim/meetings/data_portability_registration_serializer.rb,
app/presenters/decidim/meetings/admin_log/value_types/meeting_title_description_presenter.rb
Overview
This holds the decidim-meetings version.
Defined Under Namespace
Modules: Admin, AdminLog, ApplicationHelper, Calendar, ContentBlocks, Directory, Log, MapHelper, MeetingCellsHelper, MeetingsHelper, MeetingsTypeHelper, Metrics, Registrations Classes: AdminEngine, Agenda, AgendaItem, ApplicationController, ApplicationRecord, CalendarRenderer, CalendarsController, CloseMeetingEvent, CreateMeeting, CreateMeetingEvent, DataPortabilityInviteSerializer, DataPortabilityRegistrationSerializer, DeclineInvitation, DiffRenderer, DirectoryEngine, Engine, FilteredMeetings, HighlightedMeetingsCell, HighlightedMeetingsForComponentCell, Invite, InvitePresenter, JoinMeeting, JoinMeetingButtonCell, JoinMeetingForm, LeaveMeeting, Meeting, MeetingActivityCell, MeetingCell, MeetingForm, MeetingListItemCell, MeetingMCell, MeetingPresenter, MeetingRegistrationNotificationEvent, MeetingRegistrationsEnabledEvent, MeetingRegistrationsOverPercentageEvent, MeetingSCell, MeetingSearch, MeetingSerializer, MeetingsController, MeetingsMapCell, Minutes, OfficialAuthorPresenter, Permissions, Registration, RegistrationCodeValidatedEvent, RegistrationMailer, RegistrationSerializer, RegistrationsController, Service, UpcomingMeetingEvent, UpcomingMeetingNotificationJob, UpdateMeeting, UpdateMeetingEvent, VersionsController, WidgetsController
Constant Summary collapse
- ServicesInterface =
This interface represents a categorizable object.
GraphQL::InterfaceType.define do name "ServicesInterface" description "An interface that can be used with services." field :services, !types[ServiceType], "The object's services" end
- AgendaType =
GraphQL::ObjectType.define do name "MeetingAgenda" description "A meeting agenda" field :id, !types.ID, "The ID for the agenda" field :title, Decidim::Core::TranslatedFieldType, "The title for the agenda" field :items, !types[AgendaItemType], "Items and sub-items of the agenda", property: :agenda_items # probably useful in the future, when handling user permissions # field :visible, !types.Boolean, "Whether this minutes is public or not", property: :visible field :createdAt, Decidim::Core::DateTimeType do description "The date and time this agenda was created" property :created_at end field :updatedAt, Decidim::Core::DateTimeType do description "The date and time this agenda was updated" property :updated_at end end
- MeetingType =
GraphQL::ObjectType.define do name "Meeting" description "A meeting" interfaces [ -> { Decidim::Comments::CommentableInterface }, -> { Decidim::Core::CategorizableInterface }, -> { Decidim::Core::ScopableInterface }, -> { Decidim::Core::AttachableInterface }, -> { Decidim::Core::TimestampsInterface }, -> { Decidim::Meetings::ServicesInterface }, -> { Decidim::Meetings::LinkedResourcesInterface }, -> { Decidim::Forms::QuestionnaireEntityInterface } ] field :id, !types.ID, "ID of this meeting" field :reference, !types.String, "Reference for this meeting" field :title, !Decidim::Core::TranslatedFieldType, "The title of this meeting." field :description, Decidim::Core::TranslatedFieldType, "The description of this meeting." field :startTime, !Decidim::Core::DateTimeType, "The time this meeting starts", property: :start_time field :endTime, !Decidim::Core::DateTimeType, "The time this meeting ends", property: :end_time field :author, Decidim::Core::AuthorInterface, "If specified, the author of this meeting" field :agenda, AgendaType, "Agenda for this meeting, if available" do resolve ->(meeting, _args, _ctx) { meeting.agenda if meeting.agenda&.visible? } end field :closed, !types.Boolean, "Whether this meeting is closed or not.", property: :closed? field :closingReport, Decidim::Core::TranslatedFieldType, "The closing report of this meeting.", property: :closing_report field :attendingOrganizations, types.String, "list of attending organizations", property: :attending_organizations field :attendeeCount, types.Int, "Amount of attendees to this meeting", property: :attendees_count field :contributionCount, types.Int, "Amount of contributions to this meeting", property: :contributions_count field :minutes, MinutesType, "Minutes for this meeting, if available" do resolve ->(meeting, _args, _ctx) { meeting.minutes if meeting.minutes&.visible? } end field :privateMeeting, !types.Boolean, "Whether the meeting is private or not (it can only be true if transparent)", property: :private_meeting field :transparent, !types.Boolean, "For private meetings, information is public if transparent", property: :transparent field :registrationsEnabled, !types.Boolean, "Whether the registrations are enabled or not", property: :registrations_enabled field :registrationTerms, Decidim::Core::TranslatedFieldType, "The registration terms", property: :registration_terms field :remainingSlots, types.Int, "Amount of slots available for this meeting", property: :remaining_slots field :registrationFormEnabled, !types.Boolean, "Whether the registrations have a form or not", property: :registration_form_enabled field :registrationForm, Decidim::Forms::QuestionnaireType do description "If registration requires to fill a form, this is the questionnaire" resolve ->(meeting, _args, _ctx) { meeting.questionnaire if meeting.registration_form_enabled? } end field :location, Decidim::Core::TranslatedFieldType, "The location of this meeting (free format)" field :locationHints, Decidim::Core::TranslatedFieldType, "The location of this meeting (free format)", property: :location_hints field :address, types.String, "The physical address of this meeting (used for geolocation)" field :coordinates, Decidim::Core::CoordinatesType, "Physical coordinates for this meeting" do resolve ->(meeting, _args, _ctx) { [meeting.latitude, meeting.longitude] } end end
- MinutesType =
GraphQL::ObjectType.define do name "MeetingMinutes" description "A meeting minutes" field :id, !types.ID, "The ID for the minutes" field :description, Decidim::Core::TranslatedFieldType, "The description for the minutes" field :videoUrl, types.String, "URL for the video of the session, if any", property: :video_url field :audioUrl, types.String, "URL for the audio of the session, if any", property: :audio_url # probably useful in the future, when handling user permissions # field :visible, !types.Boolean, "Whether this minutes is public or not", property: :visible field :createdAt, Decidim::Core::DateTimeType do description "The date and time this minutes was created" property :created_at end field :updatedAt, Decidim::Core::DateTimeType do description "The date and time this minutes was updated" property :updated_at end end
- ServiceType =
GraphQL::ObjectType.define do name "MeetingService" description "A meeting service" field :title, Decidim::Core::TranslatedFieldType, "The title for the service" field :description, Decidim::Core::TranslatedFieldType, "The description for the service" end
- MeetingsType =
GraphQL::ObjectType.define do interfaces [-> { Decidim::Core::ComponentInterface }] name "Meetings" description "A meetings component of a participatory space." connection :meetings, MeetingType.connection_type do resolve ->(component, _args, _ctx) { MeetingsTypeHelper.base_scope(component).includes(:component) } end field(:meeting, MeetingType) do argument :id, !types.ID resolve ->(component, args, _ctx) { MeetingsTypeHelper.base_scope(component).find_by(id: args[:id]) } end end
- LinkedResourcesInterface =
This interface represents all linked resources available in the module meetings
GraphQL::InterfaceType.define do name "MeetinsLinkedResourcewInterface" description "An interface that can be used with Resourceable models." field :proposalsFromMeeting, !types[Decidim::Proposals::ProposalType], "Proposals created in this meeting" do resolve ->(meeting, _args, _ctx) { meeting.linked_resources(:proposals, :proposals_from_meeting) } end end
- AgendaItemType =
GraphQL::ObjectType.define do name "MeetingAgendaItem" description "A meeting agenda item" field :id, !types.ID, "The ID for this agenda item" field :title, Decidim::Core::TranslatedFieldType, "The title for this agenda item" field :description, Decidim::Core::TranslatedFieldType, "The description for this agenda item" field :items, !types[AgendaItemType], "Sub-items (children) of this agenda item", property: :agenda_item_children field :parent, AgendaItemType, "Parent agenda item, if available" field :agenda, AgendaType, "Belonging agenda" field :duration, !types.Int, "Duration in number of minutes for this item in this agenda" field :position, !types.Int, "Order position for this agenda item" field :createdAt, Decidim::Core::DateTimeType do description "The date and time this agenda item was created" property :created_at end field :updatedAt, Decidim::Core::DateTimeType do description "The date and time this agenda item was updated" property :updated_at end end
Class Method Summary collapse
Class Method Details
.version ⇒ Object
6 7 8 |
# File 'lib/decidim/meetings/version.rb', line 6 def self.version "0.23.4" end |