decidim-conferences 0.29.2 → 0.30.0.rc2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/conferences/content_blocks/highlighted_conferences_settings_form/show.erb +1 -1
  3. data/app/commands/decidim/conferences/admin/copy_conference.rb +2 -12
  4. data/app/commands/decidim/conferences/admin/create_conference.rb +1 -1
  5. data/app/commands/decidim/conferences/admin/update_conference.rb +1 -1
  6. data/app/controllers/decidim/conferences/admin/component_share_tokens_controller.rb +18 -0
  7. data/app/controllers/decidim/conferences/admin/concerns/conference_admin.rb +1 -1
  8. data/app/controllers/decidim/conferences/admin/conference_share_tokens_controller.rb +18 -0
  9. data/app/controllers/decidim/conferences/admin/conferences_controller.rb +17 -4
  10. data/app/forms/decidim/conferences/admin/conference_copy_form.rb +0 -1
  11. data/app/forms/decidim/conferences/admin/conference_form.rb +3 -8
  12. data/app/helpers/decidim/conferences/conference_program_helper.rb +4 -2
  13. data/app/mailers/decidim/conferences/admin/send_conference_diploma_mailer.rb +1 -11
  14. data/app/models/decidim/conference.rb +19 -0
  15. data/app/models/decidim/conferences/conference_invite.rb +10 -0
  16. data/app/permissions/decidim/conferences/permissions.rb +11 -4
  17. data/app/presenters/decidim/conferences/admin_log/conference_presenter.rb +1 -1
  18. data/app/presenters/decidim/conferences/conference_presenter.rb +19 -0
  19. data/app/serializers/decidim/conferences/conference_serializer.rb +24 -0
  20. data/app/serializers/decidim/conferences/download_your_data_conference_invite_serializer.rb +3 -4
  21. data/app/serializers/decidim/conferences/download_your_data_conference_registration_serializer.rb +4 -4
  22. data/app/serializers/decidim/conferences/open_data_conference_serializer.rb +30 -0
  23. data/app/views/decidim/conferences/admin/conference_copies/_form.html.erb +0 -3
  24. data/app/views/decidim/conferences/admin/conferences/_actions.html.erb +35 -0
  25. data/app/views/decidim/conferences/admin/conferences/_conference_row.html.erb +28 -0
  26. data/app/views/decidim/conferences/admin/conferences/_conferences_thead.html.erb +8 -0
  27. data/app/views/decidim/conferences/admin/conferences/_form.html.erb +27 -8
  28. data/app/views/decidim/conferences/admin/conferences/index.html.erb +14 -52
  29. data/app/views/decidim/conferences/admin/conferences/manage_trash.html.erb +20 -0
  30. data/app/views/decidim/conferences/admin/send_conference_diploma_mailer/diploma_user.html.erb +3 -1
  31. data/app/views/decidim/conferences/conference_program/show.html.erb +3 -1
  32. data/app/views/decidim/conferences/conference_speakers/index.html.erb +4 -1
  33. data/app/views/decidim/conferences/conferences/index.html.erb +3 -2
  34. data/app/views/decidim/conferences/conferences/show.html.erb +6 -6
  35. data/app/views/decidim/conferences/media/index.html.erb +3 -1
  36. data/app/views/decidim/conferences/registration_types/index.html.erb +3 -1
  37. data/app/views/layouts/decidim/admin/conference.html.erb +1 -1
  38. data/config/locales/ar.yml +12 -3
  39. data/config/locales/bg.yml +0 -3
  40. data/config/locales/ca.yml +63 -3
  41. data/config/locales/cs.yml +63 -3
  42. data/config/locales/de.yml +63 -3
  43. data/config/locales/el.yml +0 -3
  44. data/config/locales/en.yml +63 -3
  45. data/config/locales/es-MX.yml +63 -3
  46. data/config/locales/es-PY.yml +63 -3
  47. data/config/locales/es.yml +63 -3
  48. data/config/locales/eu.yml +63 -3
  49. data/config/locales/fi-plain.yml +63 -3
  50. data/config/locales/fi.yml +63 -3
  51. data/config/locales/fr-CA.yml +22 -3
  52. data/config/locales/fr.yml +22 -3
  53. data/config/locales/ga-IE.yml +0 -2
  54. data/config/locales/gl.yml +0 -3
  55. data/config/locales/hu.yml +0 -3
  56. data/config/locales/id-ID.yml +0 -3
  57. data/config/locales/it.yml +0 -3
  58. data/config/locales/ja.yml +65 -3
  59. data/config/locales/lb.yml +0 -3
  60. data/config/locales/lt.yml +0 -3
  61. data/config/locales/lv.yml +0 -3
  62. data/config/locales/nl.yml +0 -3
  63. data/config/locales/no.yml +0 -3
  64. data/config/locales/pl.yml +0 -3
  65. data/config/locales/pt-BR.yml +0 -3
  66. data/config/locales/pt.yml +0 -3
  67. data/config/locales/ro-RO.yml +0 -3
  68. data/config/locales/sk.yml +0 -3
  69. data/config/locales/sv.yml +116 -3
  70. data/config/locales/tr-TR.yml +0 -3
  71. data/config/locales/zh-CN.yml +0 -3
  72. data/config/locales/zh-TW.yml +0 -3
  73. data/db/migrate/20210310134942_add_followable_counter_cache_to_conferences.rb +1 -1
  74. data/db/migrate/20240822161330_add_deleted_at_to_decidim_conferences.rb +8 -0
  75. data/decidim-conferences.gemspec +1 -2
  76. data/lib/decidim/api/conference_media_link_type.rb +4 -4
  77. data/lib/decidim/api/conference_partner_type.rb +4 -4
  78. data/lib/decidim/api/conference_speaker_type.rb +7 -8
  79. data/lib/decidim/api/conference_type.rb +17 -19
  80. data/lib/decidim/conferences/admin_engine.rb +87 -58
  81. data/lib/decidim/conferences/conference_diploma_pdf.rb +242 -0
  82. data/lib/decidim/conferences/engine.rb +6 -1
  83. data/lib/decidim/conferences/menu.rb +23 -9
  84. data/lib/decidim/conferences/participatory_space.rb +13 -0
  85. data/lib/decidim/conferences/seeds.rb +134 -115
  86. data/lib/decidim/conferences/test/factories.rb +10 -9
  87. data/lib/decidim/conferences/version.rb +1 -1
  88. data/lib/decidim/conferences.rb +1 -0
  89. metadata +23 -28
  90. data/app/controllers/decidim/conferences/admin/categories_controller.rb +0 -13
  91. data/config/initializers/wicked_pdf.rb +0 -22
