decidim-meetings 0.29.1 → 0.29.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/meetings/dates_and_map/show.erb +5 -3
  3. data/app/cells/decidim/meetings/dates_and_map_cell.rb +1 -1
  4. data/app/cells/decidim/meetings/meeting_l_cell.rb +5 -0
  5. data/app/forms/decidim/meetings/admin/close_meeting_form.rb +1 -1
  6. data/app/forms/decidim/meetings/admin/meeting_agenda_items_form.rb +1 -1
  7. data/app/forms/decidim/meetings/admin/meeting_form.rb +1 -1
  8. data/app/forms/decidim/meetings/admin/meeting_registrations_form.rb +2 -2
  9. data/app/packs/stylesheets/decidim/meetings/_item.scss +5 -17
  10. data/app/permissions/decidim/meetings/permissions.rb +7 -2
  11. data/app/presenters/decidim/meetings/meeting_presenter.rb +1 -5
  12. data/app/views/decidim/meetings/registration_mailer/confirmation.html.erb +1 -1
  13. data/app/views/decidim/meetings/shared/_index.js.erb +3 -4
  14. data/config/locales/ar.yml +3 -1
  15. data/config/locales/bg.yml +0 -1
  16. data/config/locales/bn-BD.yml +1 -0
  17. data/config/locales/bs-BA.yml +8 -0
  18. data/config/locales/ca.yml +1 -1
  19. data/config/locales/cs.yml +5 -4
  20. data/config/locales/de.yml +70 -70
  21. data/config/locales/el.yml +3 -1
  22. data/config/locales/es-MX.yml +3 -3
  23. data/config/locales/es-PY.yml +3 -3
  24. data/config/locales/es.yml +4 -4
  25. data/config/locales/eu.yml +35 -35
  26. data/config/locales/fi-plain.yml +2 -2
  27. data/config/locales/fi.yml +12 -12
  28. data/config/locales/fr-CA.yml +4 -4
  29. data/config/locales/fr.yml +4 -4
  30. data/config/locales/ga-IE.yml +3 -0
  31. data/config/locales/gl.yml +7 -3
  32. data/config/locales/hu.yml +5 -3
  33. data/config/locales/id-ID.yml +9 -1
  34. data/config/locales/is-IS.yml +9 -1
  35. data/config/locales/it.yml +8 -3
  36. data/config/locales/ja.yml +2 -2
  37. data/config/locales/lb.yml +4 -1
  38. data/config/locales/lt.yml +2 -3
  39. data/config/locales/lv.yml +9 -1
  40. data/config/locales/nl.yml +3 -1
  41. data/config/locales/no.yml +3 -1
  42. data/config/locales/pl.yml +0 -1
  43. data/config/locales/pt-BR.yml +5 -6
  44. data/config/locales/pt.yml +6 -1
  45. data/config/locales/ro-RO.yml +5 -2
  46. data/config/locales/ru.yml +9 -1
  47. data/config/locales/sk.yml +9 -1
  48. data/config/locales/tr-TR.yml +13 -2
  49. data/config/locales/uk.yml +9 -1
  50. data/config/locales/zh-CN.yml +11 -1
  51. data/config/locales/zh-TW.yml +3 -1
  52. data/decidim-meetings.gemspec +1 -1
  53. data/lib/decidim/api/meeting_type.rb +12 -0
  54. data/lib/decidim/api/meetings_type.rb +1 -3
  55. data/lib/decidim/meetings/engine.rb +2 -0
  56. data/lib/decidim/meetings/meeting_serializer.rb +37 -0
  57. data/lib/decidim/meetings/test/factories.rb +6 -0
  58. data/lib/decidim/meetings/version.rb +1 -1
  59. metadata +17 -15
@@ -47,6 +47,12 @@ lv:
47
47
  other: Reģistrācija
48
48
  decidim:
49
49
  admin:
