decidim-meetings 0.23.2 → 0.24.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (127) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/decidim_meetings_manifest.js +1 -0
  3. data/app/assets/javascripts/decidim/meetings/admin/meetings_form.js.es6 +47 -0
  4. data/app/assets/javascripts/decidim/meetings/meetings_form.js.es6 +45 -0
  5. data/app/cells/decidim/meetings/content_blocks/highlighted_meetings/elements.erb +16 -0
  6. data/app/cells/decidim/meetings/content_blocks/highlighted_meetings/heading.erb +1 -0
  7. data/app/cells/decidim/meetings/content_blocks/highlighted_meetings_cell.rb +27 -0
  8. data/app/cells/decidim/meetings/join_meeting_button/show.erb +7 -0
  9. data/app/cells/decidim/meetings/meeting_activity_cell.rb +13 -5
  10. data/app/cells/decidim/meetings/meeting_cell.rb +2 -4
  11. data/app/cells/decidim/meetings/meeting_highlighted_list_item/show.erb +21 -0
  12. data/app/cells/decidim/meetings/meeting_highlighted_list_item_cell.rb +10 -0
  13. data/app/cells/decidim/meetings/meeting_m/address.erb +5 -1
  14. data/app/cells/decidim/meetings/meeting_m_cell.rb +2 -0
  15. data/app/cells/decidim/meetings/meeting_url/show.erb +15 -0
  16. data/app/cells/decidim/meetings/meeting_url_cell.rb +17 -0
  17. data/app/cells/decidim/meetings/reported_content/show.erb +3 -0
  18. data/app/cells/decidim/meetings/reported_content_cell.rb +13 -0
  19. data/app/commands/decidim/meetings/admin/create_meeting.rb +5 -0
  20. data/app/commands/decidim/meetings/admin/invite_user_to_join_meeting.rb +1 -1
  21. data/app/commands/decidim/meetings/admin/update_meeting.rb +5 -0
  22. data/app/commands/decidim/meetings/admin/validate_registration_code.rb +2 -0
  23. data/app/commands/decidim/meetings/close_meeting.rb +66 -0
  24. data/app/commands/decidim/meetings/create_meeting.rb +7 -1
  25. data/app/commands/decidim/meetings/leave_meeting.rb +2 -2
  26. data/app/commands/decidim/meetings/update_meeting.rb +8 -1
  27. data/app/controllers/decidim/meetings/admin/application_controller.rb +1 -1
  28. data/app/controllers/decidim/meetings/admin/meeting_closes_controller.rb +2 -2
  29. data/app/controllers/decidim/meetings/directory/meetings_controller.rb +2 -2
  30. data/app/controllers/decidim/meetings/meeting_closes_controller.rb +43 -0
  31. data/app/controllers/decidim/meetings/meetings_controller.rb +9 -5
  32. data/app/forms/decidim/meetings/admin/close_meeting_form.rb +4 -4
  33. data/app/forms/decidim/meetings/admin/meeting_form.rb +62 -4
  34. data/app/forms/decidim/meetings/admin/meeting_registrations_form.rb +14 -4
  35. data/app/forms/decidim/meetings/close_meeting_form.rb +31 -0
  36. data/app/forms/decidim/meetings/meeting_form.rb +71 -3
  37. data/app/helpers/decidim/meetings/application_helper.rb +20 -0
  38. data/app/helpers/decidim/meetings/map_helper.rb +1 -1
  39. data/app/models/decidim/meetings/agenda_item.rb +1 -1
  40. data/app/models/decidim/meetings/meeting.rb +54 -2
  41. data/app/permissions/decidim/meetings/permissions.rb +12 -2
  42. data/app/presenters/decidim/meetings/meeting_presenter.rb +33 -0
  43. data/app/services/decidim/meetings/meeting_search.rb +20 -0
  44. data/app/views/decidim/meetings/admin/invite_join_meeting_mailer/invite.html.erb +1 -1
  45. data/app/views/decidim/meetings/admin/invites/index.html.erb +1 -1
  46. data/app/views/decidim/meetings/admin/meetings/_form.html.erb +31 -1
  47. data/app/views/decidim/meetings/admin/meetings/edit.html.erb +2 -2
  48. data/app/views/decidim/meetings/admin/meetings/index.html.erb +23 -1
  49. data/app/views/decidim/meetings/admin/meetings/new.html.erb +2 -2
  50. data/app/views/decidim/meetings/admin/minutes/edit.html.erb +1 -1
  51. data/app/views/decidim/meetings/admin/registrations/edit.html.erb +20 -18
  52. data/app/views/decidim/meetings/directory/meetings/index.html.erb +1 -0
  53. data/app/views/decidim/meetings/directory/meetings/index.js.erb +0 -3
  54. data/app/views/decidim/meetings/meeting_closes/_form.html.erb +7 -0
  55. data/app/views/decidim/meetings/meeting_closes/edit.html.erb +25 -0
  56. data/app/views/decidim/meetings/meeting_closes/proposals_picker.html.erb +1 -0
  57. data/app/views/decidim/meetings/meetings/_filters.html.erb +6 -0
  58. data/app/views/decidim/meetings/meetings/_filters_small_view.html.erb +1 -1
  59. data/app/views/decidim/meetings/meetings/_form.html.erb +36 -2
  60. data/app/views/decidim/meetings/meetings/_online_meeting_link.html.erb +11 -0
  61. data/app/views/decidim/meetings/meetings/edit.html.erb +1 -1
  62. data/app/views/decidim/meetings/meetings/index.js.erb +0 -3
  63. data/app/views/decidim/meetings/meetings/new.html.erb +1 -1
  64. data/app/views/decidim/meetings/meetings/show.html.erb +28 -21
  65. data/app/views/decidim/meetings/registration_mailer/confirmation.html.erb +3 -1
  66. data/app/views/decidim/participatory_spaces/_upcoming_meeting_for_card.html.erb +1 -1
  67. data/config/locales/ar.yml +0 -7
  68. data/config/locales/ca.yml +48 -9
  69. data/config/locales/cs.yml +52 -13
  70. data/config/locales/de.yml +46 -7
  71. data/config/locales/el.yml +0 -10
  72. data/config/locales/en.yml +48 -9
  73. data/config/locales/es-MX.yml +47 -9
  74. data/config/locales/es-PY.yml +47 -9
  75. data/config/locales/es.yml +47 -9
  76. data/config/locales/eu.yml +0 -7
  77. data/config/locales/fi-plain.yml +46 -7
  78. data/config/locales/fi.yml +46 -7
  79. data/config/locales/fr-CA.yml +48 -9
  80. data/config/locales/fr.yml +50 -11
  81. data/config/locales/gl.yml +0 -11
  82. data/config/locales/hu.yml +0 -10
  83. data/config/locales/id-ID.yml +0 -7
  84. data/config/locales/is-IS.yml +0 -6
  85. data/config/locales/it.yml +0 -9
  86. data/config/locales/ja.yml +0 -9
  87. data/config/locales/lv.yml +0 -10
  88. data/config/locales/nl.yml +44 -8
  89. data/config/locales/no.yml +11 -10
  90. data/config/locales/pl.yml +55 -16
  91. data/config/locales/pt-BR.yml +0 -7
  92. data/config/locales/pt.yml +0 -9
  93. data/config/locales/ro-RO.yml +60 -9
  94. data/config/locales/ru.yml +0 -7
  95. data/config/locales/sk.yml +0 -10
  96. data/config/locales/sl.yml +0 -4
  97. data/config/locales/sv.yml +11 -9
  98. data/config/locales/tr-TR.yml +44 -9
  99. data/config/locales/uk.yml +0 -6
  100. data/config/locales/zh-CN.yml +0 -9
  101. data/db/migrate/20180809134748_add_upcoming_events_as_content_block.rb +1 -1
  102. data/db/migrate/20201006140511_add_online_meeting_url.rb +7 -0
  103. data/db/migrate/20201009124057_add_type_of_meeting.rb +7 -0
  104. data/db/migrate/20201016112641_add_registration_type_and_url_to_meetings.rb +19 -0
  105. data/db/migrate/20210310120731_add_followable_counter_cache_to_meetings.rb +16 -0
  106. data/lib/decidim/api/agenda_item_type.rb +22 -0
  107. data/lib/decidim/api/agenda_type.rb +19 -0
  108. data/lib/decidim/api/linked_resources_interface.rb +7 -6
  109. data/lib/decidim/api/meeting_type.rb +63 -0
  110. data/lib/decidim/api/meetings_type.rb +26 -0
  111. data/lib/decidim/api/minutes_type.rb +20 -0
  112. data/{app/types/decidim/meetings → lib/decidim/api}/service_type.rb +4 -4
  113. data/lib/decidim/api/services_interface.rb +3 -3
  114. data/lib/decidim/meetings.rb +1 -1
  115. data/lib/decidim/meetings/api.rb +6 -0
  116. data/lib/decidim/meetings/component.rb +53 -23
  117. data/lib/decidim/meetings/engine.rb +3 -17
  118. data/lib/decidim/meetings/test/factories.rb +16 -4
  119. data/lib/decidim/meetings/version.rb +1 -1
  120. metadata +42 -38
  121. data/app/types/decidim/meetings/agenda_item_type.rb +0 -28
  122. data/app/types/decidim/meetings/agenda_type.rb +0 -25
  123. data/app/types/decidim/meetings/meeting_type.rb +0 -65
  124. data/app/types/decidim/meetings/meetings_type.rb +0 -32
  125. data/app/types/decidim/meetings/minutes_type.rb +0 -26
  126. data/app/views/decidim/participatory_processes/participatory_process_groups/_highlighted_meetings.html.erb +0 -15
  127. data/app/views/decidim/participatory_processes/participatory_process_groups/_meeting.html.erb +0 -10