@@ -22,8 +22,6 @@ sv:
22
22
  published_at: Publicerad
23
23
  registration_terms: Villkor för registrering
24
24
  registrations_enabled: Registrering aktiverad
25
- scope_id: Indelning
26
- scopes_enabled: Aktivera indelningar
27
25
  short_description: Kort beskrivning
28
26
  show_statistics: Visa statistik
29
27
  sign_date: Datum för underskrift
@@ -63,11 +61,20 @@ sv:
63
61
  personal_url: Personlig hemsida
64
62
  position: Befattning
65
63
  short_bio: Kort beskrivning
64
+ twitter_handle: Användarnamn till X
66
65
  user_id: Användare
67
66
  conference_user_role:
68
67
  email: E-post
69
68
  name: Namn
70
69
  role: Roll
70
+ partner:
71
+ logo: Logotyp
72
+ errors:
73
+ models:
74
+ conference_registration_invite:
75
+ attributes:
76
+ email:
77
+ already_invited: Det här e-postadressen har redan blivit inbjuden.
71
78
  activerecord:
72
79
  models:
73
80
  decidim/conference:
@@ -83,7 +90,15 @@ sv:
83
90
  admin:
84
91
  actions:
85
92
  confirm: Bekräfta
93
+ confirm_delete_conference: Är du säker på att du vill ta bort den här konferensen? Om du ändrar dig kan du återställa den senare.
94
+ new_conference: Ny konferens
95
+ new_conference_user_role: Ny konferensadministratör
96
+ new_media_link: Ny medialänk
97
+ new_partner: Ny partner
98
+ new_registration_type: Ny registreringstyp
99
+ new_speaker: Ny talare
86
100
  send_diplomas: Skicka deltagarbevis
101
+ view_deleted_conferences: Visa raderade konferenser
87
102
  conference_copies:
88
103
  new:
89
104
  copy: Kopiera
@@ -107,12 +122,15 @@ sv:
107
122
  destroy:
108
123
  success: Talaren har tagits bort.
109
124
  edit:
125
+ title: Uppdatera konferenstalare
110
126
  update: Uppdatera
111
127
  index:
112
128
  conference_speakers_title: Talare
113
129
  new:
114
130
  create: Skapa
131
+ title: Ny konferenstalare
115
132
  publish:
133
+ invalid: Det gick inte att publicera talaren.
116
134
  success: Konferensens talare har publicerats.
117
135
  unpublish:
118
136
  invalid: Det gick inte att avpublicera talaren.
@@ -127,9 +145,13 @@ sv:
127
145
  destroy:
128
146
  success: Konferensadministratören har tagits bort.
129
147
  edit:
148
+ title: Uppdatera konferensadministratör
130
149
  update: Uppdatera
150
+ index:
151
+ conference_admins_title: Konferensadministratörer
131
152
  new:
132
153
  create: Skapa
154
+ title: Ny konferensadministratör
133
155
  update:
134
156
  error: Det gick inte att uppdatera konferensadministratören.
135
157
  success: Konferensadministratören har uppdaterats.
@@ -145,6 +167,9 @@ sv:
145
167
  title: Allmän information
146
168
  index:
147
169
  published: Publicerad
170
+ unpublished: Ej publicerad
171
+ manage_trash:
172
+ title: Borttagna konferenser
148
173
  new:
149
174
  create: Skapa
150
175
  title: Konferens
@@ -158,26 +183,39 @@ sv:
158
183
  media_links:
159
184
  create:
160
185
  error: Det gick inte att skapa en ny medialänk.
186
+ success: Medielänken har skapats.
187
+ destroy:
188
+ success: Medielänken har raderats.
161
189
  edit:
190
+ title: Uppdatera medialänk
162
191
  update: Uppdatera
192
+ index:
193
+ media_links_title: Medialänkar
163
194
  new:
164
195
  create: Skapa
196
+ title: Skapa medialänk
165
197
  update:
166
198
  error: Det gick inte att uppdatera medialänken.
199
+ success: Medialänken har uppdaterats.
167
200
  menu:
168
201
  conferences: Konferenser
169
202
  conferences_submenu:
170
203
  attachment_collections: Mappar
171
204
  attachment_files: Filer
172
205
  attachments: Bilagor
173
- categories: Kategorier
174
206
  components: Komponenter
175
207
  conference_admins: Konferensadministratörer
176
208
  conference_invites: Inbjudningar
177
209
  conference_speakers: Talare
210
+ diploma: Närvarointyg
211
+ info: Om konferensen
212
+ media_links: Medialänkar
178
213
  moderations: Moderering
179
214
  partners: Partners
215
+ registration_types: Typer av registrering
180
216
  registrations: Registreringar
217
+ see_conference: Visa konferens
218
+ user_registrations: Användarregistreringar
181
219
  models:
182
220
  conference:
183
221
  fields:
@@ -206,6 +244,7 @@ sv:
206
244
  date: Datum
207
245
  link: Länk
208
246
  title: Titel
247
+ name: Medialänk
209
248
  partner:
210
249
  fields:
211
250
  link: Länk
@@ -231,6 +270,7 @@ sv:
231
270
  destroy:
232
271
  success: Konferenspartnern har tagits bort.
233
272
  edit:
273
+ title: Uppdatera partner
234
274
  update: Uppdatera
235
275
  new:
236
276
  create: Skapa
@@ -252,6 +292,7 @@ sv:
252
292
  destroy:
253
293
  success: Registreringstypen har tagits från konferensen.
254
294
  edit:
295
+ title: Uppdatera registreringstyp
255
296
  update: Uppdatera
256
297
  new:
257
298
  create: Skapa
@@ -259,13 +300,21 @@ sv:
259
300
  update:
260
301
  error: Det gick inte att uppdatera en registreringstyp för konferensen.
261
302
  success: Registreringstypen till konferensen har uppdaterats.
303
+ taxonomy_filters:
304
+ space_filter_for:
305
+ conferences: Alla konferenser
262
306
  titles:
263
307
  conferences: Konferenser
308
+ conferences_deleted: Borttagna konferenser
309
+ tooltips:
310
+ deleted_conferences_info: Konferenser kan endast tas bort om statusen är "Opublicerad".
264
311
  admin_log:
265
312
  conference:
266
313
  create: "%{user_name} skapade konferensen %{resource_name}"
267
314
  publish: "%{user_name} publicerade konferensen %{resource_name}"
315
+ restore: "%{user_name} återställde konferensen %{resource_name}"
268
316
  send_conference_diplomas: "%{user_name} skickade närvarointyg till deltagarna på konferensen %{resource_name}"
317
+ soft_delete: "%{user_name} tog bort konferensen %{resource_name}"
269
318
  unpublish: "%{user_name} avpublicerade konferensen %{resource_name}"