50
+ filters:
51
+ meetings:
52
+ category_id_eq:
53
+ label: Kategorija
54
+ scope_id_eq:
55
+ label: Darbības tvērums
50
56
  meeting_copies:
51
57
  create:
52
58
  error: Šīs sanāksmes dublēšanas laikā radās problēma.
@@ -66,6 +72,7 @@ lv:
66
72
  default_registration_terms: Noklusējuma reģistrācijas noteikumi
67
73
  enable_pads_creation: Iespējot kopdokumentu izveidi
68
74
  resources_permissions_enabled: Katrā sanāksmē var iestatīt darbības atļaujas
75
+ scope_id: Darbības tvērums
69
76
  step:
70
77
  announcement: Paziņojums
71
78
  comments_blocked: Komentāri ir bloķēti
@@ -130,7 +137,6 @@ lv:
130
137
  attachment_collections: Mapes
131
138
  attachments: Pielikumi
132
139
  close: Aizvērt
133
- confirm_destroy: Vai tiešām vēlaties dzēst šo sanāksmi?
134
140
  destroy: Dzēst
135
141
  edit: Labot
136
142
  preview: Priekšskatīt
@@ -267,6 +273,8 @@ lv:
267
273
  category: Kategorija
268
274
  date: Datums
269
275
  search: Meklēt
276
+ meeting:
277
+ close_meeting: Slēgt sanāksmi
270
278
  meetings:
271
279
  upcoming_meetings_warning: Pašlaik nav plānotas sanāksmes, taču šeit varat atrast visas iepriekšējās sanāksmes.
272
280
  registration_confirm:
@@ -176,7 +176,6 @@ nl:
176
176
  attachment_collections: Mappen
177
177
  attachments: Bijlagen
178
178
  close: Sluit
179
- confirm_destroy: Weet u zeker dat u deze vergadering wilt verwijderen?
180
179
  destroy: Verwijderen
181
180
  edit: Bewerk
182
181
  invalid_destroy:
@@ -421,6 +420,9 @@ nl:
421
420
  see_all: Alle vergaderingen bekijken
422
421
  see_all_withdrawn: Bekijk alle afgelaste vergaderingen
423
422
  text_banner: Je bekijkt de lijst van vergaderingen die zijn afgelast door hun maker. %{go_back_link}.
423
+ meeting:
424
+ close_meeting: Vergadering sluiten
425
+ edit_meeting: Vergadering bewerken
424
426
  meetings:
425
427
  upcoming_meetings_warning: Momenteel zijn er geen geplande vergaderingen, maar hier vindt u alle afgelopen vergaderingen.
426
428
  new:
@@ -170,7 +170,6 @@
170
170
  attachment_collections: Mapper
171
171
  attachments: Vedlegg
172
172
  close: Lukk
173
- confirm_destroy: Er du sikker på at du vil slette dette møtet?
174
173
  destroy: Slett
175
174
  edit: Rediger
176
175
  invalid_destroy:
@@ -393,6 +392,9 @@
393
392
  index:
394
393
  click_here: Se alle møter
395
394
  new_meeting: Nytt møte
395
+ meeting:
396
+ close_meeting: Lukk møte
397
+ edit_meeting: Rediger møte
396
398
  meetings:
397
399
  upcoming_meetings_warning: For øyeblikket er det ingen planlagte møter, men her kan du finne alle de forrige møtene oppført.
398
400
  registration_confirm:
@@ -241,7 +241,6 @@ pl:
241
241
  attachment_collections: Folder
242
242
  attachments: Załączniki
243
243
  close: Zamknij
244
- confirm_destroy: Czy na pewno chcesz usunąć to spotkanie?
245
244
  destroy: Usuń
246
245
  edit: Edytuj
247
246
  invalid_destroy:
@@ -110,7 +110,7 @@ pt-BR:
110
110
  'false': Passado
111
111
  'true': Próximos
112
112
  scope_id_eq:
113
- label: Escopo
113
+ label: Âmbito
114
114
  with_any_origin:
115
115
  label: Origem
116
116
  values:
@@ -159,7 +159,7 @@ pt-BR:
159
159
  maps_enabled: Mapas ativados
160
160
  registration_code_enabled: Código de registro habilitado
161
161
  resources_permissions_enabled: Permissões de ações podem ser definidas para cada encontro
162
- scope_id: Escopo
162
+ scope_id: Âmbito
163
163
  scopes_enabled: Escopos habilitados
164
164
  terms_and_conditions_url_for_meeting_creators: URL de Termos e condições para criadores da reunião
165
165
  step:
@@ -234,7 +234,6 @@ pt-BR:
234
234
  attachment_collections: Pastas
235
235
  attachments: Anexos
236
236
  close: Fechar
237
- confirm_destroy: Deseja mesmo excluir este encontro?
238
237
  destroy: Excluir
239
238
  edit: Editar
240
239
  invalid_destroy:
@@ -404,7 +403,7 @@ pt-BR:
404
403
  update: "%{user_name} atualizou o questionário para a reunião %{meeting_name}"
405
404
  application_helper:
406
405
  filter_category_values:
407
- all: Todos
406
+ all: Tudo
408
407
  filter_meeting_space_values:
409
408
  all: Todos
410
409
  calendar:
@@ -523,9 +522,9 @@ pt-BR:
523
522
  see_all_withdrawn: Veja todas as reuniões retiradas
524
523
  text_banner: Você está vendo a lista de reuniões retiradas por seus autores. %{go_back_link}.
525
524
  meeting:
526
- close_meeting: Encerrar reunião
525
+ close_meeting: Reunião próxima
527
526
  edit_close_meeting: Editar relatório da reunião
528
- edit_meeting: Editar Reunião
527
+ edit_meeting: Editar reuniões
529
528
  join_meeting: Participe da reunião
530
529
  meetings:
531
530
  no_meetings_warning: Nenhuma reunião corresponde aos seus critérios de pesquisa ou não há nenhuma reunião agendada.
@@ -171,7 +171,6 @@ pt:
171
171
  attachment_collections: Pastas
172
172
  attachments: Anexos
173
173
  close: Fechar
174
- confirm_destroy: Tem a certeza de que deseja eliminar esta reunião?
175
174
  destroy: Eliminar
176
175
  edit: Editar
177
176
  invalid_destroy:
@@ -305,6 +304,9 @@ pt:
305
304
  value_types:
306
305
  organizer_presenter:
307
306
  not_found: 'O(A) organizador(a) não foi encontrado(a) na base de dados (ID: %{id})'
307
+ application_helper:
308
+ filter_category_values:
309
+ all: Todos
308
310
  calendar_modal:
309
311
  calendar_url: URL do calendário
310
312
  export_calendar: Exportar calendário
@@ -380,6 +382,9 @@ pt:
380
382
  select_a_registration_type: Por favor seleccione um tipo de registo
381
383
  index:
382
384
  new_meeting: Nova reunião
385
+ meeting:
386
+ close_meeting: Encerrar reunião
387
+ edit_meeting: Editar reunião
383
388
  meetings:
384
389
  upcoming_meetings_warning: Atualmente, não há reuniões agendadas, mas aqui pode encontrar listadas todas as reuniões passadas.
385
390
  new:
@@ -206,7 +206,6 @@ ro:
206
206
  attachment_collections: Dosare
207
207
  attachments: Atașamente
208
208
  close: Închide
209
- confirm_destroy: Sigur dorești să ştergi acestă întâlnire?
210
209
  destroy: Ștergere
211
210
  edit: Editare
212
211
  invalid_destroy:
@@ -432,6 +431,7 @@ ro:
432
431
  all: Toate
433
432
  official: Oficial
434
433
  participants: Participanți