@@ -29,9 +29,7 @@ ru:
29
29
  title: Название
30
30
  transparent: Прозрачная
31
31
  minutes:
32
- audio_url: Веб-адрес аудиозаписи
33
32
  description: Описание
34
- video_url: Веб-адрес видеозаписи
35
33
  visible: Видимый
36
34
  errors:
37
35
  models:
@@ -409,11 +407,6 @@ ru:
409
407
  description: Количество созданных встреч
410
408
  object: встречи
411
409
  title: Встречи
412
- participatory_processes:
413
- participatory_process_groups:
414
- highlighted_meetings:
415
- past_meetings: Прошедшие встречи
416
- upcoming_meetings: Предстоящие встречи
417
410
  participatory_spaces:
418
411
  highlighted_meetings:
419
412
  past_meetings: Прошедшие встречи
@@ -29,9 +29,7 @@ sk:
29
29
  title: Názov
30
30
  transparent: Transparentné
31
31
  minutes:
32
- audio_url: Audio url
33
32
  description: Popis
34
- video_url: Video url
35
33
  visible: Viditeľný
36
34
  errors:
37
35
  models:
@@ -243,7 +241,6 @@ sk:
243
241
  form:
244
242
  address_help: 'Adresa: použitý Geocoder pre nájdenie polohy'