270
319
  update: "%{user_name} uppdaterade konferensen %{resource_name}"
271
320
  update_diploma: "%{user_name} uppdaterade konfigurationen av närvarointygen till konferensen %{resource_name}"
@@ -286,6 +335,7 @@ sv:
286
335
  update: "%{user_name} uppdaterade partnern %{resource_name} i konferensen %{space_name}"
287
336
  registration_type:
288
337
  create: "%{user_name} skapade registreringstypen %{resource_name} på konferensen %{space_name}"
338
+ delete: "%{user_name} tog bort registreringstypen %{resource_name} från konferensen %{space_name}"
289
339
  publish: "%{user_name} publicerade registreringstypen %{resource_name} till konferensen %{space_name}"
290
340
  unpublish: "%{user_name} avpublicerade registreringstypen %{resource_name} till konferensen %{space_name}"
291
341
  update: "%{user_name} uppdaterade registreringstypen %{resource_name} till konferensen %{space_name}"
@@ -301,6 +351,9 @@ sv:
301
351
  title: Talare
302
352
  conferences:
303
353
  admin:
354
+ conference_copies:
355
+ form:
356
+ slug_help_html: 'URL-slugs används till att generera URL:er till konferensen. Använd bara bokstäver, siffror och bindestreck, och de måste börja med en bokstav. Exempel: %{url}'
304
357
  conference_invites:
305
358
  create:
306
359
  error: Det gick inte att bjuda in deltagaren till konferensen.
@@ -315,6 +368,7 @@ sv:
315
368
  invite_attendee: Bjud in deltagare
316
369
  invites: Inbjudningar
317
370
  new:
371
+ explanation: Deltagaren kommer att bjudas in att delta i en konferens. Om deltagarens e-postadress inte har registrerats kommer deltagaren även att bjudas in till organisationen.
318
372
  invite: Inbjudan
319
373
  new_invite: Bjud in deltagare
320
374
  conference_registrations:
@@ -331,16 +385,25 @@ sv:
331
385
  conferences:
332
386
  form:
333
387
  available_slots_help: Lämna det till 0 om du har obegränsat antal platser.
388
+ define_taxonomy_filters: Vänligen definiera några filter för deltagarutrymmet innan du använder den här inställningen.
389
+ no_taxonomy_filters_found: Inga filter för kategorier hittades.
334
390
  registrations_count:
335
391
  one: Det har gjorts en registrering.
336
392
  other: Det har gjorts %{count} registreringar.
393
+ slug_help_html: 'URL-slugs används till att generera URL:er till konferensen. Använd bara bokstäver, siffror och bindestreck, och de måste börja med en bokstav. Exempel: %{url}'
394
+ taxonomies: Kategorier
395
+ content_blocks:
396
+ highlighted_conferences:
397
+ max_results: Maximalt antal element att visa
337
398
  diplomas:
338
399
  edit:
339
400
  save: Spara
401
+ title: Närvarointyg
340
402
  invite_join_conference_mailer:
341
403
  invite:
342
404
  decline: Avböj inbjudan till '%{conference_title}'
343
405
  invited_existing_user_to_join_a_conference: "%{invited_by} har bjudit in dig till en konferens på %{application}. Du kan avböja eller godkänna den via länkarna nedan."
406
+ invited_user_to_join_a_conference: "%{invited_by} har bjudit in dig till en konferens på %{application}. Du kan tacka ja via länken nedan."
344
407
  registration: Registrering till '%{conference_title}'
345
408
  partners:
346
409
  index:
@@ -355,6 +418,7 @@ sv:
355
418
  diploma_html: Närvarointyget för konferensen <a href="%{url}">%{title}</a> finns i bilagorna.
356
419
  diploma_user:
357
420
  attendance_verified_by: Närvaro bekräftad av
421
+ certificate_of_attendance: Närvarointyg
358
422
  certificate_of_attendance_description: Detta intygar att <strong>%{user}</strong> har deltagit och medverkat i <strong>%{title}</strong> som hölls på <strong>%{location}</strong> <strong>%{start} - %{end}</strong>
359
423
  send_diploma:
360
424
  error: Det gick inte att skicka närvarointyg för konferensen.
@@ -383,13 +447,16 @@ sv:
383
447
  create:
384
448
  invalid: Det gick inte att gå med i denna konferens.
385
449
  success: Du har gått med i konferensen.
450
+ unauthorized: Du måste logga in innan du anmäler dig till konferensen.
386
451
  decline_invitation:
387
452
  invalid: Det gick inte att avböja inbjudan.
388
453
  success: Du har avböjt inbjudan.
454
+ unauthorized: Du måste logga in innan du avböjer inbjudan.
389
455
  destroy:
390
456
  invalid: Det gick inte att lämna konferensen.
391
457
  success: Du har lämnat konferensen.
392
458
  conference_speaker:
459
+ go_to_twitter: Gå till X
393
460
  more_info: mer information
394
461
  personal_website: Personlig hemsida
395
462
  show:
@@ -408,14 +475,27 @@ sv:
408
475
  collaborators: Partners
409
476
  main_promotors: Organisatörer
410
477
  show:
478
+ already_have_an_account?: Har du redan ett konto?
479
+ are_you_new?: Ny deltagare?
411
480
  login_as: Du är inloggad som %{name} <%{email}>
481
+ make_conference_registration: Anmäl dig till konferensen
482
+ manage_registration: Hantera anmälan
412
483
  register: Registrering
484
+ sign_in_description: Logga in för att anmäla dig till konferensen
485
+ sign_up_description: Skapa ett konto för att anmäla dig till konferensen
413
486
  content_blocks:
414
487
  highlighted_conferences:
415
488
  name: Viktiga konferenser just nu
416
489
  index:
417
490
  title: Konferenser
491
+ last_activity:
492
+ new_conference: 'Ny konferens:'
418
493
  mailer:
494
+ conference_registration_mailer:
495
+ confirmation:
496
+ subject: Din anmälan till konferensen har bekräftats.
497
+ pending_validation:
498
+ subject: Din anmälan till konferensen väntar på bekräftelse.
419
499
  invite_join_conference_mailer:
420
500
  invite:
421
501
  subject: Inbjudan att delta i en konferens
@@ -460,6 +540,25 @@ sv:
460
540
  objectives: Mål
461
541
  related_assemblies: Relaterade samråd
462
542
  related_participatory_processes: Relaterade deltagandeprocesser
543
+ download_your_data:
544
+ help:
545
+ conference_invites:
546
+ accepted_at: Datum då inbjudan till konferensen godkändes
547
+ conference: Konferensen som inbjudan gäller
548
+ confirmed_at: Datum då inbjudan bekräftades
549
+ created_at: Datum då inbjudan skapades
550
+ id: Unikt id för konferensinbjudan
551
+ registration_type: Typ av anmälan till konferensen som skickades
552
+ rejected_at: Datum då inbjudan till konferensen avvisades
553
+ sent_at: Datum då inbjudan till konferensen skickades
554
+ updated_at: Datum då inbjudan senast uppdaterades
555
+ conference_registrations:
556
+ conference: Konferensen som detta tillhör
557
+ confirmed_at: Datum då anmälan bekräftades
558
+ created_at: Datum då anmälan skapades
559
+ id: Unikt id för konferensanmälan
560
+ registration_type: Den typ av registrering som detta tillhör
561
+ updated_at: Datum då anmälan senast uppdaterades
463
562
  events:
464
563
  conferences:
465
564
  conference_registration_confirmed:
@@ -497,12 +596,26 @@ sv:
497
596
  contextual: "<p>En <strong>konferens</strong> är en samling av möten som arrangeras i ett program, med ett antal personer inbjudna som talare, och andra informationsfält typiska för stora kongresser eller sociala evenemang (registrering, förteckning över organisationer som stöder eller sponsrar evenemanget, etc.).</p> <p>Exempel: En konferens kan vara ett relevant evenemang för en organisation och dess medlemmar, eller äga rum som en del av en deltagarprocess eller följa ett samråd.</p>\n"
498
597
  page: "<p>En <strong>konferens</strong> är en samling av möten som arrangeras i ett program, med ett antal personer inbjudna som talare, och andra informationsfält typiska för stora kongresser eller sociala evenemang (registrering, förteckning över organisationer som stöder eller sponsrar evenemanget, etc.).</p> <p>Exempel: En konferens kan vara ett relevant evenemang för en organisation och dess medlemmar, eller äga rum som en del av en deltagarprocess eller följa ett samråd.</p>\n"
499
598
  title: Vad är konferenser?
599
+ log:
600
+ value_types:
601
+ conference_presenter:
602
+ not_found: 'Konferensen hittades inte i databasen (ID: %{id}).'
500
603
  media:
501
604
  index:
502
605
  description: Länkar om konferensen
503
606
  title: Media och länkar