434
+ user_group: Grupuri
435
435
  search: Caută
436
436
  type: Tip
437
437
  type_values:
@@ -456,6 +456,9 @@ ro:
456
456
  see_all: Vezi toate întâlnirile
457
457
  see_all_withdrawn: Afișează toate întâlnirile anulate
458
458
  text_banner: Vizualizezi lista de întâlniri anulate de autorii lor. %{go_back_link}.
459
+ meeting:
460
+ close_meeting: Închide ședința
461
+ edit_meeting: Editați ședința
459
462
  meetings:
460
463
  upcoming_meetings_warning: În prezent, nu există întâlniri programate, dar aici se află pe listă toate întâlnirile anterioare.
461
464
  new:
@@ -570,7 +573,7 @@ ro:
570
573
  participatory_spaces:
571
574
  highlighted_meetings:
572
575
  past_meetings: Întâlniri anterioare
573
- see_all: Afișează toate întâlnirile (%{count})
576
+ see_all: Afișează toate întâlnirile
574
577
  upcoming_meetings: Întâlniri viitoare
575
578
  resource_links:
576
579
  meetings_through_proposals:
@@ -50,6 +50,12 @@ ru:
50
50
  other: Зарегистрировались
51
51
  decidim:
52
52
  admin:
53
+ filters:
54
+ meetings:
55
+ category_id_eq:
56
+ label: Категория
57
+ scope_id_eq:
58
+ label: Охват
53
59
  meeting_copies:
54
60
  create:
55
61
  error: При попытке создать копию этой встречи произошла ошибка.
@@ -68,6 +74,7 @@ ru:
68
74
  comments_enabled: Комментарии включены
69
75
  default_registration_terms: Условия регистрации по умолчанию
70
76
  resources_permissions_enabled: Для каждой встречи можно задать те или иные разрешения на действия
77
+ scope_id: Охват
71
78
  step:
72
79
  announcement: Объявление
73
80
  comments_blocked: Комментарии отключены
@@ -131,7 +138,6 @@ ru:
131
138
  attachment_collections: Папки
132
139
  attachments: Прикрепленные файлы
133
140
  close: Закрыть
134
- confirm_destroy: Вы действительно хотите удалить эту встречу?
135
141
  destroy: Удалить
136
142
  edit: Редактировать
137
143
  preview: Предпросмотр
@@ -258,6 +264,8 @@ ru:
258
264
  category: Категория
259
265
  date: Дата
260
266
  search: Поиск
267
+ meeting:
268
+ close_meeting: Закрыть встречу
261
269
  meetings:
262
270
  upcoming_meetings_warning: Сейчас нет запланированных встреч, но здесь вы можете найти список всех прошедших встреч.
263
271
  registration_confirm:
@@ -50,6 +50,12 @@ sk:
50
50
  other: Registrácie
51
51
  decidim:
52
52
  admin:
53
+ filters:
54
+ meetings:
55
+ category_id_eq:
56
+ label: Kategória
57
+ scope_id_eq:
58
+ label: Rozsah
53
59
  meeting_copies:
54
60
  create:
55
61
  error: Bolo tu chyba, že sa toto stretnutie zdvojnásobila.
@@ -69,6 +75,7 @@ sk:
69
75
  default_registration_terms: Východiskové podmienky registrácia
70
76
  enable_pads_creation: Povoliť vytvorenie zdieľaného texte
71
77
  resources_permissions_enabled: Nastavenie povolení možno nastaviť pre každú schôdzku
78
+ scope_id: Rozsah
72
79
  step:
73
80
  announcement: Oznámenie
74
81
  comments_blocked: Komentáre blokované
@@ -133,7 +140,6 @@ sk:
133
140
  attachment_collections: Zložky
134
141
  attachments: Prílohy
135
142
  close: Zavrieť
136
- confirm_destroy: Naozaj chcete túto schôdzku vymazať?
137
143
  destroy: Odstrániť