245
243
  location_help: 'Poloha: správa určená užívateľom, ktorí odovzdávajú miesto, aby sa stretli'
246
- location_hints_help: 'Určenie polohy: dodatočné informácie. Príklad: poschodie budovy '
247
244
  index:
248
245
  title: Stretnutie
249
246
  new:
@@ -359,8 +356,6 @@ sk:
359
356
  filter: Filter
360
357
  filter_by: Filtrovať podľa
361
358
  unfold: Rozbaliť
362
- form:
363
- location_hints_help: 'Určenie polohy: dodatočné informácie. Príklad: poschodie budovy '
364
359
  meeting_minutes:
365
360
  meeting_minutes: Zápisnica z porady
366
361
  related_information: Súvisiace informácie
@@ -433,11 +428,6 @@ sk:
433
428
  description: Počet vytvorených stretnutí
434
429
  object: stretnutia
435
430
  title: Stretnutia
436
- participatory_processes:
437
- participatory_process_groups:
438
- highlighted_meetings:
439
- past_meetings: Minulé schôdze
440
- upcoming_meetings: Nadchádzajúce schôdzky
441
431
  participatory_spaces:
442
432
  highlighted_meetings:
443
433
  past_meetings: Minulé schôdze
@@ -27,7 +27,3 @@ sl:
27
27
  meetings:
28
28
  object: sestanki