504
607
  menu:
505
608
  conferences: Konferenser
609
+ open_data:
610
+ help:
611
+ conferences:
612
+ created_at: Datum när utrymmet skapades
613
+ decidim_scope_id: Omfattningen av konferensen
614
+ description: Längre beskrivning av konferensen
615
+ end_date: Det datum då konferens avslutas.
616
+ follows_count: Antal följare
617
+ hashtag: Konferensens hashtag, används för Twitter/X
618
+ id: Unikt id för konferensen
506
619
  statistics:
507
620
  conferences_count: Konferenser
508
621
  devise:
@@ -15,8 +15,6 @@ tr:
15
15
  participatory_processes_ids: İlgili katılımcı süreçleri
16
16
  promoted: Vurgulanan
17
17
  published_at: Yayınlandı
18
- scope_id: Kapsam
19
- scopes_enabled: Kapsamlar etkinleştirildi
20
18
  short_description: Kısa Açıklama
21
19
  show_statistics: İstatistikleri göster
22
20
  slogan: Slogan
@@ -131,7 +129,6 @@ tr:
131
129
  attachment_collections: Klasörler
132
130
  attachment_files: Dosyalar
133
131
  attachments: Ekler
134
- categories: Kategoriler
135
132
  components: Bileşenler
136
133
  conference_admins: Konferans yöneticileri
137
134
  conference_invites: Davetler
@@ -15,8 +15,6 @@ zh-CN:
15
15
  participatory_processes_ids: 相关的参与进程
16
16
  promoted: 高亮
17
17
  published_at: 发布于
18
- scope_id: 范围
19
- scopes_enabled: 范围已启用
20
18
  short_description: 简短描述
21
19
  show_statistics: 显示统计
22
20
  slogan: 斯洛根文
@@ -122,7 +120,6 @@ zh-CN:
122
120
  attachment_collections: 文件夹
123
121
  attachment_files: 文件
124
122
  attachments: 附件
125
- categories: 类别管理
126
123
  components: 组件
127
124
  conference_admins: 会议管理员
128
125
  conference_invites: 邀请
@@ -22,8 +22,6 @@ zh-TW:
22
22
  published_at: 發佈於
23
23
  registration_terms: 註冊條款
24
24
  registrations_enabled: 啟用註冊
25
- scope_id: 範圍
26
- scopes_enabled: 啟用範圍
27
25
  short_description: 簡短說明
28
26
  show_statistics: 顯示統計資料
29
27
  sign_date: 簽到日期
@@ -170,7 +168,6 @@ zh-TW:
170
168
  attachment_collections: 資料夾
171
169
  attachment_files: 檔案
172
170
  attachments: 附件
173
- categories: 類別
174
171
  components: 组件
175
172
  conference_admins: 會議管理員
176
173
  conference_invites: 邀請
@@ -7,7 +7,7 @@ class AddFollowableCounterCacheToConferences < ActiveRecord::Migration[5.2]
7
7
  reversible do |dir|
8
8
  dir.up do
9
9
  Decidim::Conference.reset_column_information
10
- Decidim::Conference.find_each do |record|
10
+ Decidim::Conference.unscoped.find_each do |record|
11
11
  record.class.reset_counters(record.id, :follows)
12
12
  end
13
13
  end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddDeletedAtToDecidimConferences < ActiveRecord::Migration[7.0]
4
+ def change
5
+ add_column :decidim_conferences, :deleted_at, :datetime
6
+ add_index :decidim_conferences, :deleted_at
7
+ end
8
+ end
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
17
17
  "homepage_uri" => "https://decidim.org",
18
18
  "source_code_uri" => "https://github.com/decidim/decidim"
19
19
  }
20
- s.required_ruby_version = "~> 3.2.0"
20
+ s.required_ruby_version = "~> 3.3.0"
21
21
 
22
22
  s.name = "decidim-conferences"
23
23
  s.summary = "Decidim conferences module"
@@ -32,7 +32,6 @@ Gem::Specification.new do |s|
32
32
 
33
33
  s.add_dependency "decidim-core", Decidim::Conferences.version
34
34
  s.add_dependency "decidim-meetings", Decidim::Conferences.version
35
- s.add_dependency "wicked_pdf", "~> 2.7"
36
35
 
37
36
  s.add_development_dependency "decidim-admin", Decidim::Conferences.version
38
37
  s.add_development_dependency "decidim-dev", Decidim::Conferences.version
@@ -4,15 +4,15 @@ module Decidim
4
4
  module Conferences