138
144
  edit: Upraviť
139
145
  preview: Náhľad
@@ -271,6 +277,8 @@ sk:
271
277
  category: Kategória
272
278
  date: dátum
273
279
  search: Vyhľadávanie
280
+ meeting:
281
+ close_meeting: Zatvorte schôdzku
274
282
  meetings:
275
283
  upcoming_meetings_warning: V súčasnosti neexistujú žiadne plánované schôdzky, ale nájdete tu všetky minulé stretnutia.
276
284
  registration_confirm:
@@ -51,6 +51,12 @@ tr:
51
51
  other: Kayıtlar
52
52
  decidim:
53
53
  admin:
54
+ filters:
55
+ meetings:
56
+ category_id_eq:
57
+ label: Kategori
58
+ scope_id_eq:
59
+ label: kapsam
54
60
  meeting_copies:
55
61
  create:
56
62
  error: Bu toplantıyı kopyalarken bir sorun oluştu.
@@ -73,7 +79,7 @@ tr:
73
79
  enable_pads_creation: Altlık oluşturmayı etkinleştirin
74
80
  registration_code_enabled: Kayıt kodu etkinleştirildi
75
81
  resources_permissions_enabled: Her toplantı için işlem izinleri ayarlanabilir
76
- scope_id: Kapsam
82
+ scope_id: kapsam
77
83
  scopes_enabled: Kapsamlar etkinleştirildi
78
84
  terms_and_conditions_url_for_meeting_creators: Toplantı oluşturucuları için şartlar ve koşullar URL'si
79
85
  step:
@@ -142,7 +148,6 @@ tr:
142
148
  attachment_collections: Klasörler
143
149
  attachments: Ekler
144
150
  close: Kapat
145
- confirm_destroy: Bu toplantıyı silmek istediğinizden emin misiniz?
146
151
  destroy: Sil
147
152
  edit: Düzenle
148
153
  invalid_destroy:
@@ -269,6 +274,9 @@ tr:
269
274
  value_types:
270
275
  organizer_presenter:
271
276
  not_found: 'Organizatör veritabanında bulunamadı (ID: %{id})'
277
+ application_helper:
278
+ filter_category_values:
279
+ all: Tümü
272
280
  calendar:
273
281
  meeting_to_event:
274
282
  read_more: Bu toplantı hakkında daha fazlasını okuyun
@@ -335,6 +343,9 @@ tr:
335
343
  select_a_registration_type: Lütfen bir kayıt türü seçin
336
344
  index:
337
345
  new_meeting: Yeni toplantı
346
+ meeting:
347
+ close_meeting: Toplantıyı kapat
348
+ edit_meeting: Toplantıyı Düzenle
338
349
  meetings:
339
350
  upcoming_meetings_warning: Şu anda planlanmış bir toplantı yok, ancak burada listelenen tüm geçmiş toplantıları bulabilirsiniz.
340
351
  new:
@@ -49,6 +49,12 @@ uk:
49
49
  other: Зареєстрованих
50
50
  decidim:
51
51
  admin:
52
+ filters:
53
+ meetings:
54
+ category_id_eq:
55
+ label: Категорія
56
+ scope_id_eq:
57
+ label: Обсяг
52
58
  meeting_copies:
53
59
  create:
54
60
  error: При спробі створити копію цієї зустрічі сталася помилка.
@@ -67,6 +73,7 @@ uk:
67
73
  comments_enabled: Коментарі увімкнено
68
74
  default_registration_terms: Умови реєстрації за умовчанням
69
75
  resources_permissions_enabled: Права на дії можна встановити для кожної зустрічі
76
+ scope_id: Обсяг
70
77
  step:
71
78
  announcement: Оголошення
72
79
  comments_blocked: Коментарі вимкнено
@@ -114,7 +121,6 @@ uk:
114
121
  attachment_collections: Теки
