decidim-meetings 0.24.2 → 0.25.0.rc3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/cells/decidim/meetings/join_meeting_button/registration_confirm.erb +6 -0
- data/app/cells/decidim/meetings/join_meeting_button/show.erb +8 -6
- data/app/cells/decidim/meetings/meeting_m_cell.rb +4 -0
- data/app/cells/decidim/meetings/meeting_url/show.erb +7 -2
- data/app/cells/decidim/meetings/meeting_url_cell.rb +14 -2
- data/app/cells/decidim/meetings/meetings_map/show.erb +1 -1
- data/app/cells/decidim/meetings/meetings_map_cell.rb +1 -1
- data/app/cells/decidim/meetings/online_meeting_cell.rb +36 -0
- data/app/cells/decidim/meetings/online_meeting_link/show.erb +44 -0
- data/app/cells/decidim/meetings/online_meeting_link_cell.rb +27 -0
- data/app/cells/decidim/meetings/public_participants_list/show.erb +16 -0
- data/app/cells/decidim/meetings/public_participants_list_cell.rb +31 -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/commands/decidim/meetings/admin/close_meeting.rb +3 -0
- data/app/commands/decidim/meetings/admin/copy_meeting.rb +0 -9
- data/app/commands/decidim/meetings/admin/create_meeting.rb +4 -20
- data/app/commands/decidim/meetings/admin/destroy_meeting.rb +2 -0
- data/app/commands/decidim/meetings/admin/publish_meeting.rb +72 -0
- data/app/commands/decidim/meetings/admin/unpublish_meeting.rb +45 -0
- data/app/commands/decidim/meetings/admin/update_meeting.rb +6 -3
- data/app/commands/decidim/meetings/admin/update_question_status.rb +57 -0
- data/app/commands/decidim/meetings/admin/update_questionnaire.rb +93 -0
- data/app/commands/decidim/meetings/close_meeting.rb +2 -0
- data/app/commands/decidim/meetings/create_answer.rb +52 -0
- data/app/commands/decidim/meetings/create_meeting.rb +3 -1
- data/app/commands/decidim/meetings/join_meeting.rb +2 -1
- data/app/commands/decidim/meetings/update_meeting.rb +2 -1
- data/app/controllers/concerns/decidim/meetings/admin/filterable.rb +55 -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 +1 -1
- 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 +8 -0
- data/app/controllers/decidim/meetings/live_events_controller.rb +29 -0
- data/app/controllers/decidim/meetings/meeting_closes_controller.rb +1 -1
- 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/create_meeting_event.rb +16 -0
- data/app/forms/decidim/meetings/admin/answer_option_form.rb +24 -0
- data/app/forms/decidim/meetings/admin/close_meeting_form.rb +3 -1
- data/app/forms/decidim/meetings/admin/meeting_form.rb +12 -1
- 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 +65 -0
- data/app/forms/decidim/meetings/close_meeting_form.rb +4 -0
- data/app/forms/decidim/meetings/join_meeting_form.rb +1 -0
- data/app/forms/decidim/meetings/meeting_form.rb +9 -0
- data/app/helpers/decidim/meetings/admin/filterable_helper.rb +13 -0
- data/app/helpers/decidim/meetings/application_helper.rb +3 -2
- data/app/helpers/decidim/meetings/map_helper.rb +1 -1
- data/app/helpers/decidim/meetings/meetings_helper.rb +21 -0
- 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/meeting.rb +88 -42
- 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 +23 -0
- data/app/models/decidim/meetings/registration.rb +2 -0
- 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} +7 -4
- data/app/{assets/javascripts/decidim/meetings/admin/registrations_form.js.es6 → packs/src/decidim/meetings/admin/registrations_form.js} +0 -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 +54 -0
- data/app/packs/src/decidim/meetings/meetings_polls.js +41 -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 +42 -17
- data/app/presenters/decidim/meetings/admin_log/meeting_presenter.rb +5 -1
- data/app/presenters/decidim/meetings/meeting_presenter.rb +25 -25
- data/app/queries/decidim/meetings/filtered_meetings.rb +1 -1
- 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 +2 -1
- data/app/serializers/decidim/meetings/data_portability_registration_serializer.rb +2 -1
- data/app/serializers/decidim/meetings/registration_serializer.rb +3 -12
- data/app/services/decidim/meetings/calendar/component_calendar.rb +2 -2
- data/app/services/decidim/meetings/calendar/meeting_calendar.rb +33 -0
- data/app/services/decidim/meetings/calendar_renderer.rb +2 -0
- data/app/services/decidim/meetings/meeting_iframe_embedder.rb +86 -0
- data/app/services/decidim/meetings/meeting_search.rb +2 -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/meeting_closes/_form.html.erb +16 -1
- data/app/views/decidim/meetings/admin/meeting_copies/_form.html.erb +1 -1
- data/app/views/decidim/meetings/admin/meetings/_form.html.erb +16 -1
- data/app/views/decidim/meetings/admin/meetings/index.html.erb +39 -11
- 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 +1 -1
- data/app/views/decidim/meetings/directory/meetings/index.html.erb +4 -4
- data/app/views/decidim/meetings/directory/meetings/index.js.erb +2 -0
- data/app/views/decidim/meetings/layouts/live_event.html.erb +50 -0
- data/app/views/decidim/meetings/live_events/show.html.erb +12 -0
- data/app/views/decidim/meetings/meeting_closes/_form.html.erb +8 -1
- data/app/views/decidim/meetings/meeting_closes/edit.html.erb +1 -1
- data/app/views/decidim/meetings/meetings/_calendar_modal.html.erb +26 -0
- data/app/views/decidim/meetings/meetings/_filters.html.erb +1 -1
- data/app/views/decidim/meetings/meetings/_form.html.erb +6 -1
- data/app/views/decidim/meetings/meetings/_linked_meetings.html.erb +1 -1
- data/app/views/decidim/meetings/meetings/_meeting_minutes.html.erb +7 -18
- data/app/views/decidim/meetings/meetings/edit.html.erb +1 -1
- data/app/views/decidim/meetings/meetings/index.html.erb +4 -4
- data/app/views/decidim/meetings/meetings/index.js.erb +1 -1
- data/app/views/decidim/meetings/meetings/new.html.erb +1 -1
- data/app/views/decidim/meetings/meetings/show.html.erb +13 -14
- 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 +5 -2
- data/app/views/devise/mailer/join_meeting.html.erb +6 -6
- data/config/assets.rb +11 -0
- data/config/locales/ar.yml +3 -24
- data/config/locales/ca.yml +36 -27
- data/config/locales/cs.yml +72 -26
- data/config/locales/de.yml +22 -27
- data/config/locales/el.yml +3 -24
- data/config/locales/en.yml +112 -26
- data/config/locales/es-MX.yml +13 -27
- data/config/locales/es-PY.yml +13 -27
- data/config/locales/es.yml +13 -27
- data/config/locales/eu.yml +3 -24
- data/config/locales/fi-plain.yml +70 -26
- data/config/locales/fi.yml +70 -26
- data/config/locales/fr-CA.yml +19 -26
- data/config/locales/fr-LU.yml +534 -0
- data/config/locales/fr.yml +19 -26
- data/config/locales/gl.yml +46 -24
- data/config/locales/hu.yml +5 -24
- data/config/locales/id-ID.yml +3 -24
- data/config/locales/is-IS.yml +2 -22
- data/config/locales/it.yml +117 -23
- data/config/locales/ja.yml +148 -58
- data/config/locales/lb-LU.yml +1 -0
- data/config/locales/lv.yml +3 -24
- data/config/locales/nl.yml +70 -25
- data/config/locales/no.yml +5 -26
- data/config/locales/pl.yml +27 -38
- data/config/locales/pt-BR.yml +178 -23
- data/config/locales/pt.yml +3 -24
- data/config/locales/ro-RO.yml +38 -27
- data/config/locales/ru.yml +3 -24
- data/config/locales/sk.yml +3 -24
- data/config/locales/sv.yml +36 -27
- data/config/locales/tr-TR.yml +5 -27
- data/config/locales/uk.yml +3 -24
- data/config/locales/zh-CN.yml +3 -24
- data/db/migrate/20210217124802_add_registration_custom_content_to_meetings.rb +8 -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 +77 -0
- data/db/migrate/20210518133236_merge_minutes_with_closing_report_in_meetings_table.rb +57 -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/lib/decidim/api/linked_resources_interface.rb +8 -1
- data/lib/decidim/api/meeting_type.rb +19 -4
- data/lib/decidim/api/meetings_type.rb +2 -2
- data/lib/decidim/meetings/admin_engine.rb +5 -1
- data/lib/decidim/meetings/api.rb +0 -1
- data/lib/decidim/meetings/component.rb +41 -6
- data/lib/decidim/meetings/data_portability_user_answers_serializer.rb +33 -0
- data/lib/decidim/meetings/engine.rb +10 -11
- data/lib/decidim/meetings/meeting_serializer.rb +1 -0
- data/lib/decidim/meetings/polls.rb +10 -0
- data/lib/decidim/meetings/test/factories.rb +85 -9
- data/lib/decidim/meetings/user_answers_serializer.rb +47 -0
- data/lib/decidim/meetings/version.rb +1 -1
- data/lib/decidim/meetings.rb +10 -0
- metadata +103 -113
- data/app/assets/config/decidim_meetings_manifest.js +0 -9
- data/app/assets/javascripts/decidim/meetings/admin/agendas.js.es6 +0 -158
- data/app/assets/javascripts/decidim/meetings/meetings_form.js.es6 +0 -54
- 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/presenters/decidim/meetings/admin_log/minutes_presenter.rb +0 -42
- 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/meetings/meetings/_online_meeting_link.html.erb +0 -11
- data/config/locales/ja-JP.yml +0 -494
- data/lib/decidim/api/minutes_type.rb +0 -20
data/config/locales/tr-TR.yml
CHANGED
@@ -8,9 +8,12 @@ tr:
|
|
8
8
|
close_meeting:
|
9
9
|
attendees_count: Katılımcı sayısı
|
10
10
|
attending_organizations: Katılan kuruluşların listesi
|
11
|
-
|
11
|
+
audio_url: Ses URL'si
|
12
|
+
closing_report: Dakika
|
13
|
+
closing_visible: Görünür
|
12
14
|
contributions_count: Katkı sayısı
|
13
15
|
proposal_ids: Toplantıda oluşturulan teklifler
|
16
|
+
video_url: Video URL'si
|
14
17
|
meeting:
|
15
18
|
address: Adres
|
16
19
|
available_slots: Bu toplantı için mevcut yuvalar
|
@@ -33,11 +36,6 @@ tr:
|
|
33
36
|
title: Başlık
|
34
37
|
transparent: Şeffaf
|
35
38
|
type_of_meeting: Tür
|
36
|
-
minutes:
|
37
|
-
audio_url: Ses URL'si
|
38
|
-
description: Açıklama
|
39
|
-
video_url: Video URL'si
|
40
|
-
visible: Görünür
|
41
39
|
errors:
|
42
40
|
models:
|
43
41
|
meeting_agenda:
|
@@ -170,7 +168,6 @@ tr:
|
|
170
168
|
proposals_count:
|
171
169
|
one: 'Toplantı, kendisiyle ilişkilendirilmiş %{count} teklif içerdiğinden yok edilemez:'
|
172
170
|
other: 'Toplantı, kendisiyle ilişkilendirilmiş %{count} teklif içerdiğinden yok edilemez:'
|
173
|
-
minutes: Dakika
|
174
171
|
new: Yeni toplantı
|
175
172
|
preview: Ön izleme
|
176
173
|
registrations: Kayıtlar
|
@@ -247,7 +244,6 @@ tr:
|
|
247
244
|
success: Toplantı başarıyla kapatıldı
|
248
245
|
create:
|
249
246
|
invalid: Bu toplantıyı oluştururken bir sorun oluştu
|
250
|
-
success: Toplantı başarıyla oluşturuldu
|
251
247
|
destroy:
|
252
248
|
invalid:
|
253
249
|
proposals_count:
|
@@ -285,19 +281,6 @@ tr:
|
|
285
281
|
update:
|
286
282
|
invalid: Bu toplantı güncellenirken bir sorun oluştu
|
287
283
|
success: Toplantı başarıyla güncellendi
|
288
|
-
minutes:
|
289
|
-
create:
|
290
|
-
invalid: Bu dakikalar oluşturulurken bir sorunla karşılaşıldı
|
291
|
-
success: Dakika başarıyla oluşturuldu
|
292
|
-
edit:
|
293
|
-
title: Dakikaları düzenleyin
|
294
|
-
update: Güncelle
|
295
|
-
new:
|
296
|
-
create: Oluştur
|
297
|
-
title: Dakika oluşturun
|
298
|
-
update:
|
299
|
-
invalid: Bu dakikalar güncellenirken bir sorun oluştu
|
300
|
-
success: Dakika başarıyla güncellendi
|
301
284
|
models:
|
302
285
|
meeting:
|
303
286
|
name: Toplantı
|
@@ -337,9 +320,6 @@ tr:
|
|
337
320
|
value_types:
|
338
321
|
organizer_presenter:
|
339
322
|
not_found: 'Organizatör veritabanında bulunamadı (ID: %{id})'
|
340
|
-
minutes:
|
341
|
-
create: "%{user_name}, %{space_name} alanında%{resource_name} toplantısının dakikalarını oluşturdu"
|
342
|
-
update: "%{user_name}, %{space_name} alanında %{resource_name} toplantısının dakikalarını güncelledi"
|
343
323
|
calendar_modal:
|
344
324
|
calendar_url: Takvim URL'si
|
345
325
|
close_window: Pencereyi kapat
|
@@ -429,7 +409,6 @@ tr:
|
|
429
409
|
index:
|
430
410
|
new_meeting: Yeni toplantı
|
431
411
|
meeting_minutes:
|
432
|
-
meeting_minutes: Görüşme süreleri
|
433
412
|
related_information: İlgili bilgi
|
434
413
|
meetings:
|
435
414
|
no_meetings_warning: Hiçbir toplantı, arama kriterinizle eşleşmiyor veya planlanmış bir toplantı yok.
|
@@ -448,9 +427,8 @@ tr:
|
|
448
427
|
contributions: Katkı sayımı
|
449
428
|
date: Tarih
|
450
429
|
edit_meeting: Toplantıyı Düzenle
|
451
|
-
going: Devam eden
|
452
430
|
join: Toplantıya katıl
|
453
|
-
|
431
|
+
meeting_minutes: Görüşme süreleri
|
454
432
|
no_slots_available: Kullanılabilir yer yok
|
455
433
|
organizations: Katılan kuruluşlar
|
456
434
|
registration_code_help_text: Kayıt kodunuz
|
data/config/locales/uk.yml
CHANGED
@@ -8,7 +8,8 @@ uk:
|
|
8
8
|
close_meeting:
|
9
9
|
attendees_count: Кількість учасників
|
10
10
|
attending_organizations: Перелік організацій, які брали участь
|
11
|
-
closing_report:
|
11
|
+
closing_report: Протокол
|
12
|
+
closing_visible: Видимий
|
12
13
|
contributions_count: Кількість внесених пропозицій
|
13
14
|
proposal_ids: Пропозиції, вироблені під час зустрічі
|
14
15
|
meeting:
|
@@ -27,9 +28,6 @@ uk:
|
|
27
28
|
start_time: Час початку
|
28
29
|
title: Назва
|
29
30
|
transparent: Прозора
|
30
|
-
minutes:
|
31
|
-
description: Опис
|
32
|
-
visible: Видимий
|
33
31
|
errors:
|
34
32
|
models:
|
35
33
|
meeting_agenda:
|
@@ -136,7 +134,6 @@ uk:
|
|
136
134
|
confirm_destroy: Ви впевнені, що хочете видалити цю зустріч?
|
137
135
|
destroy: Видалити
|
138
136
|
edit: Редагувати
|
139
|
-
minutes: Протокол
|
140
137
|
new: Додати зустріч
|
141
138
|
preview: Попередній перегляд
|
142
139
|
registrations: Реєстрації
|
@@ -211,7 +208,6 @@ uk:
|
|
211
208
|
success: Зустріч успішно завершено
|
212
209
|
create:
|
213
210
|
invalid: При спробі додати цю зустріч сталася помилка
|
214
|
-
success: Зустріч успішно додано
|
215
211
|
destroy:
|
216
212
|
success: Зустріч успішно видалено
|
217
213
|
edit:
|
@@ -234,18 +230,6 @@ uk:
|
|
234
230
|
update:
|
235
231
|
invalid: При спробі оновити цю зустріч сталася помилка
|
236
232
|
success: Зустріч успішно оновлено
|
237
|
-
minutes:
|
238
|
-
create:
|
239
|
-
invalid: При спробі створити цей протокол сталася помилка
|
240
|
-
success: Протокол успішно створено
|
241
|
-
edit:
|
242
|
-
update: Оновити
|
243
|
-
new:
|
244
|
-
create: Додати
|
245
|
-
title: Додати протокол
|
246
|
-
update:
|
247
|
-
invalid: При спробі оновити цей протокол сталася помилка
|
248
|
-
success: Протокол успішно оновлено
|
249
233
|
models:
|
250
234
|
meeting:
|
251
235
|
name: Зустріч
|
@@ -279,9 +263,6 @@ uk:
|
|
279
263
|
value_types:
|
280
264
|
organizer_presenter:
|
281
265
|
not_found: 'Цього організатора не знайдено в базі даних (ID: %{id})'
|
282
|
-
minutes:
|
283
|
-
create: "%{user_name} створив протокол зустрічі %{resource_name} у просторі %{space_name}"
|
284
|
-
update: "%{user_name} оновив протокол зустрічі %{resource_name} у просторі %{space_name}"
|
285
266
|
mailer:
|
286
267
|
invite_join_meeting_mailer:
|
287
268
|
invite:
|
@@ -302,7 +283,6 @@ uk:
|
|
302
283
|
filter_by: 'Відібрати за ознакою:'
|
303
284
|
unfold: Розгорнути
|
304
285
|
meeting_minutes:
|
305
|
-
meeting_minutes: Протокол зустрічі
|
306
286
|
related_information: Супутні відомості
|
307
287
|
meetings:
|
308
288
|
no_meetings_warning: Жодна зустріч не відповідає вашим критеріям пошуку, або жодних зустрічей не заплановано.
|
@@ -313,9 +293,8 @@ uk:
|
|
313
293
|
show:
|
314
294
|
attendees: Кількість учасників
|
315
295
|
contributions: Кількість внесених пропозицій
|
316
|
-
going: Збираєтесь відвідати
|
317
296
|
join: Долучитись до зустрічі
|
318
|
-
|
297
|
+
meeting_minutes: Протокол зустрічі
|
319
298
|
no_slots_available: Не залишилось місць
|
320
299
|
organizations: Організації, що приймають участь
|
321
300
|
view: Переглянути
|
data/config/locales/zh-CN.yml
CHANGED
@@ -8,7 +8,8 @@ zh-CN:
|
|
8
8
|
close_meeting:
|
9
9
|
attendees_count: 参与者人数
|
10
10
|
attending_organizations: 与会组织名单
|
11
|
-
closing_report:
|
11
|
+
closing_report: 分钟
|
12
|
+
closing_visible: 可见
|
12
13
|
contributions_count: 捐款数目
|
13
14
|
proposal_ids: 会议上提出的建议
|
14
15
|
meeting:
|
@@ -30,9 +31,6 @@ zh-CN:
|
|
30
31
|
start_time: 开始时间
|
31
32
|
title: 标题
|
32
33
|
transparent: 透明的
|
33
|
-
minutes:
|
34
|
-
description: 描述
|
35
|
-
visible: 可见
|
36
34
|
errors:
|
37
35
|
models:
|
38
36
|
meeting_agenda:
|
@@ -159,7 +157,6 @@ zh-CN:
|
|
159
157
|
invalid_destroy:
|
160
158
|
proposals_count:
|
161
159
|
other: '会议不能被破坏,因为它有 %{count} 个建议与此相关联:'
|
162
|
-
minutes: 分钟
|
163
160
|
new: 新会议
|
164
161
|
preview: 预览
|
165
162
|
registrations: 注册
|
@@ -235,7 +232,6 @@ zh-CN:
|
|
235
232
|
success: 会议已成功关闭
|
236
233
|
create:
|
237
234
|
invalid: 创建此会议时出现问题
|
238
|
-
success: 会议已成功创建
|
239
235
|
destroy:
|
240
236
|
invalid:
|
241
237
|
proposals_count:
|
@@ -264,18 +260,6 @@ zh-CN:
|
|
264
260
|
update:
|
265
261
|
invalid: 更新本次会议时出错
|
266
262
|
success: 会议已成功更新
|
267
|
-
minutes:
|
268
|
-
create:
|
269
|
-
invalid: 创建这分钟时出错
|
270
|
-
success: 创建分钟成功
|
271
|
-
edit:
|
272
|
-
update: 更新
|
273
|
-
new:
|
274
|
-
create: 创建
|
275
|
-
title: 创建分钟
|
276
|
-
update:
|
277
|
-
invalid: 更新这分钟时出现问题
|
278
|
-
success: 分钟已成功更新
|
279
263
|
models:
|
280
264
|
meeting:
|
281
265
|
name: 会议
|
@@ -314,9 +298,6 @@ zh-CN:
|
|
314
298
|
value_types:
|
315
299
|
organizer_presenter:
|
316
300
|
not_found: '在数据库中找不到组织者 (ID: %{id})'
|
317
|
-
minutes:
|
318
|
-
create: "%{user_name} 在 %{space_name} 空间创建了会议记录 %{resource_name}"
|
319
|
-
update: "%{user_name} 更新了会议记录 %{resource_name} 在 %{space_name} 空间"
|
320
301
|
calendar_modal:
|
321
302
|
calendar_url: 日历 URL
|
322
303
|
close_window: 关闭窗口
|
@@ -387,7 +368,6 @@ zh-CN:
|
|
387
368
|
index:
|
388
369
|
new_meeting: 新会议
|
389
370
|
meeting_minutes:
|
390
|
-
meeting_minutes: 会议分钟
|
391
371
|
related_information: 相关信息
|
392
372
|
meetings:
|
393
373
|
no_meetings_warning: 没有符合您搜索条件的会议,也没有安排任何会议。
|
@@ -405,9 +385,8 @@ zh-CN:
|
|
405
385
|
contributions: 捐款计数
|
406
386
|
date: 日期
|
407
387
|
edit_meeting: 编辑会议
|
408
|
-
going: 去了
|
409
388
|
join: 加入会议
|
410
|
-
|
389
|
+
meeting_minutes: 会议分钟
|
411
390
|
no_slots_available: 无可用槽位
|
412
391
|
organizations: B. 参加组织
|
413
392
|
registration_code_help_text: 您的注册码
|
@@ -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,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,77 @@
|
|
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
|
+
|
25
|
+
version_updates = {
|
26
|
+
item_type: "Decidim::Meetings::Meeting",
|
27
|
+
item_id: minutes.decidim_meeting_id
|
28
|
+
}
|
29
|
+
if version.object_changes.present?
|
30
|
+
version_updates[:object_changes] = version.object_changes
|
31
|
+
.gsub("\ndescription:\n-\n-", "\nminutes_description:\n-\n-")
|
32
|
+
.gsub("\ndescription:\n-\n-", "\nminutes_description:\n-\n-")
|
33
|
+
end
|
34
|
+
|
35
|
+
version.update!(version_updates)
|
36
|
+
action_log.update!(
|
37
|
+
resource_type: "Decidim::Meetings::Meeting",
|
38
|
+
resource_id: minutes.decidim_meeting_id,
|
39
|
+
action: "close"
|
40
|
+
)
|
41
|
+
end
|
42
|
+
|
43
|
+
drop_table :decidim_meetings_minutes
|
44
|
+
end
|
45
|
+
|
46
|
+
def down
|
47
|
+
create_table :decidim_meetings_minutes do |t|
|
48
|
+
t.references :decidim_meeting, index: true
|
49
|
+
t.jsonb :description
|
50
|
+
t.string :video_url
|
51
|
+
t.string :audio_url
|
52
|
+
t.boolean :visible
|
53
|
+
|
54
|
+
t.timestamps
|
55
|
+
end
|
56
|
+
|
57
|
+
Meeting.find_each do |meeting|
|
58
|
+
next if blank_minutes?(meeting)
|
59
|
+
|
60
|
+
Minutes.create!(
|
61
|
+
decidim_meeting_id: meeting.id,
|
62
|
+
description: meeting.minutes_description,
|
63
|
+
video_url: meeting.video_url,
|
64
|
+
audio_url: meeting.audio_url,
|
65
|
+
visible: meeting.minutes_visible
|
66
|
+
)
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
private
|
72
|
+
|
73
|
+
def blank_minutes?(meeting)
|
74
|
+
meeting.video_url.blank? &&
|
75
|
+
meeting.audio_url.blank? &&
|
76
|
+
meeting.minutes_description.blank? || meeting.minutes_description.is_a?(Hash) && meeting.minutes_description.values.all?(&:blank?)
|
77
|
+
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
|