decidim-meetings 0.28.1 → 0.29.0.rc1
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/attending_organizations_list_cell.rb +1 -1
- data/app/cells/decidim/meetings/cancel_registration_meeting_button_cell.rb +1 -2
- data/app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb +1 -2
- data/app/cells/decidim/meetings/join_meeting_button/registration_modal.erb +1 -1
- data/app/cells/decidim/meetings/join_meeting_button/remaining_slots.erb +1 -0
- data/app/cells/decidim/meetings/join_meeting_button_cell.rb +0 -3
- data/app/cells/decidim/meetings/meeting_card_metadata_cell.rb +0 -3
- data/app/cells/decidim/meetings/meeting_cell.rb +0 -1
- data/app/cells/decidim/meetings/meeting_l/image.erb +3 -3
- data/app/cells/decidim/meetings/meeting_l_cell.rb +0 -2
- data/app/cells/decidim/meetings/meeting_url/show.erb +5 -5
- data/app/cells/decidim/meetings/meeting_url_cell.rb +0 -1
- data/app/cells/decidim/meetings/online_meeting_link_cell.rb +0 -2
- data/app/cells/decidim/meetings/question_responses/show.erb +7 -3
- data/app/cells/decidim/meetings/question_responses_cell.rb +0 -2
- data/app/commands/decidim/meetings/admin/copy_meeting.rb +2 -2
- data/app/commands/decidim/meetings/admin/create_agenda.rb +9 -37
- data/app/commands/decidim/meetings/admin/create_meeting.rb +28 -61
- data/app/commands/decidim/meetings/admin/destroy_meeting.rb +4 -33
- data/app/commands/decidim/meetings/admin/update_agenda.rb +7 -35
- data/app/commands/decidim/meetings/admin/update_meeting.rb +30 -68
- data/app/commands/decidim/meetings/admin/update_question_status.rb +1 -1
- data/app/commands/decidim/meetings/admin/update_questionnaire.rb +19 -11
- data/app/commands/decidim/meetings/admin/update_registrations.rb +20 -46
- data/app/commands/decidim/meetings/create_answer.rb +5 -4
- data/app/commands/decidim/meetings/create_meeting.rb +38 -62
- data/app/commands/decidim/meetings/join_meeting.rb +18 -19
- data/app/commands/decidim/meetings/update_meeting.rb +6 -7
- data/app/commands/decidim/meetings/withdraw_meeting.rb +1 -1
- data/app/controllers/concerns/decidim/meetings/admin/invites/filterable.rb +33 -0
- data/app/controllers/decidim/meetings/admin/agenda_controller.rb +1 -1
- data/app/controllers/decidim/meetings/admin/invites_controller.rb +6 -6
- data/app/controllers/decidim/meetings/admin/meetings_controller.rb +2 -2
- data/app/controllers/decidim/meetings/admin/meetings_poll_controller.rb +12 -0
- data/app/controllers/decidim/meetings/application_controller.rb +1 -1
- data/app/controllers/decidim/meetings/live_events_controller.rb +1 -1
- data/app/controllers/decidim/meetings/meetings_controller.rb +3 -33
- data/app/controllers/decidim/meetings/polls/answers_controller.rb +10 -2
- data/app/controllers/decidim/meetings/registrations_controller.rb +3 -3
- data/app/forms/decidim/meetings/admin/meeting_registrations_form.rb +1 -1
- data/app/forms/decidim/meetings/admin/question_form.rb +8 -4
- data/app/forms/decidim/meetings/answer_form.rb +4 -4
- data/app/forms/decidim/meetings/meeting_form.rb +1 -1
- data/app/mailers/decidim/meetings/close_meeting_reminder_mailer.rb +1 -1
- data/app/models/decidim/meetings/meeting.rb +15 -5
- data/app/models/decidim/meetings/poll.rb +8 -0
- data/app/models/decidim/meetings/question.rb +1 -0
- data/app/models/decidim/meetings/questionnaire.rb +0 -6
- data/app/packs/src/decidim/meetings/admin/meetings_form.js +3 -3
- data/app/packs/src/decidim/meetings/meetings_form.js +3 -3
- data/app/packs/src/decidim/meetings/meetings_polls.js +5 -0
- data/app/packs/src/decidim/meetings/poll.component.js +32 -4
- data/app/packs/stylesheets/decidim/meetings/_item.scss +109 -1
- data/app/packs/stylesheets/decidim/meetings/_live_event.scss +0 -94
- data/app/permissions/decidim/meetings/permissions.rb +20 -0
- data/app/presenters/decidim/meetings/admin_log/meeting_presenter.rb +0 -4
- data/app/presenters/decidim/meetings/admin_log/value_types/meeting_title_description_presenter.rb +1 -1
- data/app/services/decidim/meetings/calendar/component_calendar.rb +1 -1
- data/app/services/decidim/meetings/calendar/meeting_to_event.rb +1 -1
- data/app/services/decidim/meetings/close_meeting_reminder_generator.rb +12 -6
- data/app/services/decidim/meetings/meeting_iframe_embedder.rb +2 -2
- data/app/views/decidim/meetings/admin/agenda/_agenda_item.html.erb +3 -3
- data/app/views/decidim/meetings/admin/agenda/_agenda_item_child.html.erb +3 -3
- data/app/views/decidim/meetings/admin/agenda/_agenda_item_fields.html.erb +3 -3
- data/app/views/decidim/meetings/admin/invite_join_meeting_mailer/invite.html.erb +3 -1
- data/app/views/decidim/meetings/admin/invites/_form.html.erb +4 -4
- data/app/views/decidim/meetings/admin/invites/index.html.erb +4 -34
- data/app/views/decidim/meetings/admin/meetings/_form.html.erb +8 -8
- data/app/views/decidim/meetings/admin/meetings/_service.html.erb +3 -3
- data/app/views/decidim/meetings/admin/meetings/index.html.erb +2 -2
- data/app/views/decidim/meetings/admin/poll/_answer_option.html.erb +1 -1
- data/app/views/decidim/meetings/admin/poll/_answer_option_template.html.erb +1 -1
- data/app/views/decidim/meetings/admin/poll/_form.html.erb +26 -25
- data/app/views/decidim/meetings/admin/poll/_question.html.erb +18 -16
- data/app/views/decidim/meetings/admin/poll/edit.html.erb +4 -6
- data/app/views/decidim/meetings/admin/registrations/edit.html.erb +1 -1
- data/app/views/decidim/meetings/close_meeting_reminder_mailer/close_meeting_reminder.html.erb +1 -1
- data/app/views/decidim/meetings/layouts/live_event.html.erb +1 -15
- data/app/views/decidim/meetings/meetings/_datetime.html.erb +4 -4
- data/app/views/decidim/meetings/meetings/_form.html.erb +17 -17
- data/app/views/decidim/meetings/meetings/_meeting.html.erb +2 -1
- data/app/views/decidim/meetings/meetings/_meeting_agenda.html.erb +2 -2
- data/app/views/decidim/meetings/meetings/_meeting_aside.html.erb +3 -2
- data/app/views/decidim/meetings/meetings/_meeting_poll_actions.html.erb +15 -0
- data/app/views/decidim/meetings/polls/answers/_multiple_option.html.erb +6 -10
- data/app/views/decidim/meetings/polls/answers/_single_option.html.erb +4 -10
- data/app/views/decidim/meetings/polls/answers/admin.html.erb +34 -0
- data/app/views/decidim/meetings/polls/answers/index.html.erb +36 -0
- data/app/views/decidim/meetings/polls/questions/_closed_question.html.erb +8 -2
- data/app/views/decidim/meetings/polls/questions/_index_admin.html.erb +27 -24
- data/app/views/decidim/meetings/polls/questions/_published_question.html.erb +14 -11
- data/app/views/decidim/meetings/polls/questions/_question.html.erb +1 -1
- data/app/views/decidim/meetings/polls/questions/index.js.erb +3 -3
- data/app/views/decidim/meetings/polls/questions/index_admin.js.erb +3 -3
- data/app/views/devise/mailer/join_meeting.html.erb +3 -1
- data/app/views/devise/mailer/join_meeting.text.erb +3 -1
- data/config/locales/ar.yml +0 -11
- data/config/locales/bg.yml +682 -0
- data/config/locales/ca.yml +45 -13
- data/config/locales/cs.yml +24 -12
- data/config/locales/de.yml +44 -12
- data/config/locales/el.yml +0 -11
- data/config/locales/en.yml +44 -12
- data/config/locales/es-MX.yml +44 -12
- data/config/locales/es-PY.yml +44 -12
- data/config/locales/es.yml +44 -12
- data/config/locales/eu.yml +44 -12
- data/config/locales/fi-plain.yml +44 -12
- data/config/locales/fi.yml +44 -12
- data/config/locales/fr-CA.yml +44 -12
- data/config/locales/fr.yml +44 -12
- data/config/locales/ga-IE.yml +0 -5
- data/config/locales/gl.yml +0 -5
- data/config/locales/hu.yml +0 -8
- data/config/locales/id-ID.yml +0 -3
- data/config/locales/is-IS.yml +0 -3
- data/config/locales/it.yml +0 -9
- data/config/locales/ja.yml +44 -12
- data/config/locales/lb.yml +0 -3
- data/config/locales/lt.yml +0 -11
- data/config/locales/lv.yml +0 -3
- data/config/locales/nl.yml +0 -11
- data/config/locales/no.yml +0 -10
- data/config/locales/pl.yml +137 -9
- data/config/locales/pt-BR.yml +17 -13
- data/config/locales/pt.yml +0 -9
- data/config/locales/ro-RO.yml +0 -11
- data/config/locales/ru.yml +0 -3
- data/config/locales/sk.yml +0 -3
- data/config/locales/sv.yml +0 -10
- data/config/locales/tr-TR.yml +3 -4
- data/config/locales/uk.yml +0 -3
- data/config/locales/zh-CN.yml +0 -4
- data/config/locales/zh-TW.yml +0 -11
- data/db/migrate/20240130135858_add_withdrawn_fields_on_meetings.rb +23 -0
- data/decidim-meetings.gemspec +1 -1
- data/lib/decidim/api/meeting_type.rb +3 -0
- data/lib/decidim/meetings/component.rb +2 -2
- data/lib/decidim/meetings/engine.rb +5 -1
- data/lib/decidim/meetings/meeting_serializer.rb +3 -1
- data/lib/decidim/meetings/seeds.rb +25 -18
- data/lib/decidim/meetings/test/factories.rb +1 -1
- data/lib/decidim/meetings/test/notifications_handling.rb +1 -1
- data/lib/decidim/meetings/version.rb +1 -1
- data/lib/tasks/decidim_meetings.rake +1 -1
- metadata +26 -23
- data/app/presenters/decidim/meetings/log/resource_presenter.rb +0 -18
- data/app/views/decidim/meetings/admin/agenda/show.html.erb +0 -0
data/config/locales/pt-BR.yml
CHANGED
@@ -91,6 +91,11 @@ pt-BR:
|
|
91
91
|
decidim:
|
92
92
|
admin:
|
93
93
|
filters:
|
94
|
+
accepted_at_not_null:
|
95
|
+
label: Aceitou
|
96
|
+
values:
|
97
|
+
'false': Não aceito
|
98
|
+
'true': Aceitou
|
94
99
|
meetings:
|
95
100
|
category_id_eq:
|
96
101
|
label: Categoria
|
@@ -118,6 +123,18 @@ pt-BR:
|
|
118
123
|
hybrid: Híbrido
|
119
124
|
in_person: Presencialmente
|
120
125
|
online: Virtual
|
126
|
+
rejected_at_not_null:
|
127
|
+
label: Rejeitado
|
128
|
+
values:
|
129
|
+
'false': Não rejeitado
|
130
|
+
'true': Rejeitado
|
131
|
+
search_placeholder:
|
132
|
+
user_name_or_user_email_cont: Buscar por nome ou email
|
133
|
+
sent_at_not_null:
|
134
|
+
label: Enviado
|
135
|
+
values:
|
136
|
+
'false': Não enviado
|
137
|
+
'true': Enviado
|
121
138
|
meeting_copies:
|
122
139
|
create:
|
123
140
|
error: Ocorreu um erro ao duplicar esta reunião.
|
@@ -282,15 +299,9 @@ pt-BR:
|
|
282
299
|
non_user: Usuário inexistente
|
283
300
|
select_user: Selecionar usuário
|
284
301
|
index:
|
285
|
-
filter:
|
286
|
-
accepted: Aceitou
|
287
|
-
all: Tudo
|
288
|
-
rejected: Rejeitado
|
289
|
-
sent: Enviado
|
290
302
|
invite_attendee: Convidar participante
|
291
303
|
invites: Convites
|
292
304
|
registrations_disabled: Você não pode convidar um participante porque os registros estão desativados.
|
293
|
-
search: Pesquisa
|
294
305
|
meeting_closes:
|
295
306
|
edit:
|
296
307
|
close: Fechar
|
@@ -413,7 +424,6 @@ pt-BR:
|
|
413
424
|
body: A reunião <a href="%{meeting_path}">"%{meeting_title}"</a> está pendente para ser fechada. Adicione um relatório da reunião usando o botão "Fechar reunião".
|
414
425
|
greetings: Saudações,<br/>%{organization_name}<br/><a href="%{organization_url}">%{organization_url}</a>
|
415
426
|
hello: Olá %{username},
|
416
|
-
subject: Agora você pode encerrar sua reunião com um relatório na plataforma %{organization_name}
|
417
427
|
conference_venues: Locais de conferência
|
418
428
|
content_blocks:
|
419
429
|
upcoming_meetings:
|
@@ -430,16 +440,13 @@ pt-BR:
|
|
430
440
|
iframe_embed_type:
|
431
441
|
embed_in_meeting_page: Incorporar na página da reunião
|
432
442
|
none: Nenhum
|
433
|
-
open_in_live_event_page: Abrir na página de eventos ao vivo (com enquetes opcionais)
|
434
443
|
open_in_new_tab: Abrir URL em uma nova aba
|
435
444
|
last_activity:
|
436
445
|
meeting_updated: 'Reunião atualizada:'
|
437
446
|
new_meeting: 'Nova reunião:'
|
438
447
|
layouts:
|
439
448
|
live_event:
|
440
|
-
administrate: Administrar
|
441
449
|
close: fechar
|
442
|
-
questions: Perguntas
|
443
450
|
mailer:
|
444
451
|
invite_join_meeting_mailer:
|
445
452
|
invite:
|
@@ -579,12 +586,9 @@ pt-BR:
|
|
579
586
|
title: Título
|
580
587
|
polls:
|
581
588
|
questions:
|
582
|
-
closed_question:
|
583
|
-
question_results: Resultados das perguntas
|
584
589
|
index:
|
585
590
|
empty_questions: Durante esta reunião, algumas perguntas serão enviadas e você poderá respondê-las. Elas serão exibidas aqui.
|
586
591
|
index_admin:
|
587
|
-
admin_dashboard: Painel de administração
|
588
592
|
edit: Editar no painel de administração
|
589
593
|
question: Pergunta
|
590
594
|
received_answer: resposta recebida
|
data/config/locales/pt.yml
CHANGED
@@ -229,12 +229,8 @@ pt:
|
|
229
229
|
non_user: Participante inexistente
|
230
230
|
select_user: Selecione o participante
|
231
231
|
index:
|
232
|
-
filter:
|
233
|
-
all: Todos
|
234
|
-
sent: Enviado
|
235
232
|
invite_attendee: Convidar participante
|
236
233
|
invites: Convites
|
237
|
-
search: Pesquisar
|
238
234
|
meeting_closes:
|
239
235
|
edit:
|
240
236
|
close: Fechar
|
@@ -320,9 +316,7 @@ pt:
|
|
320
316
|
space_type: Espaço participativo
|
321
317
|
layouts:
|
322
318
|
live_event:
|
323
|
-
administrate: Administradores
|
324
319
|
close: Fechar
|
325
|
-
questions: Pergunta
|
326
320
|
mailer:
|
327
321
|
invite_join_meeting_mailer:
|
328
322
|
invite:
|
@@ -440,12 +434,9 @@ pt:
|
|
440
434
|
title: Título
|
441
435
|
polls:
|
442
436
|
questions:
|
443
|
-
closed_question:
|
444
|
-
question_results: Resultados das questões
|
445
437
|
index:
|
446
438
|
empty_questions: Durante esta reunião irão ser-lhe enviadas algumas questões e poderá responder-lhes. Serão exibidas aqui.
|
447
439
|
index_admin:
|
448
|
-
admin_dashboard: Painel de controlo de administrador
|
449
440
|
question: Questão
|
450
441
|
received_answer: resposta recebida
|
451
442
|
received_answers: respostas recebidas
|
data/config/locales/ro-RO.yml
CHANGED
@@ -265,12 +265,8 @@ ro:
|
|
265
265
|
non_user: Participant neexistent
|
266
266
|
select_user: Selecteză un participant
|
267
267
|
index:
|
268
|
-
filter:
|
269
|
-
all: Toate
|
270
|
-
sent: Trimis
|
271
268
|
invite_attendee: Invită participantul
|
272
269
|
invites: Invitații
|
273
|
-
search: Caută
|
274
270
|
meeting_closes:
|
275
271
|
edit:
|
276
272
|
close: Închide
|
@@ -368,7 +364,6 @@ ro:
|
|
368
364
|
close_meeting_reminder_mailer:
|
369
365
|
close_meeting_reminder:
|
370
366
|
hello: Salut %{username},
|
371
|
-
subject: Acum poți închide întâlnirea cu un raport pe platforma %{organization_name}
|
372
367
|
conference_venues: Locuri ale conferinței
|
373
368
|
content_blocks:
|
374
369
|
upcoming_meetings:
|
@@ -384,16 +379,13 @@ ro:
|
|
384
379
|
iframe_embed_type:
|
385
380
|
embed_in_meeting_page: Incorporează în pagina de şedinţe
|
386
381
|
none: Niciunul
|
387
|
-
open_in_live_event_page: Deschide în pagina de evenimente live (cu sondaje opționale)
|
388
382
|
open_in_new_tab: Deschideți în filă nouă
|
389
383
|
last_activity:
|
390
384
|
meeting_updated: 'Ședință actualizată:'
|
391
385
|
new_meeting: 'Ședință nouă:'
|
392
386
|
layouts:
|
393
387
|
live_event:
|
394
|
-
administrate: Administrează
|
395
388
|
close: închide
|
396
|
-
questions: Întrebări
|
397
389
|
mailer:
|
398
390
|
invite_join_meeting_mailer:
|
399
391
|
invite:
|
@@ -522,12 +514,9 @@ ro:
|
|
522
514
|
title: Titlu
|
523
515
|
polls:
|
524
516
|
questions:
|
525
|
-
closed_question:
|
526
|
-
question_results: Rezultatele întrebării
|
527
517
|
index:
|
528
518
|
empty_questions: Pe parcursul acestei întâlniri, vor fi trimise câteva întrebări și vei putea răspunde la acestea. Acestea vor fi afișate aici.
|
529
519
|
index_admin:
|
530
|
-
admin_dashboard: Panou de administrare
|
531
520
|
edit: Editează în panoul de administrare
|
532
521
|
question: Întrebare
|
533
522
|
received_answer: răspuns primit
|
data/config/locales/ru.yml
CHANGED
@@ -182,11 +182,8 @@ ru:
|
|
182
182
|
non_user: Не существующий участник
|
183
183
|
select_user: Выберите участника
|
184
184
|
index:
|
185
|
-
filter:
|
186
|
-
sent: Отправлено
|
187
185
|
invite_attendee: Пригласить участника
|
188
186
|
invites: Приглашения
|
189
|
-
search: Поиск
|
190
187
|
meeting_closes:
|
191
188
|
edit:
|
192
189
|
close: Закрыть
|
data/config/locales/sk.yml
CHANGED
@@ -184,11 +184,8 @@ sk:
|
|
184
184
|
non_user: Neexistujúca užívateľ
|
185
185
|
select_user: Vyberte používateľa
|
186
186
|
index:
|
187
|
-
filter:
|
188
|
-
sent: Odoslaná
|
189
187
|
invite_attendee: Pozvať účastníka
|
190
188
|
invites: Pozvánky
|
191
|
-
search: Vyhľadávanie
|
192
189
|
meeting_closes:
|
193
190
|
edit:
|
194
191
|
close: Zavrieť
|
data/config/locales/sv.yml
CHANGED
@@ -248,12 +248,8 @@ sv:
|
|
248
248
|
non_user: Icke befintlig deltagare
|
249
249
|
select_user: Välj deltagare
|
250
250
|
index:
|
251
|
-
filter:
|
252
|
-
all: Alla
|
253
|
-
sent: Skickat
|
254
251
|
invite_attendee: Bjud in deltagare
|
255
252
|
invites: Inbjudningar
|
256
|
-
search: Sök
|
257
253
|
meeting_closes:
|
258
254
|
edit:
|
259
255
|
close: Stäng
|
@@ -355,15 +351,12 @@ sv:
|
|
355
351
|
iframe_embed_type:
|
356
352
|
embed_in_meeting_page: Bädda in på mötessidan
|
357
353
|
none: Ingen
|
358
|
-
open_in_live_event_page: Öppna i live event sida (med valfria omröstningar)
|
359
354
|
open_in_new_tab: Öppna länk i ny flik
|
360
355
|
last_activity:
|
361
356
|
new_meeting: 'Nytt möte:'
|
362
357
|
layouts:
|
363
358
|
live_event:
|
364
|
-
administrate: Administrera
|
365
359
|
close: stäng
|
366
|
-
questions: Frågor
|
367
360
|
mailer:
|
368
361
|
invite_join_meeting_mailer:
|
369
362
|
invite:
|
@@ -495,12 +488,9 @@ sv:
|
|
495
488
|
title: Titel
|
496
489
|
polls:
|
497
490
|
questions:
|
498
|
-
closed_question:
|
499
|
-
question_results: Resultat
|
500
491
|
index:
|
501
492
|
empty_questions: Under hela mötet kommer några frågor att skickas och du kommer kunna svara på dem. De kommer att visas här.
|
502
493
|
index_admin:
|
503
|
-
admin_dashboard: Adminpanel
|
504
494
|
question: Fråga
|
505
495
|
received_answer: mottaget svar
|
506
496
|
received_answers: mottagna svar
|
data/config/locales/tr-TR.yml
CHANGED
@@ -199,12 +199,8 @@ tr:
|
|
199
199
|
non_user: Mevcut olmayan katılımcı
|
200
200
|
select_user: Katılımcı seç
|
201
201
|
index:
|
202
|
-
filter:
|
203
|
-
all: Tümü
|
204
|
-
sent: Gönderilen
|
205
202
|
invite_attendee: Katılımcı davet et
|
206
203
|
invites: Davetler
|
207
|
-
search: Arama
|
208
204
|
meeting_closes:
|
209
205
|
edit:
|
210
206
|
close: Kapat
|
@@ -273,6 +269,9 @@ tr:
|
|
273
269
|
value_types:
|
274
270
|
organizer_presenter:
|
275
271
|
not_found: 'Organizatör veritabanında bulunamadı (ID: %{id})'
|
272
|
+
calendar:
|
273
|
+
meeting_to_event:
|
274
|
+
read_more: Bu toplantı hakkında daha fazlasını okuyun
|
276
275
|
calendar_modal:
|
277
276
|
calendar_url: Takvim URL'si
|
278
277
|
export_calendar: Takvimi dışa aktar
|
data/config/locales/uk.yml
CHANGED
@@ -164,11 +164,8 @@ uk:
|
|
164
164
|
non_user: Не чинний учасник
|
165
165
|
select_user: Оберіть учасника
|
166
166
|
index:
|
167
|
-
filter:
|
168
|
-
sent: Надіслано
|
169
167
|
invite_attendee: Запросити учасника
|
170
168
|
invites: Запрошення
|
171
|
-
search: Шукати
|
172
169
|
meeting_closes:
|
173
170
|
edit:
|
174
171
|
close: Закрити
|
data/config/locales/zh-CN.yml
CHANGED
data/config/locales/zh-TW.yml
CHANGED
@@ -273,13 +273,9 @@ zh-TW:
|
|
273
273
|
non_user: 不存在的參與者。
|
274
274
|
select_user: 選擇參與者
|
275
275
|
index:
|
276
|
-
filter:
|
277
|
-
all: 全部
|
278
|
-
sent: 傳送
|
279
276
|
invite_attendee: 邀請的與會者
|
280
277
|
invites: 邀請
|
281
278
|
registrations_disabled: 你無法邀請參加者,因為註冊已被禁用。
|
282
|
-
search: 搜尋
|
283
279
|
meeting_closes:
|
284
280
|
edit:
|
285
281
|
close: 關閉
|
@@ -396,7 +392,6 @@ zh-TW:
|
|
396
392
|
body: 會議<a href="%{meeting_path}">"%{meeting_title}"</a>等待關閉,請使用“關閉會議”按鈕添加會議報告。
|
397
393
|
greetings: 問候,<br/>%{organization_name}<br/><a href="%{organization_url}">%{organization_url}</a>
|
398
394
|
hello: 哈囉,%{username}!
|
399
|
-
subject: 您現在可以在 %{organization_name} 平台上透過報告結束您的會議。
|
400
395
|
conference_venues: 會議場地
|
401
396
|
content_blocks:
|
402
397
|
upcoming_meetings:
|
@@ -413,16 +408,13 @@ zh-TW:
|
|
413
408
|
iframe_embed_type:
|
414
409
|
embed_in_meeting_page: 嵌入會議頁面
|
415
410
|
none: 沒有
|
416
|
-
open_in_live_event_page: 在直播活動頁面開啟(附加投票選項)
|
417
411
|
open_in_new_tab: 在新頁籤中開啟 URL
|
418
412
|
last_activity:
|
419
413
|
meeting_updated: '會議已更新:'
|
420
414
|
new_meeting: '新會議:'
|
421
415
|
layouts:
|
422
416
|
live_event:
|
423
|
-
administrate: 管理員
|
424
417
|
close: 關閉
|
425
|
-
questions: 問題
|
426
418
|
mailer:
|
427
419
|
invite_join_meeting_mailer:
|
428
420
|
invite:
|
@@ -553,12 +545,9 @@ zh-TW:
|
|
553
545
|
title: 標題
|
554
546
|
polls:
|
555
547
|
questions:
|
556
|
-
closed_question:
|
557
|
-
question_results: 問題結果
|
558
548
|
index:
|
559
549
|
empty_questions: 在本次會議期間,您將收到一些問題並且您可以回答這些問題。這些問題將會在此顯示。
|
560
550
|
index_admin:
|
561
|
-
admin_dashboard: 管理員儀表板
|
562
551
|
edit: 在管理面板中編輯
|
563
552
|
question: 問題
|
564
553
|
received_answer: 收到回答
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class AddWithdrawnFieldsOnMeetings < ActiveRecord::Migration[6.1]
|
4
|
+
class CustomMeeting < Decidim::Meetings::ApplicationRecord
|
5
|
+
self.table_name = "decidim_meetings_meetings"
|
6
|
+
end
|
7
|
+
|
8
|
+
def up
|
9
|
+
add_column :decidim_meetings_meetings, :withdrawn_at, :datetime
|
10
|
+
|
11
|
+
CustomMeeting.where(state: "withdrawn").find_each do |meeting|
|
12
|
+
meeting.withdrawn_at = meeting.updated_at
|
13
|
+
meeting.save!
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def down
|
18
|
+
# rubocop:disable Rails/SkipsModelValidations
|
19
|
+
CustomMeeting.where.not(withdrawn_at: null).update_all(state: :withdrawn)
|
20
|
+
# rubocop:enable Rails/SkipsModelValidations
|
21
|
+
remove_column :decidim_meetings_meetings, :withdrawn_at
|
22
|
+
end
|
23
|
+
end
|
data/decidim-meetings.gemspec
CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
|
|
19
19
|
"homepage_uri" => "https://decidim.org",
|
20
20
|
"source_code_uri" => "https://github.com/decidim/decidim"
|
21
21
|
}
|
22
|
-
s.required_ruby_version = "~> 3.
|
22
|
+
s.required_ruby_version = "~> 3.2.0"
|
23
23
|
|
24
24
|
s.name = "decidim-meetings"
|
25
25
|
s.summary = "Decidim meetings module"
|
@@ -45,6 +45,9 @@ module Decidim
|
|
45
45
|
object.audio_url if object.closing_visible?
|
46
46
|
end
|
47
47
|
|
48
|
+
field :withdrawn_at, Decidim::Core::DateTimeType, description: "The date and time this meeting was withdrawn", null: true
|
49
|
+
field :withdrawn, GraphQL::Types::Boolean, "Whether this meeting has been withdrawn or not", method: :withdrawn?, null: true
|
50
|
+
|
48
51
|
field :created_at, Decidim::Core::DateTimeType, description: "The date and time this minutes was created", null: true
|
49
52
|
field :updated_at, Decidim::Core::DateTimeType, description: "The date and time this minutes was updated", null: true
|
50
53
|
|
@@ -19,12 +19,12 @@ Decidim.register_component(:meetings) do |component|
|
|
19
19
|
resource.template = "decidim/meetings/meetings/linked_meetings"
|
20
20
|
resource.card = "decidim/meetings/meeting"
|
21
21
|
resource.reported_content_cell = "decidim/meetings/reported_content"
|
22
|
-
resource.actions = %w(join comment)
|
22
|
+
resource.actions = %w(join comment reply_poll)
|
23
23
|
resource.searchable = true
|
24
24
|
end
|
25
25
|
|
26
26
|
component.register_stat :meetings_count, primary: true, priority: Decidim::StatsRegistry::MEDIUM_PRIORITY do |components, start_at, end_at|
|
27
|
-
meetings = Decidim::Meetings::FilteredMeetings.for(components, start_at, end_at).
|
27
|
+
meetings = Decidim::Meetings::FilteredMeetings.for(components, start_at, end_at).not_withdrawn
|
28
28
|
meetings.count
|
29
29
|
end
|
30
30
|
|
@@ -32,7 +32,11 @@ module Decidim
|
|
32
32
|
resource :live_event, only: :show
|
33
33
|
namespace :polls do
|
34
34
|
resources :questions, only: [:index, :update]
|
35
|
-
resources :answers, only: [:index, :create]
|
35
|
+
resources :answers, only: [:index, :create] do
|
36
|
+
collection do
|
37
|
+
get :admin
|
38
|
+
end
|
39
|
+
end
|
36
40
|
end
|
37
41
|
end
|
38
42
|
scope "/meetings" do
|
@@ -59,6 +59,7 @@ module Decidim
|
|
59
59
|
def meeting_params(component:, type:, author_type:)
|
60
60
|
start_time = ::Faker::Date.between(from: 20.weeks.ago, to: 20.weeks.from_now)
|
61
61
|
end_time = start_time + [rand(1..4).hours, rand(1..20).days].sample
|
62
|
+
registration_type = Decidim::Meetings::Meeting::REGISTRATION_TYPES.keys.sample
|
62
63
|
|
63
64
|
params = {
|
64
65
|
component:,
|
@@ -78,6 +79,7 @@ module Decidim
|
|
78
79
|
registrations_enabled: [true, false].sample,
|
79
80
|
available_slots: (10..50).step(10).to_a.sample,
|
80
81
|
author: participatory_space.organization,
|
82
|
+
registration_type:,
|
81
83
|
registration_terms: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
|
82
84
|
Decidim::Faker::Localized.paragraph(sentence_count: 3)
|
83
85
|
end,
|
@@ -87,7 +89,6 @@ module Decidim
|
|
87
89
|
params = case type
|
88
90
|
when :hybrid
|
89
91
|
params.merge(
|
90
|
-
end_time: Time.zone.now + [rand(1..4).hours, rand(1..20).days].sample,
|
91
92
|
type_of_meeting: :hybrid,
|
92
93
|
online_meeting_url: "https://www.youtube.com/watch?v=f6JMgJAQ2tc",
|
93
94
|
iframe_access_level: :all,
|
@@ -95,7 +96,6 @@ module Decidim
|
|
95
96
|
)
|
96
97
|
when :online
|
97
98
|
params.merge(
|
98
|
-
end_time: Time.zone.now + [rand(1..4).hours, rand(1..20).days].sample,
|
99
99
|
location: nil,
|
100
100
|
location_hints: nil,
|
101
101
|
latitude: nil,
|
@@ -107,7 +107,6 @@ module Decidim
|
|
107
107
|
)
|
108
108
|
when :online_live_event
|
109
109
|
params.merge(
|
110
|
-
end_time: Time.zone.now + [rand(1..4).hours, rand(1..20).days].sample,
|
111
110
|
location: nil,
|
112
111
|
location_hints: nil,
|
113
112
|
latitude: nil,
|
@@ -121,6 +120,15 @@ module Decidim
|
|
121
120
|
params # :in_person
|
122
121
|
end
|
123
122
|
|
123
|
+
params = case registration_type
|
124
|
+
when :on_different_platform
|
125
|
+
params.merge(registration_url: Faker::Internet.url)
|
126
|
+
when :on_this_platform
|
127
|
+
params.merge(registrations_enabled: true)
|
128
|
+
else
|
129
|
+
params # registration_disabled
|
130
|
+
end
|
131
|
+
|
124
132
|
case author_type
|
125
133
|
when :user
|
126
134
|
params.merge(
|
@@ -135,7 +143,7 @@ module Decidim
|
|
135
143
|
user_group:
|
136
144
|
)
|
137
145
|
else
|
138
|
-
params #
|
146
|
+
params # official
|
139
147
|
end
|
140
148
|
end
|
141
149
|
|
@@ -149,12 +157,23 @@ module Decidim
|
|
149
157
|
def create_meeting!(component:, type: :in_person, author_type: :official)
|
150
158
|
params = meeting_params(component:, type:, author_type:)
|
151
159
|
|
152
|
-
Decidim.traceability.create!(
|
160
|
+
resource = Decidim.traceability.create!(
|
153
161
|
Decidim::Meetings::Meeting,
|
154
162
|
admin_user,
|
155
163
|
params,
|
156
164
|
visibility: "all"
|
157
165
|
)
|
166
|
+
|
167
|
+
Decidim::EventsManager.publish(
|
168
|
+
event: "decidim.events.meetings.meeting_created",
|
169
|
+
event_class: Decidim::Meetings::CreateMeetingEvent,
|
170
|
+
resource:,
|
171
|
+
followers: resource.participatory_space.followers
|
172
|
+
)
|
173
|
+
|
174
|
+
Decidim::Comments::Seed.comments_for(resource)
|
175
|
+
|
176
|
+
resource
|
158
177
|
end
|
159
178
|
|
160
179
|
def create_service!(meeting:)
|
@@ -181,19 +200,7 @@ module Decidim
|
|
181
200
|
def create_meeting_registration!(meeting:)
|
182
201
|
r = SecureRandom.hex(4)
|
183
202
|
email = "meeting-registered-user-#{meeting.id}-#{r}@example.org"
|
184
|
-
|
185
|
-
user = Decidim::User.find_or_initialize_by(email:)
|
186
|
-
|
187
|
-
user.update!(
|
188
|
-
password: "decidim123456789",
|
189
|
-
name:,
|
190
|
-
nickname: ::Faker::Twitter.unique.screen_name,
|
191
|
-
organization:,
|
192
|
-
tos_agreement: "1",
|
193
|
-
confirmed_at: Time.current,
|
194
|
-
personal_url: ::Faker::Internet.url,
|
195
|
-
about: ::Faker::Lorem.paragraph(sentence_count: 2)
|
196
|
-
)
|
203
|
+
user = find_or_initialize_user_by(email:)
|
197
204
|
|
198
205
|
Decidim::Meetings::Registration.create!(
|
199
206
|
meeting:,
|
@@ -3,7 +3,7 @@
|
|
3
3
|
namespace :decidim_meetings do
|
4
4
|
# For privacy reasons we recommend that you delete this registration form when you no longer need it.
|
5
5
|
# By default this is 3 months after the meeting has passed
|
6
|
-
desc "
|
6
|
+
desc "Removes registration forms belonging to meetings that have ended more than X months ago"
|
7
7
|
task :clean_registration_forms, [:months] => :environment do |_t, args|
|
8
8
|
args.with_defaults(months: 3)
|
9
9
|
|