115
122
  attachments: Вкладені файли
116
123
  close: Закрити
117
- confirm_destroy: Ви впевнені, що хочете видалити цю зустріч?
118
124
  destroy: Видалити
119
125
  edit: Редагувати
120
126
  preview: Попередній перегляд
@@ -231,6 +237,8 @@ uk:
231
237
  category: Категорія
232
238
  date: Дата
233
239
  search: Шукати
240
+ meeting:
241
+ close_meeting: Закрити зустріч
234
242
  meetings:
235
243
  upcoming_meetings_warning: Наразі нема запланованих зустрічей, але тут ви можете знайти перелік усіх попередніх зустрічей.
236
244
  registration_confirm:
@@ -43,6 +43,12 @@ zh-CN:
43
43
  other: 注册
44
44
  decidim:
45
45
  admin:
46
+ filters:
47
+ meetings:
48
+ category_id_eq:
49
+ label: 类别
50
+ scope_id_eq:
51
+ label: 范围
46
52
  meeting_copies:
47
53
  create:
48
54
  error: 重复这次会议时出现问题。
@@ -132,7 +138,6 @@ zh-CN:
132
138
  attachment_collections: 文件夹
133
139
  attachments: 附件
134
140
  close: 关闭
135
- confirm_destroy: 您确定要删除这个会议吗?
136
141
  destroy: 删除
137
142
  edit: 编辑
138
143
  invalid_destroy:
@@ -249,6 +254,9 @@ zh-CN:
249
254
  value_types:
250
255
  organizer_presenter:
251
256
  not_found: '在数据库中找不到组织者 (ID: %{id})'
257
+ application_helper:
258
+ filter_category_values:
259
+ all: 所有的
252
260
  calendar_modal:
253
261
  calendar_url: 日历 URL
254
262
  export_calendar: 导出日历
@@ -295,6 +303,8 @@ zh-CN:
295
303
  select_a_category: 请选择一个类别
296
304
  index:
297
305
  new_meeting: 新会议
306
+ meeting:
307
+ close_meeting: 关闭会议
298
308
  meetings:
299
309
  upcoming_meetings_warning: 目前没有排定的会议,但在这里你可以找到过去所有会议的清单。
300
310
  new:
@@ -210,7 +210,6 @@ zh-TW:
210
210
  attachment_collections: 資料夾
211
211
  attachments: 附件
212
212
  close: 關閉
213
- confirm_destroy: 你確定要刪除此會議?
214
213
  destroy: 刪除
215
214
  edit: 編輯
216
215
  invalid_destroy:
@@ -487,6 +486,9 @@ zh-TW:
487
486
  see_all: 查看所有會議
488
487
  see_all_withdrawn: 查看所有撤回的會議
489
488
  text_banner: 您正在查看已被其作者撤回的會議列表。 %{go_back_link}。
489
+ meeting:
490
+ close_meeting: 關閉會議
491
+ edit_meeting: 編輯會議
490
492
  meetings:
491
493
  no_meetings_warning: 沒有符合搜尋條件的會議或者目前沒有任何已排定的會議。
492
494
  upcoming_meetings_warning: 目前沒有安排的會議,但您可以在這裡找到所有過去的會議列表。
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
10
10
  s.version = Decidim::Meetings.version
11
11
  s.authors = ["Josep Jaume Rey Peroy", "Marc Riera Casals", "Oriol Gual Oliva"]
12
12
  s.email = ["josepjaume@gmail.com", "mrc2407@gmail.com", "oriolgual@gmail.com"]
13
- s.license = "AGPL-3.0"
13
+ s.license = "AGPL-3.0-or-later"
14
14
  s.homepage = "https://decidim.org"