29
29
  title: Sestanki
30
- participatory_processes:
31
- participatory_process_groups:
32
- highlighted_meetings:
33
- upcoming_meetings: Prihajajoči dogodki
@@ -31,9 +31,7 @@ sv:
31
31
  title: Titel
32
32
  transparent: Transparent
33
33
  minutes:
34
- audio_url: Ljud-URL
35
34
  description: Beskrivning
36
- video_url: Video-URL
37
35
  visible: Är synlig
38
36
  errors:
39
37
  models:
@@ -87,6 +85,7 @@ sv:
87
85
  creation_enabled_for_participants: Deltagarna kan skapa möten
88
86
  default_registration_terms: Villkor för standardregistrering
89
87
  enable_pads_creation: Aktivera skapande av memo
88
+ registration_code_enabled: Registreringskod aktiverad
90
89
  resources_permissions_enabled: Åtgärdsbehörigheter kan ställas in för varje möte
91
90
  step:
92
91
  announcement: Meddelande
@@ -251,7 +250,6 @@ sv:
251
250
  form:
252
251
  address_help: 'Adress: anger en plats för Geocoder'
253
252
  location_help: 'Plats: meddelande till användarna som anger mötesplats'
254
- location_hints_help: 'Detaljer om platsen: ytterligare information, som våning i byggnaden'
255
253
  index:
256
254
  title: Möten
257
255
  new:
@@ -355,6 +353,11 @@ sv:
355
353
  subject: Din mötesregistrering har bekräftats
356
354
  meeting:
357
355
  not_allowed: Du får inte se det här mötet
356
+ meeting_closes:
357
+ edit:
358
+ back: Tillbaka
359
+ close: Avsluta möte
360
+ title: Avsluta möte
358
361
  meetings:
359
362
  count:
360
363
  meetings_count:
@@ -382,6 +385,8 @@ sv:
382
385
  user_groups: Grupper
383
386
  scope: Omfattning
384
387
  search: Sök
388
+ type_values:
389
+ hybrid: Båda
385
390
  filters_small_view:
386
391
  close_modal: Stäng fönstret
387
392
  filter: Filtrera
@@ -391,7 +396,6 @@ sv:
391
396
  address_help: 'Adress: som används av Geocoder för att hitta platsen'
392
397
  create_as: Skapa möte som
393
398
  location_help: 'Plats: meddelande riktat till de användare som antyder platsen att träffas på'
394
- location_hints_help: 'Detaljer om platsen: ytterligare information, som våning i byggnaden'
395
399
  select_a_category: Välj en kategori
396
400
  index:
397
401
  new_meeting: Nytt möte
@@ -411,6 +415,7 @@ sv:
411
415
  show:
412
416
  attendees: Antal deltagare
413
417
  back: Tillbaka till listan
418
+ close_meeting: Avsluta möte
414
419
  contributions: Antal bidrag
415
420
  date: Datum
416
421
  edit_meeting: Redigera möte
@@ -467,6 +472,8 @@ sv:
467
472
  destroy:
468
473
  invalid: Det gick inte att lämna mötet.
469
474
  success: Du har lämnat mötet.
475
+ type_of_meeting:
476
+ hybrid: Båda
470
477
  types:
471
478
  private_meeting: Privat möte
472
479
  transparent: Transparent
@@ -477,11 +484,6 @@ sv:
477
484
  description: Antal skapade möten
478
485
  object: möten
479
486
  title: Möten
480
- participatory_processes:
481
- participatory_process_groups:
482
- highlighted_meetings:
483
- past_meetings: Tidigare möten
484
- upcoming_meetings: Kommande möten
485
487
  participatory_spaces:
486
488
  highlighted_meetings:
487
489
  past_meetings: Tidigare möten
@@ -21,19 +21,22 @@ tr:
21
21
  end_time: Bitiş zamanı
22
22
  location: yer
23
23
  location_hints: Yer ipuçları
24
+ online_meeting_url: Çevrimiçi Toplantı URL
24
25
  organizer_gid: gibi oluştur
25
26
  organizer_id: Düzenleyici
26
27
  private_meeting: Özel toplantı
27
28
  registration_form_enabled: Kayıt formu etkin