5
5
  # This type represents a conference.
6
6
  class ConferenceMediaLinkType < Decidim::Api::Types::BaseObject
7
+ implements Decidim::Core::TimestampsInterface
8
+
7
9
  description "A conference media link"
8
10
 
11
+ field :date, Decidim::Core::DateType, "Relevant date for the media link", null: true
9
12
  field :id, GraphQL::Types::ID, "Internal ID for this media link", null: false
10
- field :title, Decidim::Core::TranslatedFieldType, "Title for this media link", null: true
11
13
  field :link, GraphQL::Types::String, "URL for this media link", null: true
12
- field :date, Decidim::Core::DateType, "Relevant date for the media link", null: true
14
+ field :title, Decidim::Core::TranslatedFieldType, "Title for this media link", null: true
13
15
  field :weight, GraphQL::Types::Int, "Order of appearance in which it should be presented", null: true
14
- field :created_at, Decidim::Core::DateTimeType, "The time this entry was created", null: true
15
- field :updated_at, Decidim::Core::DateTimeType, "The time this entry was updated", null: true
16
16
  end
17
17
  end
18
18
  end
@@ -4,16 +4,16 @@ module Decidim
4
4
  module Conferences
5
5
  # This type represents a conference.
6
6
  class ConferencePartnerType < Decidim::Api::Types::BaseObject
7
+ implements Decidim::Core::TimestampsInterface
8
+
7
9
  description "A conference partner"
8
10
 
9
11
  field :id, GraphQL::Types::ID, "ID of the resource", null: false
12
+ field :link, GraphQL::Types::String, "Relevant URL for this partner", null: true
13
+ field :logo, GraphQL::Types::String, "Link to the partner's logo", null: true
10
14
  field :name, GraphQL::Types::String, "Partner name", null: true
11
15
  field :partner_type, GraphQL::Types::String, "Partner type", null: true
12
16
  field :weight, GraphQL::Types::Int, "Order of appearance in which it should be presented", null: true
13
- field :link, GraphQL::Types::String, "Relevant URL for this partner", null: true
14
- field :logo, GraphQL::Types::String, "Link to the partner's logo", null: true
15
- field :created_at, Decidim::Core::DateTimeType, "The time this partner was created", null: true
16
- field :updated_at, Decidim::Core::DateTimeType, "The time this partner was updated", null: true
17
17
 
18
18
  def logo
19
19
  object.attached_uploader(:logo).url
@@ -4,21 +4,20 @@ module Decidim
4
4
  module Conferences
5
5
  # This type represents a conference.
6
6
  class ConferenceSpeakerType < Decidim::Api::Types::BaseObject
7
+ implements Decidim::Core::TimestampsInterface
8
+
7
9
  description "A conference speaker"
8
10
 
9
- field :id, GraphQL::Types::ID, "Internal ID of the speaker", null: false
11
+ field :affiliation, Decidim::Core::TranslatedFieldType, "Affiliation of the speaker", null: true
12
+ field :avatar, GraphQL::Types::String, "Avatar of the speaker", null: true
10
13
  field :full_name, GraphQL::Types::String, "Full name of the speaker", null: true
14
+ field :id, GraphQL::Types::ID, "Internal ID of the speaker", null: false
15
+ field :personal_url, GraphQL::Types::String, "Personal URL of the speaker", null: true
11
16
  field :position, Decidim::Core::TranslatedFieldType, "Position of the speaker in the conference", null: true
12
- field :affiliation, Decidim::Core::TranslatedFieldType, "Affiliation of the speaker", null: true
13
- field :twitter_handle, GraphQL::Types::String, "X handle", null: true
14
17
  field :short_bio, Decidim::Core::TranslatedFieldType, "Short biography of the speaker", null: true
15
- field :personal_url, GraphQL::Types::String, "Personal URL of the speaker", null: true
16
- field :avatar, GraphQL::Types::String, "Avatar of the speaker", null: true
18
+ field :twitter_handle, GraphQL::Types::String, "X handle", null: true
17
19
  field :user, Decidim::Core::UserType, "Decidim user corresponding to this speaker", null: true
18
20
 
19
- field :created_at, Decidim::Core::DateTimeType, "The time this member was created ", null: true
20
- field :updated_at, Decidim::Core::DateTimeType, "The time this member was updated", null: true
21
-
22
21
  def avatar
23
22
  object.attached_uploader(:avatar).url
24
23
  end