15
15
  s.metadata = {
16
16
  "bug_tracker_uri" => "https://github.com/decidim/decidim/issues",
@@ -77,6 +77,18 @@ module Decidim
77
77
  field :type_of_meeting, GraphQL::Types::String, "The type of the meeting (online or in-person)", null: false
78
78
  field :online_meeting_url, GraphQL::Types::String, "The URL of the meeting (when the type is online)", null: false
79
79
  field :iframe_embed_type, GraphQL::Types::String, "The type of displaying of the online meeting URL", null: true
80
+
81
+ def self.authorized?(object, context)
82
+ context[:meeting] = object
83
+
84
+ chain = [
85
+ allowed_to?(:read, :meeting, object, context),
86
+ object.published?,
87
+ object.current_user_can_visit_meeting?(context[:current_user])
88
+ ].all?
89
+
90
+ super && chain
91
+ end
80
92
  end
81
93
  end
82
94
  end
@@ -2,9 +2,7 @@
2
2
 
3
3
  module Decidim
4
4
  module Meetings
5
- class MeetingsType < Decidim::Api::Types::BaseObject
6
- implements Decidim::Core::ComponentInterface
7
-
5
+ class MeetingsType < Decidim::Core::ComponentType
8
6
  graphql_name "Meetings"
9
7
  description "A meetings component of a participatory space."
10
8
 
@@ -50,6 +50,8 @@ module Decidim
50
50
  end
51
51
 
52
52
  initializer "decidim_meetings.register_icons" do
53
+ Decidim.icons.register(name: "headphone-line", icon: "headphone-line", category: "system", description: "", engine: :meetings)
54
+ Decidim.icons.register(name: "video-line", icon: "video-line", category: "system", description: "", engine: :meetings)
53
55
  Decidim.icons.register(name: "Decidim::Meetings::Meeting", icon: "map-pin-line", description: "Meeting", category: "activity", engine: :meetings)
54
56
  Decidim.icons.register(name: "in_person", icon: "community-line", description: "In person", category: "meetings", engine: :meetings)
55
57
  Decidim.icons.register(name: "online", icon: "webcam-line", description: "Online", category: "meetings", engine: :meetings)
@@ -25,6 +25,9 @@ module Decidim
25
25
  id: meeting.scope.try(:id),
26
26
  name: meeting.scope.try(:name)
27
27
  },