28
29
  registration_terms: Kayıt şartları
30
+ registration_url: Kayıt URL
29
31
  registrations_enabled: Kayıtlar etkinleştirildi
30
32
  start_time: Başlama zamanı
31
33
  title: Başlık
32
34
  transparent: Şeffaf
35
+ type_of_meeting: Tür
33
36
  minutes:
34
- audio_url: Ses linki
37
+ audio_url: Ses URL'si
35
38
  description: Açıklama
36
- video_url: Video linki
39
+ video_url: Video URL'si
37
40
  visible: Görünür
38
41
  errors:
39
42
  models:
@@ -87,9 +90,11 @@ tr:
87
90
  creation_enabled_for_participants: Katılımcılar toplantı oluşturabilir
88
91
  default_registration_terms: Varsayılan kayıt şartları
89
92
  enable_pads_creation: Altlık oluşturmayı etkinleştirin
93
+ registration_code_enabled: Kayıt kodu etkinleştirildi
90
94
  resources_permissions_enabled: Her toplantı için işlem izinleri ayarlanabilir
91
95
  scope_id: Kapsam
92
96
  scopes_enabled: Kapsamlar etkinleştirildi
97
+ terms_and_conditions_url_for_meeting_creators: Toplantı oluşturucuları için şartlar ve koşullar URL'si
93
98
  step:
94
99
  announcement: Duyuru
95
100
  comments_blocked: Yorumlar engellendi
@@ -202,6 +207,7 @@ tr:
202
207
  invalid: Bu gündemi güncellerken bir sorun oluştu
203
208
  success: Gündem başarıyla güncellendi
204
209
  exports:
210
+ meeting_comments: Yorumlar
205
211
  meetings: Toplantılar
206
212
  registrations: Kayıtlar
207
213
  invite_join_meeting_mailer:
@@ -249,11 +255,18 @@ tr:
249
255
  other: Kendisiyle ilişkilendirilmiş %{count} teklif olduğu için toplantı yok edilemez
250
256
  success: Toplantı başarıyla silindi
251
257
  edit:
258
+ title: Toplantıyı Düzenle
252
259
  update: Güncelle
253
260
  form:
254
261
  address_help: 'Adres: Geocoder tarafından konumu bulmak için kullanılır'
262
+ available_slots_help: Sınırsız yuvanız varsa bunu 0 olarak bırakın
263
+ disclaimer: 'Sorumluluk reddi: Harici bir kayıt sistemi kullanarak, %{organization} organizatörlerinin, kullanıcılar tarafından harici hizmete sağlanan verilerden sorumlu olmadığını biliyorsunuz.'
255
264
  location_help: 'Konum: kullanıcılara buluşulacak yeri ima eden mesaj'
256
- location_hints_help: 'Konum ipuçları: ek bilgi. Örnek: binanın zemini'
265
+ location_hints_help: 'Konum ipuçları: ek bilgi. Örnek: Yüz yüze bir toplantıysa binanın katı veya kısıtlı erişime sahip çevrimiçi bir toplantıysa toplantı parolası.'
266
+ online_meeting_url_help: 'Bağlantı: katılımcıların toplantınıza doğrudan bağlanmasına izin verin'
267
+ registration_url_help: 'Bağlantı: katılımcıların kayıtlar için kullandığınız harici hizmete girmesine izin verin'
268
+ select_a_meeting_type: Lütfen bir toplantı türü seçin
269
+ select_a_registration_type: Lütfen bir kayıt türü seçin
257
270
  index:
258
271
  title: Toplantılar
259
272
  new:
@@ -277,6 +290,7 @@ tr:
277
290
  invalid: Bu dakikalar oluşturulurken bir sorunla karşılaşıldı
278
291
  success: Dakika başarıyla oluşturuldu
279
292
  edit:
293
+ title: Dakikaları düzenleyin
280
294
  update: Güncelle
281
295
  new:
282
296
  create: Oluştur
@@ -357,6 +371,11 @@ tr:
357
371
  subject: Toplantınızın kaydı onaylandı
358
372
  meeting:
359
373
  not_allowed: Bu içeriği görüntüleme izniniz bulunmuyor
