decidim-meetings 0.23.0 → 0.27.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of decidim-meetings might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/cells/decidim/meetings/content_blocks/highlighted_meetings/elements.erb +16 -0
- data/app/cells/decidim/meetings/content_blocks/highlighted_meetings/heading.erb +1 -0
- data/app/cells/decidim/meetings/content_blocks/highlighted_meetings_cell.rb +33 -0
- data/app/cells/decidim/meetings/content_blocks/{upcoming_events → upcoming_meetings}/show.erb +6 -6
- data/app/cells/decidim/meetings/content_blocks/{upcoming_events_cell.rb → upcoming_meetings_cell.rb} +13 -10
- data/app/cells/decidim/meetings/highlighted_meetings_for_component/show.erb +5 -4
- data/app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb +22 -1
- data/app/cells/decidim/meetings/join_meeting_button/registration_confirm.erb +6 -0
- data/app/cells/decidim/meetings/join_meeting_button/show.erb +15 -6
- data/app/cells/decidim/meetings/join_meeting_button_cell.rb +1 -1
- data/app/cells/decidim/meetings/meeting_activity_cell.rb +13 -5
- data/app/cells/decidim/meetings/meeting_cell.rb +2 -4
- data/app/cells/decidim/meetings/meeting_highlighted_list_item/show.erb +21 -0
- data/app/cells/decidim/meetings/meeting_highlighted_list_item_cell.rb +10 -0
- data/app/cells/decidim/meetings/meeting_list_item_cell.rb +11 -1
- data/app/cells/decidim/meetings/meeting_m/address.erb +5 -1
- data/app/cells/decidim/meetings/meeting_m_cell.rb +54 -0
- data/app/cells/decidim/meetings/meeting_s_cell.rb +22 -0
- data/app/cells/decidim/meetings/meeting_url/show.erb +20 -0
- data/app/cells/decidim/meetings/meeting_url_cell.rb +29 -0
- data/app/cells/decidim/meetings/meetings_map/show.erb +1 -1
- data/app/cells/decidim/meetings/meetings_map_cell.rb +7 -1
- data/app/cells/decidim/meetings/online_meeting_cell.rb +51 -0
- data/app/cells/decidim/meetings/online_meeting_link/show.erb +44 -0
- data/app/cells/decidim/meetings/online_meeting_link_cell.rb +23 -0
- data/app/cells/decidim/meetings/public_participants_list/show.erb +16 -0
- data/app/cells/decidim/meetings/public_participants_list_cell.rb +32 -0
- data/app/cells/decidim/meetings/question_responses/show.erb +7 -0
- data/app/cells/decidim/meetings/question_responses_cell.rb +72 -0
- data/app/cells/decidim/meetings/reported_content/show.erb +3 -0
- data/app/cells/decidim/meetings/reported_content_cell.rb +13 -0
- data/app/commands/decidim/meetings/admin/close_meeting.rb +4 -1
- data/app/commands/decidim/meetings/admin/copy_meeting.rb +1 -10
- data/app/commands/decidim/meetings/admin/create_agenda.rb +1 -1
- data/app/commands/decidim/meetings/admin/create_meeting.rb +16 -20
- data/app/commands/decidim/meetings/admin/destroy_meeting.rb +3 -1
- data/app/commands/decidim/meetings/admin/export_meeting_registrations.rb +1 -1
- data/app/commands/decidim/meetings/admin/invite_user_to_join_meeting.rb +10 -12
- data/app/commands/decidim/meetings/admin/publish_meeting.rb +74 -0
- data/app/commands/decidim/meetings/admin/unpublish_meeting.rb +45 -0
- data/app/commands/decidim/meetings/admin/update_agenda.rb +1 -1
- data/app/commands/decidim/meetings/admin/update_meeting.rb +17 -6
- data/app/commands/decidim/meetings/admin/update_question_status.rb +57 -0
- data/app/commands/decidim/meetings/admin/update_questionnaire.rb +96 -0
- data/app/commands/decidim/meetings/admin/update_registrations.rb +5 -3
- data/app/commands/decidim/meetings/admin/validate_registration_code.rb +3 -1
- data/app/commands/decidim/meetings/close_meeting.rb +68 -0
- data/app/commands/decidim/meetings/create_answer.rb +52 -0
- data/app/commands/decidim/meetings/create_meeting.rb +26 -5
- data/app/commands/decidim/meetings/decline_invitation.rb +1 -1
- data/app/commands/decidim/meetings/join_meeting.rb +17 -8
- data/app/commands/decidim/meetings/leave_meeting.rb +5 -5
- data/app/commands/decidim/meetings/update_meeting.rb +15 -4
- data/app/commands/decidim/meetings/withdraw_meeting.rb +39 -0
- data/app/controllers/concerns/decidim/meetings/admin/filterable.rb +55 -0
- data/app/controllers/concerns/decidim/meetings/filterable.rb +27 -0
- data/app/controllers/concerns/decidim/meetings/polls_resources.rb +29 -0
- data/app/controllers/decidim/meetings/admin/application_controller.rb +6 -2
- data/app/controllers/decidim/meetings/admin/invites_controller.rb +0 -2
- data/app/controllers/decidim/meetings/admin/meeting_closes_controller.rb +3 -3
- data/app/controllers/decidim/meetings/admin/meetings_controller.rb +46 -1
- data/app/controllers/decidim/meetings/admin/meetings_poll_controller.rb +107 -0
- data/app/controllers/decidim/meetings/calendars_controller.rb +9 -1
- data/app/controllers/decidim/meetings/directory/application_controller.rb +16 -0
- data/app/controllers/decidim/meetings/directory/meetings_controller.rb +40 -26
- data/app/controllers/decidim/meetings/live_events_controller.rb +35 -0
- data/app/controllers/decidim/meetings/meeting_closes_controller.rb +43 -0
- data/app/controllers/decidim/meetings/meetings_controller.rb +43 -29
- data/app/controllers/decidim/meetings/polls/answers_controller.rb +37 -0
- data/app/controllers/decidim/meetings/polls/questions_controller.rb +45 -0
- data/app/events/decidim/meetings/close_meeting_event.rb +1 -3
- data/app/events/decidim/meetings/create_meeting_event.rb +16 -2
- data/app/events/decidim/meetings/meeting_event.rb +37 -0
- data/app/events/decidim/meetings/meeting_registration_notification_event.rb +1 -1
- data/app/events/decidim/meetings/meeting_registrations_enabled_event.rb +1 -3
- data/app/events/decidim/meetings/meeting_registrations_over_percentage_event.rb +2 -4
- data/app/events/decidim/meetings/registration_code_validated_event.rb +2 -4
- data/app/events/decidim/meetings/upcoming_meeting_event.rb +1 -3
- data/app/events/decidim/meetings/update_meeting_event.rb +1 -3
- data/app/forms/decidim/meetings/admin/answer_option_form.rb +24 -0
- data/app/forms/decidim/meetings/admin/close_meeting_form.rb +9 -7
- data/app/forms/decidim/meetings/admin/meeting_copy_form.rb +4 -13
- data/app/forms/decidim/meetings/admin/meeting_form.rb +76 -26
- data/app/forms/decidim/meetings/admin/meeting_registration_invite_form.rb +1 -1
- data/app/forms/decidim/meetings/admin/meeting_registrations_form.rb +17 -4
- data/app/forms/decidim/meetings/admin/question_form.rb +44 -0
- data/app/forms/decidim/meetings/admin/questionnaire_form.rb +19 -0
- data/app/forms/decidim/meetings/answer_choice_form.rb +14 -0
- data/app/forms/decidim/meetings/answer_form.rb +64 -0
- data/app/forms/decidim/meetings/base_meeting_form.rb +59 -0
- data/app/forms/decidim/meetings/close_meeting_form.rb +35 -0
- data/app/forms/decidim/meetings/join_meeting_form.rb +1 -0
- data/app/forms/decidim/meetings/meeting_form.rb +83 -22
- data/app/helpers/decidim/meetings/admin/filterable_helper.rb +13 -0
- data/app/helpers/decidim/meetings/application_helper.rb +59 -10
- data/app/helpers/decidim/meetings/directory/application_helper.rb +148 -0
- data/app/helpers/decidim/meetings/map_helper.rb +2 -2
- data/app/helpers/decidim/meetings/meeting_cells_helper.rb +4 -1
- data/app/helpers/decidim/meetings/meetings_helper.rb +23 -1
- data/app/jobs/decidim/meetings/send_close_meeting_reminder_job.rb +17 -0
- data/app/jobs/decidim/meetings/upcoming_meeting_notification_job.rb +4 -1
- data/app/mailers/decidim/meetings/close_meeting_reminder_mailer.rb +43 -0
- data/app/models/decidim/meetings/agenda_item.rb +2 -2
- data/app/models/decidim/meetings/answer.rb +48 -0
- data/app/models/decidim/meetings/answer_choice.rb +15 -0
- data/app/models/decidim/meetings/answer_option.rb +24 -0
- data/app/models/decidim/meetings/invite.rb +2 -2
- data/app/models/decidim/meetings/meeting.rb +230 -24
- data/app/models/decidim/meetings/poll.rb +19 -0
- data/app/models/decidim/meetings/question.rb +54 -0
- data/app/models/decidim/meetings/questionnaire.rb +29 -0
- data/app/models/decidim/meetings/registration.rb +4 -2
- data/app/packs/entrypoints/decidim_meetings.js +6 -0
- data/app/packs/entrypoints/decidim_meetings_admin.js +5 -0
- data/app/{assets/images/decidim/gamification/badges/attended_meetings.svg → packs/images/decidim/gamification/badges/decidim_gamification_badges_attended_meetings.svg} +0 -0
- data/app/{assets/images/decidim/meetings/icon.svg → packs/images/decidim/meetings/decidim_meetings.svg} +0 -0
- data/app/packs/src/decidim/meetings/admin/agendas.js +159 -0
- data/app/{assets/javascripts/decidim/meetings/admin/destroy_meeting_alert.js.es6 → packs/src/decidim/meetings/admin/destroy_meeting_alert.js} +0 -0
- data/app/{assets/javascripts/decidim/meetings/admin/meetings_form.js.es6 → packs/src/decidim/meetings/admin/meetings_form.js} +67 -5
- data/app/{assets/javascripts/decidim/meetings/admin/registrations_form.js.es6 → packs/src/decidim/meetings/admin/registrations_form.js} +2 -0
- data/app/{assets/javascripts/decidim/meetings/admin/registrations_invite_form.es6 → packs/src/decidim/meetings/admin/registrations_invite_form.js} +3 -3
- data/app/packs/src/decidim/meetings/meetings_form.js +73 -0
- data/app/packs/src/decidim/meetings/meetings_polls.js +46 -0
- data/app/packs/src/decidim/meetings/poll.component.js +166 -0
- data/app/packs/stylesheets/decidim/meetings/_header.scss +52 -0
- data/app/packs/stylesheets/decidim/meetings/_main.scss +178 -0
- data/app/packs/stylesheets/decidim/meetings/_meetings.scss +2 -0
- data/app/permissions/decidim/meetings/admin/permissions.rb +16 -8
- data/app/permissions/decidim/meetings/permissions.rb +60 -17
- data/app/presenters/decidim/meetings/admin_log/meeting_presenter.rb +7 -3
- data/app/presenters/decidim/meetings/admin_log/{minutes_presenter.rb → questionnaire_presenter.rb} +13 -16
- data/app/presenters/decidim/meetings/meeting_edition_presenter.rb +14 -0
- data/app/presenters/decidim/meetings/meeting_presenter.rb +73 -24
- data/app/queries/decidim/meetings/admin/invites.rb +1 -1
- data/app/queries/decidim/meetings/filtered_meetings.rb +2 -2
- data/app/queries/decidim/meetings/metrics/meetings_metric_manage.rb +1 -1
- data/app/queries/decidim/meetings/questionnaire_user_answers.rb +29 -0
- data/app/serializers/decidim/meetings/{data_portability_invite_serializer.rb → download_your_data_invite_serializer.rb} +4 -3
- data/app/serializers/decidim/meetings/{data_portability_registration_serializer.rb → download_your_data_registration_serializer.rb} +4 -3
- data/app/serializers/decidim/meetings/registration_serializer.rb +3 -12
- data/app/services/decidim/meetings/calendar/base_calendar.rb +4 -3
- data/app/services/decidim/meetings/calendar/component_calendar.rb +7 -9
- data/app/services/decidim/meetings/calendar/meeting_calendar.rb +33 -0
- data/app/services/decidim/meetings/calendar/organization_calendar.rb +1 -1
- data/app/services/decidim/meetings/calendar_renderer.rb +5 -3
- data/app/services/decidim/meetings/close_meeting_reminder_generator.rb +68 -0
- data/app/services/decidim/meetings/diff_renderer.rb +4 -4
- data/app/services/decidim/meetings/meeting_iframe_embedder.rb +90 -0
- data/app/services/decidim/meetings/meeting_search.rb +7 -20
- data/app/views/decidim/meetings/_calendar_modal.html.erb +19 -2
- data/app/views/decidim/meetings/admin/agenda/_form.html.erb +1 -1
- data/app/views/decidim/meetings/admin/invite_join_meeting_mailer/invite.html.erb +4 -4
- data/app/views/decidim/meetings/admin/invites/_form.html.erb +1 -1
- data/app/views/decidim/meetings/admin/invites/index.html.erb +1 -1
- data/app/views/decidim/meetings/admin/meeting_closes/_form.html.erb +16 -1
- data/app/views/decidim/meetings/admin/meeting_copies/_form.html.erb +17 -2
- data/app/views/decidim/meetings/admin/meeting_copies/new.html.erb +1 -1
- data/app/views/decidim/meetings/admin/meetings/_form.html.erb +47 -2
- data/app/views/decidim/meetings/admin/meetings/_services.html.erb +1 -1
- data/app/views/decidim/meetings/admin/meetings/edit.html.erb +2 -2
- data/app/views/decidim/meetings/admin/meetings/index.html.erb +60 -10
- data/app/views/decidim/meetings/admin/meetings/new.html.erb +2 -2
- data/app/views/decidim/meetings/admin/poll/_answer_option.html.erb +34 -0
- data/app/views/decidim/meetings/admin/poll/_answer_option_template.html.erb +7 -0
- data/app/views/decidim/meetings/admin/poll/_form.html.erb +63 -0
- data/app/views/decidim/meetings/admin/poll/_question.html.erb +96 -0
- data/app/views/decidim/meetings/admin/poll/edit.html.erb +9 -0
- data/app/views/decidim/meetings/admin/registrations/_form.html.erb +10 -1
- data/app/views/decidim/meetings/admin/registrations/edit.html.erb +20 -18
- data/app/views/decidim/meetings/close_meeting_reminder_mailer/close_meeting_reminder.html.erb +5 -0
- data/app/views/decidim/meetings/directory/meetings/_filters.html.erb +34 -0
- data/app/views/decidim/meetings/directory/meetings/_meetings.html.erb +6 -1
- data/app/views/decidim/meetings/directory/meetings/index.html.erb +5 -21
- data/app/views/decidim/meetings/directory/meetings/index.js.erb +9 -4
- data/app/views/decidim/meetings/layouts/live_event.html.erb +55 -0
- data/app/views/decidim/meetings/live_events/show.html.erb +12 -0
- data/app/views/decidim/meetings/meeting_closes/_form.html.erb +14 -0
- data/app/views/decidim/meetings/meeting_closes/edit.html.erb +25 -0
- data/app/views/decidim/meetings/meeting_closes/proposals_picker.html.erb +1 -0
- data/app/views/decidim/meetings/meetings/_calendar_modal.html.erb +26 -0
- data/app/views/decidim/meetings/meetings/_count.html.erb +1 -1
- data/app/views/decidim/meetings/meetings/_filters.html.erb +13 -5
- data/app/views/decidim/meetings/meetings/_filters_small_view.html.erb +4 -4
- data/app/views/decidim/meetings/meetings/_form.html.erb +55 -3
- data/app/views/decidim/meetings/meetings/_linked_meetings.html.erb +2 -2
- data/app/views/decidim/meetings/meetings/_meeting_minutes.html.erb +7 -18
- data/app/views/decidim/meetings/meetings/_meetings.html.erb +24 -1
- data/app/views/decidim/meetings/meetings/edit.html.erb +2 -2
- data/app/views/decidim/meetings/meetings/index.html.erb +7 -6
- data/app/views/decidim/meetings/meetings/index.js.erb +7 -4
- data/app/views/decidim/meetings/meetings/new.html.erb +2 -2
- data/app/views/decidim/meetings/meetings/show.html.erb +50 -43
- data/app/views/decidim/meetings/polls/answers/_multiple_option.html.erb +13 -0
- data/app/views/decidim/meetings/polls/answers/_single_option.html.erb +19 -0
- data/app/views/decidim/meetings/polls/answers/create.js.erb +5 -0
- data/app/views/decidim/meetings/polls/questions/_closed_question.html.erb +7 -0
- data/app/views/decidim/meetings/polls/questions/_index.html.erb +5 -0
- data/app/views/decidim/meetings/polls/questions/_index_admin.html.erb +43 -0
- data/app/views/decidim/meetings/polls/questions/_published_question.html.erb +29 -0
- data/app/views/decidim/meetings/polls/questions/_question.html.erb +7 -0
- data/app/views/decidim/meetings/polls/questions/index.js.erb +5 -0
- data/app/views/decidim/meetings/polls/questions/index_admin.js.erb +5 -0
- data/app/views/decidim/meetings/registration_mailer/confirmation.html.erb +8 -3
- data/app/views/decidim/participatory_spaces/_upcoming_meeting_for_card.html.erb +1 -1
- data/app/views/devise/mailer/join_meeting.html.erb +6 -6
- data/config/assets.rb +11 -0
- data/config/locales/ar.yml +27 -40
- data/config/locales/bg.yml +1 -0
- data/config/locales/ca.yml +211 -44
- data/config/locales/cs.yml +220 -51
- data/config/locales/de.yml +249 -106
- data/config/locales/el.yml +6 -43
- data/config/locales/en.yml +208 -42
- data/config/locales/es-MX.yml +208 -41
- data/config/locales/es-PY.yml +209 -42
- data/config/locales/es.yml +210 -43
- data/config/locales/eu.yml +221 -39
- data/config/locales/fi-plain.yml +209 -42
- data/config/locales/fi.yml +337 -170
- data/config/locales/fr-CA.yml +208 -41
- data/config/locales/fr-LU.yml +534 -0
- data/config/locales/fr.yml +221 -54
- data/config/locales/ga-IE.yml +201 -0
- data/config/locales/gl.yml +92 -40
- data/config/locales/hu.yml +194 -41
- data/config/locales/id-ID.yml +6 -40
- data/config/locales/is-IS.yml +4 -30
- data/config/locales/it.yml +145 -42
- data/config/locales/ja.yml +246 -80
- data/config/locales/lb-LU.yml +211 -0
- data/config/locales/lb.yml +403 -0
- data/config/locales/lt.yml +688 -0
- data/config/locales/lv.yml +6 -43
- data/config/locales/nl.yml +264 -89
- data/config/locales/no.yml +167 -42
- data/config/locales/oc-FR.yml +1 -0
- data/config/locales/pl.yml +111 -61
- data/config/locales/pt-BR.yml +174 -40
- data/config/locales/pt.yml +143 -42
- data/config/locales/ro-RO.yml +257 -109
- data/config/locales/ru.yml +4 -39
- data/config/locales/si-LK.yml +1 -0
- data/config/locales/sk.yml +6 -43
- data/config/locales/sl.yml +1 -3
- data/config/locales/sr-CS.yml +1 -0
- data/config/locales/sv.yml +193 -42
- data/config/locales/sw-KE.yml +1 -0
- data/config/locales/tr-TR.yml +187 -120
- data/config/locales/uk.yml +4 -31
- data/config/locales/val-ES.yml +1 -0
- data/config/locales/zh-CN.yml +6 -43
- data/db/migrate/20180809134748_add_upcoming_events_as_content_block.rb +1 -1
- data/db/migrate/20201006140511_add_online_meeting_url.rb +7 -0
- data/db/migrate/20201009124057_add_type_of_meeting.rb +7 -0
- data/db/migrate/20201016112641_add_registration_type_and_url_to_meetings.rb +19 -0
- data/db/migrate/20201111133246_add_salt_to_decidim_meetings.rb +8 -0
- data/db/migrate/20210217124802_add_registration_custom_content_to_meetings.rb +8 -0
- data/db/migrate/20210310120731_add_followable_counter_cache_to_meetings.rb +16 -0
- data/db/migrate/20210413050756_add_published_at_to_meetings.rb +7 -0
- data/db/migrate/20210413050917_update_published_at_to_existing_meetings.rb +20 -0
- data/db/migrate/20210430123416_add_public_participation_to_decidim_meetings_registrations.rb +7 -0
- data/db/migrate/20210506180226_merge_meetings_minutes_into_meetings_table.rb +48 -0
- data/db/migrate/20210512055802_create_decidim_meetings_polls.rb +10 -0
- data/db/migrate/20210512100333_drop_decidim_meetings_minutes_table.rb +78 -0
- data/db/migrate/20210518133236_merge_minutes_with_closing_report_in_meetings_table.rb +57 -0
- data/db/migrate/20210519133705_add_comments_availability_columns_to_meetings_table.rb +14 -0
- data/db/migrate/20210520084247_create_decidim_meetings_questionnaires.rb +11 -0
- data/db/migrate/20210520084253_create_decidim_meetings_questions.rb +15 -0
- data/db/migrate/20210520084321_create_decidim_meetings_answers.rb +13 -0
- data/db/migrate/20210520084330_create_decidim_meetings_answer_options.rb +10 -0
- data/db/migrate/20210520084337_create_decidim_meetings_answer_choices.rb +13 -0
- data/db/migrate/20210520134834_add_status_to_meetings_questions.rb +7 -0
- data/db/migrate/20210602040614_add_setting_embed_iframe_to_meetings.rb +7 -0
- data/db/migrate/20210727085318_add_state_field_to_meeting.rb +7 -0
- data/db/migrate/20210903143040_add_iframe_access_level_to_decidim_meetings.rb +7 -0
- data/db/migrate/20210922140454_transform_show_embedded_iframe_column.rb +15 -0
- data/db/migrate/20210928095036_rename_upcoming_events_content_block_to_upcoming_meetings.rb +13 -0
- data/db/migrate/20211105115625_remove_not_null_on_customize_registration_email.rb +7 -0
- data/lib/decidim/api/agenda_item_type.rb +22 -0
- data/lib/decidim/api/agenda_type.rb +19 -0
- data/lib/decidim/api/linked_resources_interface.rb +14 -6
- data/lib/decidim/api/meeting_type.rb +79 -0
- data/lib/decidim/api/meetings_type.rb +26 -0
- data/{app/types/decidim/meetings → lib/decidim/api}/service_type.rb +4 -4
- data/lib/decidim/api/services_interface.rb +3 -3
- data/lib/decidim/content_parsers/meeting_parser.rb +20 -0
- data/lib/decidim/content_renderers/meeting_renderer.rb +17 -0
- data/lib/decidim/meetings/admin_engine.rb +5 -1
- data/lib/decidim/meetings/api.rb +5 -0
- data/lib/decidim/meetings/component.rb +108 -34
- data/lib/decidim/meetings/directory_engine.rb +3 -3
- data/lib/decidim/meetings/download_your_data_user_answers_serializer.rb +33 -0
- data/lib/decidim/meetings/engine.rb +39 -27
- data/lib/decidim/meetings/meeting_serializer.rb +5 -3
- data/lib/decidim/meetings/polls.rb +10 -0
- data/lib/decidim/meetings/test/factories.rb +131 -13
- data/lib/decidim/meetings/test/notifications_handling.rb +39 -0
- data/lib/decidim/meetings/test/translated_event.rb +22 -0
- data/lib/decidim/meetings/user_answers_serializer.rb +47 -0
- data/lib/decidim/meetings/version.rb +1 -1
- data/lib/decidim/meetings.rb +28 -1
- metadata +160 -137
- data/app/assets/config/decidim_meetings_manifest.js +0 -8
- data/app/assets/javascripts/decidim/meetings/admin/agendas.js.es6 +0 -158
- data/app/assets/javascripts/decidim/meetings/meetings_form.js.es6 +0 -9
- data/app/commands/decidim/meetings/admin/create_minutes.rb +0 -55
- data/app/commands/decidim/meetings/admin/update_minutes.rb +0 -63
- data/app/controllers/decidim/meetings/admin/minutes_controller.rb +0 -69
- data/app/forms/decidim/meetings/admin/minutes_form.rb +0 -20
- data/app/models/decidim/meetings/minutes.rb +0 -22
- data/app/types/decidim/meetings/agenda_item_type.rb +0 -28
- data/app/types/decidim/meetings/agenda_type.rb +0 -25
- data/app/types/decidim/meetings/meeting_type.rb +0 -65
- data/app/types/decidim/meetings/meetings_type.rb +0 -32
- data/app/types/decidim/meetings/minutes_type.rb +0 -26
- data/app/views/decidim/meetings/admin/minutes/_form.html.erb +0 -23
- data/app/views/decidim/meetings/admin/minutes/edit.html.erb +0 -7
- data/app/views/decidim/meetings/admin/minutes/new.html.erb +0 -7
- data/app/views/decidim/participatory_processes/participatory_process_groups/_highlighted_meetings.html.erb +0 -15
- data/app/views/decidim/participatory_processes/participatory_process_groups/_meeting.html.erb +0 -10
- data/config/locales/ja-JP.yml +0 -494
data/config/locales/uk.yml
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
---
|
1
2
|
uk:
|
2
3
|
activemodel:
|
3
4
|
attributes:
|
@@ -8,7 +9,8 @@ uk:
|
|
8
9
|
close_meeting:
|
9
10
|
attendees_count: Кількість учасників
|
10
11
|
attending_organizations: Перелік організацій, які брали участь
|
11
|
-
closing_report:
|
12
|
+
closing_report: Протокол
|
13
|
+
closing_visible: Видимий
|
12
14
|
contributions_count: Кількість внесених пропозицій
|
13
15
|
proposal_ids: Пропозиції, вироблені під час зустрічі
|
14
16
|
meeting:
|
@@ -27,11 +29,6 @@ uk:
|
|
27
29
|
start_time: Час початку
|
28
30
|
title: Назва
|
29
31
|
transparent: Прозора
|
30
|
-
minutes:
|
31
|
-
audio_url: Веб-адреса аудіозапису
|
32
|
-
description: Опис
|
33
|
-
video_url: Веб-адреса відеозапису
|
34
|
-
visible: Видимий
|
35
32
|
errors:
|
36
33
|
models:
|
37
34
|
meeting_agenda:
|
@@ -138,7 +135,6 @@ uk:
|
|
138
135
|
confirm_destroy: Ви впевнені, що хочете видалити цю зустріч?
|
139
136
|
destroy: Видалити
|
140
137
|
edit: Редагувати
|
141
|
-
minutes: Протокол
|
142
138
|
new: Додати зустріч
|
143
139
|
preview: Попередній перегляд
|
144
140
|
registrations: Реєстрації
|
@@ -213,7 +209,6 @@ uk:
|
|
213
209
|
success: Зустріч успішно завершено
|
214
210
|
create:
|
215
211
|
invalid: При спробі додати цю зустріч сталася помилка
|
216
|
-
success: Зустріч успішно додано
|
217
212
|
destroy:
|
218
213
|
success: Зустріч успішно видалено
|
219
214
|
edit:
|
@@ -236,18 +231,6 @@ uk:
|
|
236
231
|
update:
|
237
232
|
invalid: При спробі оновити цю зустріч сталася помилка
|
238
233
|
success: Зустріч успішно оновлено
|
239
|
-
minutes:
|
240
|
-
create:
|
241
|
-
invalid: При спробі створити цей протокол сталася помилка
|
242
|
-
success: Протокол успішно створено
|
243
|
-
edit:
|
244
|
-
update: Оновити
|
245
|
-
new:
|
246
|
-
create: Додати
|
247
|
-
title: Додати протокол
|
248
|
-
update:
|
249
|
-
invalid: При спробі оновити цей протокол сталася помилка
|
250
|
-
success: Протокол успішно оновлено
|
251
234
|
models:
|
252
235
|
meeting:
|
253
236
|
name: Зустріч
|
@@ -281,9 +264,6 @@ uk:
|
|
281
264
|
value_types:
|
282
265
|
organizer_presenter:
|
283
266
|
not_found: 'Цього організатора не знайдено в базі даних (ID: %{id})'
|
284
|
-
minutes:
|
285
|
-
create: "%{user_name} створив протокол зустрічі %{resource_name} у просторі %{space_name}"
|
286
|
-
update: "%{user_name} оновив протокол зустрічі %{resource_name} у просторі %{space_name}"
|
287
267
|
mailer:
|
288
268
|
invite_join_meeting_mailer:
|
289
269
|
invite:
|
@@ -304,7 +284,6 @@ uk:
|
|
304
284
|
filter_by: 'Відібрати за ознакою:'
|
305
285
|
unfold: Розгорнути
|
306
286
|
meeting_minutes:
|
307
|
-
meeting_minutes: Протокол зустрічі
|
308
287
|
related_information: Супутні відомості
|
309
288
|
meetings:
|
310
289
|
no_meetings_warning: Жодна зустріч не відповідає вашим критеріям пошуку, або жодних зустрічей не заплановано.
|
@@ -315,9 +294,8 @@ uk:
|
|
315
294
|
show:
|
316
295
|
attendees: Кількість учасників
|
317
296
|
contributions: Кількість внесених пропозицій
|
318
|
-
going: Збираєтесь відвідати
|
319
297
|
join: Долучитись до зустрічі
|
320
|
-
|
298
|
+
meeting_minutes: Протокол зустрічі
|
321
299
|
no_slots_available: Не залишилось місць
|
322
300
|
organizations: Організації, що приймають участь
|
323
301
|
view: Переглянути
|
@@ -358,11 +336,6 @@ uk:
|
|
358
336
|
types:
|
359
337
|
private_meeting: Приватна зустріч
|
360
338
|
transparent: Прозора
|
361
|
-
participatory_processes:
|
362
|
-
participatory_process_groups:
|
363
|
-
highlighted_meetings:
|
364
|
-
past_meetings: Минулі зустрічі
|
365
|
-
upcoming_meetings: Прийдешні зустрічі
|
366
339
|
participatory_spaces:
|
367
340
|
highlighted_meetings:
|
368
341
|
past_meetings: Минулі зустрічі
|
@@ -0,0 +1 @@
|
|
1
|
+
val:
|
data/config/locales/zh-CN.yml
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
---
|
1
2
|
zh-CN:
|
2
3
|
activemodel:
|
3
4
|
attributes:
|
@@ -8,7 +9,8 @@ zh-CN:
|
|
8
9
|
close_meeting:
|
9
10
|
attendees_count: 参与者人数
|
10
11
|
attending_organizations: 与会组织名单
|
11
|
-
closing_report:
|
12
|
+
closing_report: 分钟
|
13
|
+
closing_visible: 可见
|
12
14
|
contributions_count: 捐款数目
|
13
15
|
proposal_ids: 会议上提出的建议
|
14
16
|
meeting:
|
@@ -30,11 +32,6 @@ zh-CN:
|
|
30
32
|
start_time: 开始时间
|
31
33
|
title: 标题
|
32
34
|
transparent: 透明的
|
33
|
-
minutes:
|
34
|
-
audio_url: 音频网址
|
35
|
-
description: 描述
|
36
|
-
video_url: 视频网址
|
37
|
-
visible: 可见
|
38
35
|
errors:
|
39
36
|
models:
|
40
37
|
meeting_agenda:
|
@@ -161,7 +158,6 @@ zh-CN:
|
|
161
158
|
invalid_destroy:
|
162
159
|
proposals_count:
|
163
160
|
other: '会议不能被破坏,因为它有 %{count} 个建议与此相关联:'
|
164
|
-
minutes: 分钟
|
165
161
|
new: 新会议
|
166
162
|
preview: 预览
|
167
163
|
registrations: 注册
|
@@ -237,7 +233,6 @@ zh-CN:
|
|
237
233
|
success: 会议已成功关闭
|
238
234
|
create:
|
239
235
|
invalid: 创建此会议时出现问题
|
240
|
-
success: 会议已成功创建
|
241
236
|
destroy:
|
242
237
|
invalid:
|
243
238
|
proposals_count:
|
@@ -248,7 +243,6 @@ zh-CN:
|
|
248
243
|
form:
|
249
244
|
address_help: '地址:由地理编码器用来查找位置'
|
250
245
|
location_help: '位置:发送给用户的消息,这些消息暗示要会见的地点'
|
251
|
-
location_hints_help: '位置提示:额外信息。示例:建筑物地板'
|
252
246
|
index:
|
253
247
|
title: 会议
|
254
248
|
new:
|
@@ -267,18 +261,6 @@ zh-CN:
|
|
267
261
|
update:
|
268
262
|
invalid: 更新本次会议时出错
|
269
263
|
success: 会议已成功更新
|
270
|
-
minutes:
|
271
|
-
create:
|
272
|
-
invalid: 创建这分钟时出错
|
273
|
-
success: 创建分钟成功
|
274
|
-
edit:
|
275
|
-
update: 更新
|
276
|
-
new:
|
277
|
-
create: 创建
|
278
|
-
title: 创建分钟
|
279
|
-
update:
|
280
|
-
invalid: 更新这分钟时出现问题
|
281
|
-
success: 分钟已成功更新
|
282
264
|
models:
|
283
265
|
meeting:
|
284
266
|
name: 会议
|
@@ -317,29 +299,19 @@ zh-CN:
|
|
317
299
|
value_types:
|
318
300
|
organizer_presenter:
|
319
301
|
not_found: '在数据库中找不到组织者 (ID: %{id})'
|
320
|
-
minutes:
|
321
|
-
create: "%{user_name} 在 %{space_name} 空间创建了会议记录 %{resource_name}"
|
322
|
-
update: "%{user_name} 更新了会议记录 %{resource_name} 在 %{space_name} 空间"
|
323
302
|
calendar_modal:
|
324
303
|
calendar_url: 日历 URL
|
325
304
|
close_window: 关闭窗口
|
326
305
|
export_calendar: 导出日历
|
327
306
|
conference_venues: 会议地点
|
328
307
|
content_blocks:
|
329
|
-
|
330
|
-
|
331
|
-
upcoming_events: 即将举行的会议
|
332
|
-
view_all_events: 查看全部
|
308
|
+
upcoming_meetings:
|
309
|
+
view_all_meetings: 查看全部
|
333
310
|
directory:
|
334
311
|
meetings:
|
335
312
|
index:
|
336
|
-
all: 所有的
|
337
|
-
date: 日期
|
338
313
|
meetings: 会议
|
339
|
-
past: 过去的
|
340
|
-
search: 搜索
|
341
314
|
space_type: 参与空间
|
342
|
-
upcoming: 即将到来的
|
343
315
|
last_activity:
|
344
316
|
new_meeting_at_html: "<span>在 %{link}的新会议</span>"
|
345
317
|
mailer:
|
@@ -372,7 +344,6 @@ zh-CN:
|
|
372
344
|
origin: 始发地
|
373
345
|
origin_values:
|
374
346
|
all: 所有的
|
375
|
-
citizens: Citizens
|
376
347
|
official: 官方的
|
377
348
|
user_groups: 群組
|
378
349
|
scope: 范围
|
@@ -386,12 +357,10 @@ zh-CN:
|
|
386
357
|
address_help: '地址:由地理编码器用来查找位置'
|
387
358
|
create_as: 创建会议为
|
388
359
|
location_help: '位置:发送给用户的消息,这些消息暗示要会见的地点'
|
389
|
-
location_hints_help: '位置提示:额外信息。示例:建筑物地板'
|
390
360
|
select_a_category: 请选择一个类别
|
391
361
|
index:
|
392
362
|
new_meeting: 新会议
|
393
363
|
meeting_minutes:
|
394
|
-
meeting_minutes: 会议分钟
|
395
364
|
related_information: 相关信息
|
396
365
|
meetings:
|
397
366
|
no_meetings_warning: 没有符合您搜索条件的会议,也没有安排任何会议。
|
@@ -409,9 +378,8 @@ zh-CN:
|
|
409
378
|
contributions: 捐款计数
|
410
379
|
date: 日期
|
411
380
|
edit_meeting: 编辑会议
|
412
|
-
going: 去了
|
413
381
|
join: 加入会议
|
414
|
-
|
382
|
+
meeting_minutes: 会议分钟
|
415
383
|
no_slots_available: 无可用槽位
|
416
384
|
organizations: B. 参加组织
|
417
385
|
registration_code_help_text: 您的注册码
|
@@ -471,11 +439,6 @@ zh-CN:
|
|
471
439
|
description: 创建的会议数
|
472
440
|
object: 会议
|
473
441
|
title: 会议
|
474
|
-
participatory_processes:
|
475
|
-
participatory_process_groups:
|
476
|
-
highlighted_meetings:
|
477
|
-
past_meetings: 过去的会议
|
478
|
-
upcoming_meetings: 即将举行的会议
|
479
442
|
participatory_spaces:
|
480
443
|
highlighted_meetings:
|
481
444
|
past_meetings: 过去的会议
|
@@ -11,7 +11,7 @@ class AddUpcomingEventsAsContentBlock < ActiveRecord::Migration[5.2]
|
|
11
11
|
|
12
12
|
def change
|
13
13
|
Organization.find_each do |organization|
|
14
|
-
next if ContentBlock.where(decidim_organization_id: organization.id).
|
14
|
+
next if ContentBlock.where(decidim_organization_id: organization.id).exists?(manifest_name: "upcoming_events")
|
15
15
|
|
16
16
|
last_weight = ContentBlock.where(decidim_organization_id: organization.id).order("weight DESC").limit(1).pluck(:weight).last.to_i
|
17
17
|
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class AddRegistrationTypeAndUrlToMeetings < ActiveRecord::Migration[5.2]
|
4
|
+
class Meetings < ApplicationRecord
|
5
|
+
self.table_name = :decidim_meetings_meetings
|
6
|
+
include Decidim::HasComponent
|
7
|
+
end
|
8
|
+
|
9
|
+
def change
|
10
|
+
add_column :decidim_meetings_meetings, :registration_type, :string, null: false, default: "registration_disabled"
|
11
|
+
add_column :decidim_meetings_meetings, :registration_url, :string
|
12
|
+
|
13
|
+
Meetings.reset_column_information
|
14
|
+
Meetings.find_each do |meeting|
|
15
|
+
meeting.registration_type = "on_this_platform" if meeting.decidim_author_type == "Decidim::Organization"
|
16
|
+
meeting.save!
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class AddRegistrationCustomContentToMeetings < ActiveRecord::Migration[5.2]
|
4
|
+
def change
|
5
|
+
add_column :decidim_meetings_meetings, :customize_registration_email, :boolean, default: false, null: false
|
6
|
+
add_column :decidim_meetings_meetings, :registration_email_custom_content, :jsonb
|
7
|
+
end
|
8
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class AddFollowableCounterCacheToMeetings < ActiveRecord::Migration[5.2]
|
4
|
+
def change
|
5
|
+
add_column :decidim_meetings_meetings, :follows_count, :integer, null: false, default: 0, index: true
|
6
|
+
|
7
|
+
reversible do |dir|
|
8
|
+
dir.up do
|
9
|
+
Decidim::Meetings::Meeting.reset_column_information
|
10
|
+
Decidim::Meetings::Meeting.find_each do |record|
|
11
|
+
record.class.reset_counters(record.id, :follows)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# By default all existing meetings were published when created
|
4
|
+
# This migration prevents un-publishing all existing meetings
|
5
|
+
class UpdatePublishedAtToExistingMeetings < ActiveRecord::Migration[5.2]
|
6
|
+
class Meeting < ApplicationRecord
|
7
|
+
self.table_name = :decidim_meetings_meetings
|
8
|
+
end
|
9
|
+
|
10
|
+
def change
|
11
|
+
Meeting.reset_column_information
|
12
|
+
|
13
|
+
Meeting.find_each do |meeting|
|
14
|
+
if meeting.published_at.nil?
|
15
|
+
meeting.published_at = meeting.created_at
|
16
|
+
meeting.save!
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class MergeMeetingsMinutesIntoMeetingsTable < ActiveRecord::Migration[6.0]
|
4
|
+
class Minutes < ApplicationRecord
|
5
|
+
self.table_name = "decidim_meetings_minutes"
|
6
|
+
|
7
|
+
belongs_to :meeting, foreign_key: "decidim_meeting_id", class_name: "Meeting"
|
8
|
+
end
|
9
|
+
|
10
|
+
class Meeting < ApplicationRecord
|
11
|
+
self.table_name = "decidim_meetings_meetings"
|
12
|
+
end
|
13
|
+
|
14
|
+
def up
|
15
|
+
add_column :decidim_meetings_meetings, :minutes_description, :jsonb
|
16
|
+
add_column :decidim_meetings_meetings, :video_url, :string
|
17
|
+
add_column :decidim_meetings_meetings, :audio_url, :string
|
18
|
+
add_column :decidim_meetings_meetings, :minutes_visible, :boolean
|
19
|
+
|
20
|
+
Minutes.find_each do |minutes|
|
21
|
+
minutes.meeting.update!(
|
22
|
+
minutes_description: minutes.description,
|
23
|
+
video_url: minutes.video_url,
|
24
|
+
audio_url: minutes.audio_url,
|
25
|
+
minutes_visible: minutes.visible
|
26
|
+
)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def down
|
31
|
+
Meeting.find_each do |meeting|
|
32
|
+
next if meeting.video_url.blank? && meeting.audio_url.blank?
|
33
|
+
|
34
|
+
Minutes.find_or_create_by!(
|
35
|
+
decidim_meeting_id: meeting.id,
|
36
|
+
description: meeting.minutes_description,
|
37
|
+
video_url: meeting.video_url,
|
38
|
+
audio_url: meeting.audio_url,
|
39
|
+
visible: meeting.minutes_visible
|
40
|
+
)
|
41
|
+
end
|
42
|
+
|
43
|
+
remove_column :decidim_meetings_meetings, :minutes_description
|
44
|
+
remove_column :decidim_meetings_meetings, :video_url
|
45
|
+
remove_column :decidim_meetings_meetings, :audio_url
|
46
|
+
remove_column :decidim_meetings_meetings, :minutes_visible
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class DropDecidimMeetingsMinutesTable < ActiveRecord::Migration[6.0]
|
4
|
+
class Minutes < ApplicationRecord
|
5
|
+
self.table_name = "decidim_meetings_minutes"
|
6
|
+
end
|
7
|
+
|
8
|
+
class ActionLog < ApplicationRecord
|
9
|
+
self.table_name = "decidim_action_logs"
|
10
|
+
end
|
11
|
+
|
12
|
+
class Version < ApplicationRecord
|
13
|
+
self.table_name = :versions
|
14
|
+
end
|
15
|
+
|
16
|
+
class Meeting < ApplicationRecord
|
17
|
+
self.table_name = "decidim_meetings_meetings"
|
18
|
+
end
|
19
|
+
|
20
|
+
def up
|
21
|
+
ActionLog.where(resource_type: "Decidim::Meetings::Minutes").each do |action_log|
|
22
|
+
minutes = Minutes.find_by(id: action_log.resource_id)
|
23
|
+
version = Version.find_by(id: action_log.version_id)
|
24
|
+
next unless minutes && version
|
25
|
+
|
26
|
+
version_updates = {
|
27
|
+
item_type: "Decidim::Meetings::Meeting",
|
28
|
+
item_id: minutes.decidim_meeting_id
|
29
|
+
}
|
30
|
+
if version.object_changes.present?
|
31
|
+
version_updates[:object_changes] = version.object_changes
|
32
|
+
.gsub("\ndescription:\n-\n-", "\nminutes_description:\n-\n-")
|
33
|
+
.gsub("\ndescription:\n-\n-", "\nminutes_description:\n-\n-")
|
34
|
+
end
|
35
|
+
|
36
|
+
version.update!(version_updates)
|
37
|
+
action_log.update!(
|
38
|
+
resource_type: "Decidim::Meetings::Meeting",
|
39
|
+
resource_id: minutes.decidim_meeting_id,
|
40
|
+
action: "close"
|
41
|
+
)
|
42
|
+
end
|
43
|
+
|
44
|
+
drop_table :decidim_meetings_minutes
|
45
|
+
end
|
46
|
+
|
47
|
+
def down
|
48
|
+
create_table :decidim_meetings_minutes do |t|
|
49
|
+
t.references :decidim_meeting, index: true
|
50
|
+
t.jsonb :description
|
51
|
+
t.string :video_url
|
52
|
+
t.string :audio_url
|
53
|
+
t.boolean :visible
|
54
|
+
|
55
|
+
t.timestamps
|
56
|
+
end
|
57
|
+
|
58
|
+
Meeting.find_each do |meeting|
|
59
|
+
next if blank_minutes?(meeting)
|
60
|
+
|
61
|
+
Minutes.create!(
|
62
|
+
decidim_meeting_id: meeting.id,
|
63
|
+
description: meeting.minutes_description,
|
64
|
+
video_url: meeting.video_url,
|
65
|
+
audio_url: meeting.audio_url,
|
66
|
+
visible: meeting.minutes_visible
|
67
|
+
)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
private
|
73
|
+
|
74
|
+
def blank_minutes?(meeting)
|
75
|
+
(meeting.video_url.blank? &&
|
76
|
+
meeting.audio_url.blank? &&
|
77
|
+
meeting.minutes_description.blank?) || (meeting.minutes_description.is_a?(Hash) && meeting.minutes_description.values.all?(&:blank?))
|
78
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class MergeMinutesWithClosingReportInMeetingsTable < ActiveRecord::Migration[6.0]
|
4
|
+
class Meeting < ApplicationRecord
|
5
|
+
self.table_name = "decidim_meetings_meetings"
|
6
|
+
end
|
7
|
+
|
8
|
+
def up
|
9
|
+
Meeting.find_each do |meeting|
|
10
|
+
check_close_data_presence(meeting)
|
11
|
+
check_closing_visibility(meeting)
|
12
|
+
merge_closing_report(meeting)
|
13
|
+
|
14
|
+
meeting.save!
|
15
|
+
end
|
16
|
+
|
17
|
+
rename_column :decidim_meetings_meetings, :minutes_visible, :closing_visible
|
18
|
+
remove_column :decidim_meetings_meetings, :minutes_description
|
19
|
+
end
|
20
|
+
|
21
|
+
def down
|
22
|
+
add_column :decidim_meetings_meetings, :minutes_description, :jsonb
|
23
|
+
rename_column :decidim_meetings_meetings, :closing_visible, :minutes_visible
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
# Ensures close meeting if minutes_data exists
|
30
|
+
def check_close_data_presence(meeting)
|
31
|
+
return if meeting.closed_at.present? || !minutes_data?(meeting)
|
32
|
+
|
33
|
+
meeting.closed_at = Time.current
|
34
|
+
end
|
35
|
+
|
36
|
+
# If meeting is closed and minutes data is blank the closing
|
37
|
+
# should remain visible unless it has already been defined
|
38
|
+
def check_closing_visibility(meeting)
|
39
|
+
return unless meeting.minutes_visible.nil?
|
40
|
+
return if minutes_data?(meeting) || meeting.closed_at.blank?
|
41
|
+
|
42
|
+
meeting.minutes_visible = true
|
43
|
+
end
|
44
|
+
|
45
|
+
# Ignore minutes_description if already exists a closing report or
|
46
|
+
# minutes_description is blank
|
47
|
+
def merge_closing_report(meeting)
|
48
|
+
return if meeting.closing_report.is_a?(Hash) && meeting.closing_report.values.any?(&:present?)
|
49
|
+
return unless meeting.minutes_description.is_a?(Hash) && meeting.minutes_description.values.any?(&:present?)
|
50
|
+
|
51
|
+
meeting.closing_report = meeting.minutes_description
|
52
|
+
end
|
53
|
+
|
54
|
+
def minutes_data?(meeting)
|
55
|
+
[meeting.video_url, meeting.audio_url].any?(&:present?) ||
|
56
|
+
(meeting.minutes_description.is_a?(Hash) && meeting.minutes_description.values.any?(&:present?))
|
57
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class AddCommentsAvailabilityColumnsToMeetingsTable < ActiveRecord::Migration[6.0]
|
4
|
+
def change
|
5
|
+
add_column :decidim_meetings_meetings, :comments_enabled, :boolean, default: true
|
6
|
+
add_column :decidim_meetings_meetings, :comments_start_time, :datetime
|
7
|
+
add_column :decidim_meetings_meetings, :comments_end_time, :datetime
|
8
|
+
reversible do |dir|
|
9
|
+
dir.up do
|
10
|
+
execute "UPDATE decidim_meetings_meetings set comments_enabled = true"
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class CreateDecidimMeetingsQuestionnaires < ActiveRecord::Migration[6.0]
|
4
|
+
def change
|
5
|
+
create_table :decidim_meetings_questionnaires do |t|
|
6
|
+
t.references :questionnaire_for, polymorphic: true, index: { name: "index_decidim_meetings_questionnaires_questionnaire_for" }
|
7
|
+
|
8
|
+
t.timestamps
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class CreateDecidimMeetingsQuestions < ActiveRecord::Migration[6.0]
|
4
|
+
def change
|
5
|
+
create_table :decidim_meetings_questions do |t|
|
6
|
+
t.references :decidim_questionnaire, index: true
|
7
|
+
t.integer :position, index: true
|
8
|
+
t.string :question_type
|
9
|
+
t.jsonb :body
|
10
|
+
t.integer :max_choices
|
11
|
+
|
12
|
+
t.timestamps
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class CreateDecidimMeetingsAnswers < ActiveRecord::Migration[6.0]
|
4
|
+
def change
|
5
|
+
create_table :decidim_meetings_answers do |t|
|
6
|
+
t.references :decidim_user, index: true
|
7
|
+
t.references :decidim_questionnaire, index: true
|
8
|
+
t.references :decidim_question, index: { name: "index_decidim_meetings_answers_question_id" }
|
9
|
+
|
10
|
+
t.timestamps
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class CreateDecidimMeetingsAnswerOptions < ActiveRecord::Migration[6.0]
|
4
|
+
def change
|
5
|
+
create_table :decidim_meetings_answer_options do |t|
|
6
|
+
t.references :decidim_question, index: { name: "index_decidim_meetings_answer_options_question_id" }
|
7
|
+
t.jsonb :body
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class CreateDecidimMeetingsAnswerChoices < ActiveRecord::Migration[6.0]
|
4
|
+
def change
|
5
|
+
create_table :decidim_meetings_answer_choices do |t|
|
6
|
+
t.references :decidim_answer, index: { name: "index_decidim_meetings_answer_choices_answer_id" }
|
7
|
+
t.references :decidim_answer_option, index: { name: "index_decidim_meetings_answer_choices_answer_option_id" }
|
8
|
+
t.integer :position
|
9
|
+
t.jsonb :body
|
10
|
+
t.text :custom_body
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|