28
+ author: {
29
+ **author_fields
30
+ },
28
31
  participatory_space: {
29
32
  id: meeting.participatory_space.id,
30
33
  url: Decidim::ResourceLocatorPresenter.new(meeting.participatory_space).url
@@ -57,6 +60,40 @@ module Decidim
57
60
  attr_reader :meeting
58
61
  alias resource meeting
59
62
 
63
+ def author_fields
64
+ {
65
+ id: meeting.author.id,
66
+ name: author_name(meeting.author),
67
+ url: author_url(meeting.author)
68
+ }
69
+ end
70
+
71
+ def author_name(author)
72
+ translated_attribute(author.name)
73
+ end
74
+
75
+ def author_url(author)
76
+ if author.respond_to?(:nickname)
77
+ profile_url(author) # is a Decidim::User or Decidim::UserGroup
78
+ else
79
+ root_url # is a Decidim::Organization
80
+ end
81
+ end
82
+
83
+ def profile_url(author)
84
+ return "" if author.respond_to?(:deleted?) && author.deleted?
85
+
86
+ Decidim::Core::Engine.routes.url_helpers.profile_url(author.nickname, host:)
87
+ end
88
+
89
+ def root_url
90
+ Decidim::Core::Engine.routes.url_helpers.root_url(host:)
91
+ end
92
+
93
+ def host
94
+ resource.organization.host
95
+ end
96
+
60
97
  def component
61
98
  meeting.component
62
99
  end
@@ -64,6 +64,12 @@ FactoryBot.define do
64
64
  type_of_meeting { :in_person }
65
65
  end
66
66
 
67
+ trait :hidden do
68
+ after :create do |meeting, evaluator|
69
+ create(:moderation, hidden_at: Time.current, reportable: meeting, skip_injection: evaluator.skip_injection)
70
+ end
71
+ end
72
+
67
73
  trait :online do
68
74
  type_of_meeting { :online }
69
75
  online_meeting_url { "https://decidim.org" }
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-meetings version.
5
5
  module Meetings
6
6
  def self.version
7
- "0.29.1"
7
+ "0.29.2"
8
8
  end
9
9
  end
10
10
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-meetings
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.29.1
4
+ version: 0.29.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey Peroy
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2024-10-02 00:00:00.000000000 Z
13
+ date: 2025-02-12 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: decidim-core
@@ -18,28 +18,28 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 0.29.1
21
+ version: 0.29.2
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - '='
27
27
  - !ruby/object:Gem::Version
28
- version: 0.29.1
28
+ version: 0.29.2
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: decidim-forms
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - '='
34
34
  - !ruby/object:Gem::Version
35
- version: 0.29.1
35
+ version: 0.29.2
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - '='
41
41
  - !ruby/object:Gem::Version
42
- version: 0.29.1
42
+ version: 0.29.2
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: icalendar
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -60,56 +60,56 @@ dependencies:
60
60
  requirements:
61
61
  - - '='
62
62
  - !ruby/object:Gem::Version
63
- version: 0.29.1
63
+ version: 0.29.2
64
64
  type: :development
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
68
  - - '='
69
69
  - !ruby/object:Gem::Version
70
- version: 0.29.1
70
+ version: 0.29.2
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: decidim-assemblies
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
75
  - - '='
76
76
  - !ruby/object:Gem::Version
77
- version: 0.29.1
77
+ version: 0.29.2
78
78
  type: :development
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
82
  - - '='
83
83
  - !ruby/object:Gem::Version
84
- version: 0.29.1
84
+ version: 0.29.2
85
85
  - !ruby/object:Gem::Dependency
86
86
  name: decidim-dev
87
87
  requirement: !ruby/object:Gem::Requirement
88
88
  requirements:
89
89
  - - '='
90
90
  - !ruby/object:Gem::Version
91
- version: 0.29.1
91
+ version: 0.29.2
92
92
  type: :development
93
93
  prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
96
  - - '='
97
97
  - !ruby/object:Gem::Version
98
- version: 0.29.1
98
+ version: 0.29.2
99
99
  - !ruby/object:Gem::Dependency
100
100
  name: decidim-participatory_processes
101
101
  requirement: !ruby/object:Gem::Requirement
102
102
  requirements:
103
103
  - - '='
104
104
  - !ruby/object:Gem::Version
105
- version: 0.29.1
105
+ version: 0.29.2
106
106
  type: :development
107
107
  prerelease: false
108
108
  version_requirements: !ruby/object:Gem::Requirement
109
109
  requirements:
110
110
  - - '='
111
111
  - !ruby/object:Gem::Version
112
- version: 0.29.1
112
+ version: 0.29.2
113
113
  description: A meetings component for decidim's participatory spaces.
114
114
  email:
115
115
  - josepjaume@gmail.com
@@ -382,6 +382,8 @@ files:
382
382
  - config/locales/ar.yml
383
383
  - config/locales/bg-BG.yml
384
384
  - config/locales/bg.yml
385
+ - config/locales/bn-BD.yml
386
+ - config/locales/bs-BA.yml
385
387
  - config/locales/ca.yml
386
388
  - config/locales/cs-CZ.yml
387
389
  - config/locales/cs.yml
@@ -549,7 +551,7 @@ files:
549
551
  - lib/tasks/decidim_meetings.rake
550
552
  homepage: https://decidim.org
551
553
  licenses:
552
- - AGPL-3.0
554
+ - AGPL-3.0-or-later
553
555
  metadata:
554
556
  bug_tracker_uri: https://github.com/decidim/decidim/issues
555
557
  documentation_uri: https://docs.decidim.org/