@@ -7,36 +7,34 @@ module Decidim
7
7
  implements Decidim::Core::ParticipatorySpaceInterface
8
8
  implements Decidim::Core::ScopableInterface
9
9
  implements Decidim::Core::AttachableInterface
10
+ implements Decidim::Core::TaxonomizableInterface
11
+ implements Decidim::Core::TimestampsInterface
10
12
  implements Decidim::Core::CategoriesContainerInterface
11
13
 
12
14
  description "A conference"
13
15
 
14
- field :id, GraphQL::Types::ID, "Internal ID for this conference", null: false
15
- field :short_description, Decidim::Core::TranslatedFieldType, "The short description of this conference", null: true
16
+ field :available_slots, GraphQL::Types::Int, "The number of available slots in this conference", null: true
17
+ field :banner_image, GraphQL::Types::String, "The banner image for this conference", null: true
16
18
  field :description, Decidim::Core::TranslatedFieldType, "The description of this conference", null: true
17
- field :slug, GraphQL::Types::String, "The slug of this conference", null: true
19
+ field :end_date, Decidim::Core::DateType, "The date this conference ends", null: true
18
20
  field :hashtag, GraphQL::Types::String, "The hashtag for this conference", null: true
19
- field :slogan, Decidim::Core::TranslatedFieldType, "The slogan of the conference", null: true
21
+ field :hero_image, GraphQL::Types::String, "The hero image for this conference", null: true
22
+ field :id, GraphQL::Types::ID, "Internal ID for this conference", null: false
20
23
  field :location, String, "The location of this conference", null: true
21
- field :created_at, Decidim::Core::DateTimeType, "The time this conference was created", null: true
22
- field :updated_at, Decidim::Core::DateTimeType, "The time this conference was updated", null: true
24
+ field :media_links, [Decidim::Conferences::ConferenceMediaLinkType, { null: true }], "List of media links in this conference", null: true
25
+ field :objectives, Decidim::Core::TranslatedFieldType, "The objectives of the conference", null: true
26
+ field :partners, [Decidim::Conferences::ConferencePartnerType, { null: true }], "List of partners in this conference", null: true
27
+ field :promoted, GraphQL::Types::Boolean, "If this conference is promoted (therefore in the homepage)", null: true
23
28
  field :published_at, Decidim::Core::DateTimeType, "The time this conference was published", null: true
24
29
  field :reference, GraphQL::Types::String, "Reference prefix for this conference", null: true
25
-
26
- field :hero_image, GraphQL::Types::String, "The hero image for this conference", null: true
27
- field :banner_image, GraphQL::Types::String, "The banner image for this conference", null: true
28
- field :promoted, GraphQL::Types::Boolean, "If this conference is promoted (therefore in the homepage)", null: true
29
- field :objectives, Decidim::Core::TranslatedFieldType, "The objectives of the conference", null: true
30
- field :show_statistics, GraphQL::Types::Boolean, "If this conference shows the statistics", null: true
31
- field :start_date, Decidim::Core::DateType, "The date this conference starts", null: true
32
- field :end_date, Decidim::Core::DateType, "The date this conference ends", null: true
33
- field :registrations_enabled, GraphQL::Types::Boolean, "If the registrations are enabled in this conference", null: true
34
- field :available_slots, GraphQL::Types::Int, "The number of available slots in this conference", null: true
35
30
  field :registration_terms, Decidim::Core::TranslatedFieldType, "The registration terms of this conference", null: true
36
-
31
+ field :registrations_enabled, GraphQL::Types::Boolean, "If the registrations are enabled in this conference", null: true
32
+ field :short_description, Decidim::Core::TranslatedFieldType, "The short description of this conference", null: true
33
+ field :show_statistics, GraphQL::Types::Boolean, "If this conference shows the statistics", null: true
34
+ field :slogan, Decidim::Core::TranslatedFieldType, "The slogan of the conference", null: true
35
+ field :slug, GraphQL::Types::String, "The slug of this conference", null: true
37
36
  field :speakers, [Decidim::Conferences::ConferenceSpeakerType, { null: true }], "List of speakers in this conference", null: true
38
- field :partners, [Decidim::Conferences::ConferencePartnerType, { null: true }], "List of partners in this conference", null: true
39
- field :media_links, [Decidim::Conferences::ConferenceMediaLinkType, { null: true }], "List of media links in this conference", null: true
37
+ field :start_date, Decidim::Core::DateType, "The date this conference starts", null: true
40
38
 
41
39
  def hero_image
42
40
  object.attached_uploader(:hero_image).url