374
+ meeting_closes:
375
+ edit:
376
+ back: Geri
377
+ close: Toplantıyı kapat
378
+ title: Toplantıyı kapat
360
379
  meetings:
361
380
  count:
362
381
  meetings_count:
@@ -384,6 +403,12 @@ tr:
384
403
  user_groups: Gruplar
385
404
  scope: Kapsam
386
405
  search: Arama
406
+ type: Türü
407
+ type_values:
408
+ all: Tümü
409
+ hybrid: Her ikisi
410
+ in_person: Şahsen
411
+ online: Çevrimiçi
387
412
  filters_small_view:
388
413
  close_modal: Pencereyi kapat
389
414
  filter: Filtrele
@@ -391,10 +416,16 @@ tr:
391
416
  unfold: Aç
392
417
  form:
393
418
  address_help: 'Adres: Geocoder tarafından konumu bulmak için kullanılır'
419
+ available_slots_help: Sınırsız alanınız varsa bunu 0 olarak bırakın
394
420
  create_as: Toplantı oluştur
421
+ disclaimer: 'Sorumluluk reddi: Harici bir kayıt sistemi kullanarak, %{organization} organizatörlerinin, kullanıcılar tarafından harici hizmete sağlanan verilerden sorumlu olmadığını biliyorsunuz.'
395
422
  location_help: 'Konum: kullanıcılara buluşulacak yeri ima eden mesaj'
396
- location_hints_help: 'Konum ipuçları: ek bilgi. Örnek: binanın zemini'
423
+ location_hints_help: 'Konum ipuçları: ek bilgi. Örnek: Yüz yüze bir toplantıysa binanın katı veya kısıtlı erişime sahip çevrimiçi bir toplantıysa toplantı parolası.'
424
+ online_meeting_url_help: 'Bağlantı: katılımcıların toplantınıza doğrudan bağlanmasına izin verin'
425
+ registration_url_help: 'Bağlantı: katılımcıların kayıtlar için kullandığınız harici hizmete girmesine izin verin'
397
426
  select_a_category: Lütfen bir kategori seçin
427
+ select_a_meeting_type: Lütfen bir toplantı türü seçin
428
+ select_a_registration_type: Lütfen bir kayıt türü seçin
398
429
  index:
399
430
  new_meeting: Yeni toplantı
400
431
  meeting_minutes:
@@ -413,6 +444,7 @@ tr:
413
444
  show:
414
445
  attendees: Katılımcı sayısı
415
446
  back: Listeye geri dön
447
+ close_meeting: Toplantıyı kapat
416
448
  contributions: Katkı sayımı
417
449
  date: Tarih
418
450
  edit_meeting: Toplantıyı Düzenle
@@ -459,6 +491,10 @@ tr:
459
491
  confirmed_html: Toplantı için kaydınız <a href="%{url}">%{title}</a> onaylandı.
460
492
  details: Toplantı detaylarını ekte bulabilirsiniz.
461
493
  registration_code: Kayıt kodunuz %{code}.
494
+ registration_type:
495
+ on_different_platform: Farklı bir platformda
496
+ on_this_platform: Bu platformu kullanın
497
+ registration_disabled: Kayıt olma devre dışı
462
498
  registrations:
463
499
  create:
464
500
  invalid: Bu toplantıya katılırken bir sorun oluştu.
@@ -469,6 +505,10 @@ tr:
469
505
  destroy:
470
506
  invalid: Bu toplantıdan ayrılırken bir sorun oluştu.
471
507
  success: Toplantıdan başarıyla ayrıldınız.
508
+ type_of_meeting:
509
+ hybrid: Her ikisi
510
+ in_person: Şahsen
511
+ online: Çevrimiçi
472
512
  types:
473
513
  private_meeting: Özel toplantı
474
514
  transparent: Şeffaf
@@ -479,11 +519,6 @@ tr:
479
519
  description: Oluşturulan toplantı sayısı
480
520
  object: toplantılar
481
521
  title: Toplantılar
482
- participatory_processes:
483
- participatory_process_groups:
484
- highlighted_meetings:
485
- past_meetings: Geçmiş toplantılar
486
- upcoming_meetings: Yaklaşan toplantılar
487
522
  participatory_spaces:
488
523
  highlighted_meetings:
489
524
  past_meetings: Geçmiş toplantılar
@@ -28,9 +28,7 @@ uk:
28
28
  title: Назва
29
29
  transparent: Прозора
30
30
  minutes:
31
- audio_url: Веб-адреса аудіозапису
32
31
  description: Опис
33
- video_url: Веб-адреса відеозапису
34
32
  visible: Видимий
35
33
  errors:
36
34
  models:
@@ -358,10 +356,6 @@ uk:
358
356
  types:
359
357
  private_meeting: Приватна зустріч
360
358
  transparent: Прозора
361
- participatory_processes:
362
- participatory_process_groups:
363
- highlighted_meetings:
364
- past_meetings: Минулі зустрічі
365
359
  participatory_spaces:
366
360
  highlighted_meetings:
367
361
  past_meetings: Минулі зустрічі
@@ -31,9 +31,7 @@ zh-CN:
31
31
  title: 标题
32
32
  transparent: 透明的
33
33
  minutes:
34
- audio_url: 音频网址
35
34
  description: 描述
36
- video_url: 视频网址
37
35
  visible: 可见
38
36
  errors:
39
37
  models:
@@ -248,7 +246,6 @@ zh-CN:
248
246
  form:
249
247
  address_help: '地址:由地理编码器用来查找位置'
250
248
  location_help: '位置:发送给用户的消息,这些消息暗示要会见的地点'
251
- location_hints_help: '位置提示:额外信息。示例:建筑物地板'
252
249
  index:
253
250
  title: 会议
254
251
  new:
@@ -386,7 +383,6 @@ zh-CN:
386
383
  address_help: '地址:由地理编码器用来查找位置'
387
384
  create_as: 创建会议为
388
385
  location_help: '位置:发送给用户的消息,这些消息暗示要会见的地点'
389
- location_hints_help: '位置提示:额外信息。示例:建筑物地板'
390
386
  select_a_category: 请选择一个类别
391
387
  index:
392
388
  new_meeting: 新会议
@@ -471,11 +467,6 @@ zh-CN:
471
467
  description: 创建的会议数
472
468
  object: 会议
473
469
  title: 会议
474
- participatory_processes:
475
- participatory_process_groups:
476
- highlighted_meetings:
477
- past_meetings: 过去的会议
478
- upcoming_meetings: 即将举行的会议
479
470
  participatory_spaces:
480
471
  highlighted_meetings:
481
472
  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).where(manifest_name: "upcoming_events").exists?
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,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddOnlineMeetingUrl < ActiveRecord::Migration[5.2]
4
+ def change
5
+ add_column :decidim_meetings_meetings, :online_meeting_url, :string
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddTypeOfMeeting < ActiveRecord::Migration[5.2]
4
+ def change
5
+ add_column :decidim_meetings_meetings, :type_of_meeting, :string, default: "in_person"
6
+ end
7
+ end
@@ -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,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,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Meetings
5
+ class AgendaItemType < Decidim::Api::Types::BaseObject
6
+ graphql_name "MeetingAgendaItem"
7
+ description "A meeting agenda item"
8
+
9
+ field :id, GraphQL::Types::ID, "The ID for this agenda item", null: false
10
+ field :title, Decidim::Core::TranslatedFieldType, "The title for this agenda item", null: true
11
+ field :description, Decidim::Core::TranslatedFieldType, "The description for this agenda item", null: true
12
+ field :items, [Decidim::Meetings::AgendaItemType, { null: true }], "Sub-items (children) of this agenda item", method: :agenda_item_children, null: false
13
+ field :parent, Decidim::Meetings::AgendaItemType, "Parent agenda item, if available", null: true
14
+ field :agenda, Decidim::Meetings::AgendaType, "Belonging agenda", null: true
15
+ field :duration, GraphQL::Types::Int, "Duration in number of minutes for this item in this agenda", null: false
16
+ field :position, GraphQL::Types::Int, "Order position for this agenda item", null: false
17
+
18
+ field :created_at, Decidim::Core::DateTimeType, description: "The date and time this agenda item was created", null: true
19
+ field :updated_at, Decidim::Core::DateTimeType, description: "The date and time this agenda item was updated", null: true
20
+ end
21
+ end
22
+ end