decidim-conferences 0.29.2 → 0.30.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/cells/decidim/conferences/content_blocks/highlighted_conferences_settings_form/show.erb +1 -1
- data/app/commands/decidim/conferences/admin/copy_conference.rb +2 -12
- data/app/commands/decidim/conferences/admin/create_conference.rb +1 -1
- data/app/commands/decidim/conferences/admin/update_conference.rb +1 -1
- data/app/controllers/decidim/conferences/admin/component_share_tokens_controller.rb +18 -0
- data/app/controllers/decidim/conferences/admin/concerns/conference_admin.rb +1 -1
- data/app/controllers/decidim/conferences/admin/conference_share_tokens_controller.rb +18 -0
- data/app/controllers/decidim/conferences/admin/conferences_controller.rb +17 -4
- data/app/forms/decidim/conferences/admin/conference_copy_form.rb +0 -1
- data/app/forms/decidim/conferences/admin/conference_form.rb +3 -8
- data/app/helpers/decidim/conferences/conference_program_helper.rb +4 -2
- data/app/mailers/decidim/conferences/admin/send_conference_diploma_mailer.rb +1 -11
- data/app/models/decidim/conference.rb +19 -0
- data/app/models/decidim/conferences/conference_invite.rb +10 -0
- data/app/permissions/decidim/conferences/permissions.rb +11 -4
- data/app/presenters/decidim/conferences/admin_log/conference_presenter.rb +1 -1
- data/app/presenters/decidim/conferences/conference_presenter.rb +19 -0
- data/app/serializers/decidim/conferences/conference_serializer.rb +24 -0
- data/app/serializers/decidim/conferences/download_your_data_conference_invite_serializer.rb +3 -4
- data/app/serializers/decidim/conferences/download_your_data_conference_registration_serializer.rb +4 -4
- data/app/serializers/decidim/conferences/open_data_conference_serializer.rb +30 -0
- data/app/views/decidim/conferences/admin/conference_copies/_form.html.erb +0 -3
- data/app/views/decidim/conferences/admin/conferences/_actions.html.erb +35 -0
- data/app/views/decidim/conferences/admin/conferences/_conference_row.html.erb +28 -0
- data/app/views/decidim/conferences/admin/conferences/_conferences_thead.html.erb +8 -0
- data/app/views/decidim/conferences/admin/conferences/_form.html.erb +27 -8
- data/app/views/decidim/conferences/admin/conferences/index.html.erb +14 -52
- data/app/views/decidim/conferences/admin/conferences/manage_trash.html.erb +20 -0
- data/app/views/decidim/conferences/admin/send_conference_diploma_mailer/diploma_user.html.erb +3 -1
- data/app/views/decidim/conferences/conference_program/show.html.erb +3 -1
- data/app/views/decidim/conferences/conference_speakers/index.html.erb +4 -1
- data/app/views/decidim/conferences/conferences/index.html.erb +3 -2
- data/app/views/decidim/conferences/conferences/show.html.erb +6 -6
- data/app/views/decidim/conferences/media/index.html.erb +3 -1
- data/app/views/decidim/conferences/registration_types/index.html.erb +3 -1
- data/app/views/layouts/decidim/admin/conference.html.erb +1 -1
- data/config/locales/ar.yml +12 -3
- data/config/locales/bg.yml +0 -3
- data/config/locales/ca.yml +63 -3
- data/config/locales/cs.yml +63 -3
- data/config/locales/de.yml +63 -3
- data/config/locales/el.yml +0 -3
- data/config/locales/en.yml +63 -3
- data/config/locales/es-MX.yml +63 -3
- data/config/locales/es-PY.yml +63 -3
- data/config/locales/es.yml +63 -3
- data/config/locales/eu.yml +63 -3
- data/config/locales/fi-plain.yml +63 -3
- data/config/locales/fi.yml +63 -3
- data/config/locales/fr-CA.yml +22 -3
- data/config/locales/fr.yml +22 -3
- data/config/locales/ga-IE.yml +0 -2
- data/config/locales/gl.yml +0 -3
- data/config/locales/hu.yml +0 -3
- data/config/locales/id-ID.yml +0 -3
- data/config/locales/it.yml +0 -3
- data/config/locales/ja.yml +65 -3
- data/config/locales/lb.yml +0 -3
- data/config/locales/lt.yml +0 -3
- data/config/locales/lv.yml +0 -3
- data/config/locales/nl.yml +0 -3
- data/config/locales/no.yml +0 -3
- data/config/locales/pl.yml +0 -3
- data/config/locales/pt-BR.yml +0 -3
- data/config/locales/pt.yml +0 -3
- data/config/locales/ro-RO.yml +0 -3
- data/config/locales/sk.yml +0 -3
- data/config/locales/sv.yml +65 -3
- data/config/locales/tr-TR.yml +0 -3
- data/config/locales/zh-CN.yml +0 -3
- data/config/locales/zh-TW.yml +0 -3
- data/db/migrate/20210310134942_add_followable_counter_cache_to_conferences.rb +1 -1
- data/db/migrate/20240822161330_add_deleted_at_to_decidim_conferences.rb +8 -0
- data/decidim-conferences.gemspec +1 -2
- data/lib/decidim/api/conference_media_link_type.rb +4 -4
- data/lib/decidim/api/conference_partner_type.rb +4 -4
- data/lib/decidim/api/conference_speaker_type.rb +7 -8
- data/lib/decidim/api/conference_type.rb +17 -19
- data/lib/decidim/conferences/admin_engine.rb +87 -58
- data/lib/decidim/conferences/conference_diploma_pdf.rb +242 -0
- data/lib/decidim/conferences/engine.rb +6 -1
- data/lib/decidim/conferences/menu.rb +23 -9
- data/lib/decidim/conferences/participatory_space.rb +13 -0
- data/lib/decidim/conferences/seeds.rb +134 -115
- data/lib/decidim/conferences/test/factories.rb +10 -9
- data/lib/decidim/conferences/version.rb +1 -1
- data/lib/decidim/conferences.rb +1 -0
- metadata +23 -28
- data/app/controllers/decidim/conferences/admin/categories_controller.rb +0 -13
- data/config/initializers/wicked_pdf.rb +0 -22
data/config/locales/sv.yml
CHANGED
@@ -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
|
@@ -159,25 +157,35 @@ sv:
|
|
159
157
|
create:
|
160
158
|
error: Det gick inte att skapa en ny medialänk.
|
161
159
|
edit:
|
160
|
+
title: Uppdatera medialänk
|
162
161
|
update: Uppdatera
|
162
|
+
index:
|
163
|
+
media_links_title: Medialänkar
|
163
164
|
new:
|
164
165
|
create: Skapa
|
166
|
+
title: Skapa medialänk
|
165
167
|
update:
|
166
168
|
error: Det gick inte att uppdatera medialänken.
|
169
|
+
success: Medialänken har uppdaterats.
|
167
170
|
menu:
|
168
171
|
conferences: Konferenser
|
169
172
|
conferences_submenu:
|
170
173
|
attachment_collections: Mappar
|
171
174
|
attachment_files: Filer
|
172
175
|
attachments: Bilagor
|
173
|
-
categories: Kategorier
|
174
176
|
components: Komponenter
|
175
177
|
conference_admins: Konferensadministratörer
|
176
178
|
conference_invites: Inbjudningar
|
177
179
|
conference_speakers: Talare
|
180
|
+
diploma: Närvarointyg
|
181
|
+
info: Om konferensen
|
182
|
+
media_links: Medialänkar
|
178
183
|
moderations: Moderering
|
179
184
|
partners: Partners
|
185
|
+
registration_types: Typer av registrering
|
180
186
|
registrations: Registreringar
|
187
|
+
see_conference: Visa konferens
|
188
|
+
user_registrations: Användarregistreringar
|
181
189
|
models:
|
182
190
|
conference:
|
183
191
|
fields:
|
@@ -206,6 +214,7 @@ sv:
|
|
206
214
|
date: Datum
|
207
215
|
link: Länk
|
208
216
|
title: Titel
|
217
|
+
name: Medialänk
|
209
218
|
partner:
|
210
219
|
fields:
|
211
220
|
link: Länk
|
@@ -231,6 +240,7 @@ sv:
|
|
231
240
|
destroy:
|
232
241
|
success: Konferenspartnern har tagits bort.
|
233
242
|
edit:
|
243
|
+
title: Uppdatera partner
|
234
244
|
update: Uppdatera
|
235
245
|
new:
|
236
246
|
create: Skapa
|
@@ -252,6 +262,7 @@ sv:
|
|
252
262
|
destroy:
|
253
263
|
success: Registreringstypen har tagits från konferensen.
|
254
264
|
edit:
|
265
|
+
title: Uppdatera registreringstyp
|
255
266
|
update: Uppdatera
|
256
267
|
new:
|
257
268
|
create: Skapa
|
@@ -259,13 +270,21 @@ sv:
|
|
259
270
|
update:
|
260
271
|
error: Det gick inte att uppdatera en registreringstyp för konferensen.
|
261
272
|
success: Registreringstypen till konferensen har uppdaterats.
|
273
|
+
taxonomy_filters:
|
274
|
+
space_filter_for:
|
275
|
+
conferences: Alla konferenser
|
262
276
|
titles:
|
263
277
|
conferences: Konferenser
|
278
|
+
conferences_deleted: Borttagna konferenser
|
279
|
+
tooltips:
|
280
|
+
deleted_conferences_info: Konferenser kan endast tas bort om statusen är "Opublicerad".
|
264
281
|
admin_log:
|
265
282
|
conference:
|
266
283
|
create: "%{user_name} skapade konferensen %{resource_name}"
|
267
284
|
publish: "%{user_name} publicerade konferensen %{resource_name}"
|
285
|
+
restore: "%{user_name} återställde konferensen %{resource_name}"
|
268
286
|
send_conference_diplomas: "%{user_name} skickade närvarointyg till deltagarna på konferensen %{resource_name}"
|
287
|
+
soft_delete: "%{user_name} tog bort konferensen %{resource_name}"
|
269
288
|
unpublish: "%{user_name} avpublicerade konferensen %{resource_name}"
|
270
289
|
update: "%{user_name} uppdaterade konferensen %{resource_name}"
|
271
290
|
update_diploma: "%{user_name} uppdaterade konfigurationen av närvarointygen till konferensen %{resource_name}"
|
@@ -286,6 +305,7 @@ sv:
|
|
286
305
|
update: "%{user_name} uppdaterade partnern %{resource_name} i konferensen %{space_name}"
|
287
306
|
registration_type:
|
288
307
|
create: "%{user_name} skapade registreringstypen %{resource_name} på konferensen %{space_name}"
|
308
|
+
delete: "%{user_name} tog bort registreringstypen %{resource_name} från konferensen %{space_name}"
|
289
309
|
publish: "%{user_name} publicerade registreringstypen %{resource_name} till konferensen %{space_name}"
|
290
310
|
unpublish: "%{user_name} avpublicerade registreringstypen %{resource_name} till konferensen %{space_name}"
|
291
311
|
update: "%{user_name} uppdaterade registreringstypen %{resource_name} till konferensen %{space_name}"
|
@@ -301,6 +321,9 @@ sv:
|
|
301
321
|
title: Talare
|
302
322
|
conferences:
|
303
323
|
admin:
|
324
|
+
conference_copies:
|
325
|
+
form:
|
326
|
+
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
327
|
conference_invites:
|
305
328
|
create:
|
306
329
|
error: Det gick inte att bjuda in deltagaren till konferensen.
|
@@ -315,6 +338,7 @@ sv:
|
|
315
338
|
invite_attendee: Bjud in deltagare
|
316
339
|
invites: Inbjudningar
|
317
340
|
new:
|
341
|
+
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
342
|
invite: Inbjudan
|
319
343
|
new_invite: Bjud in deltagare
|
320
344
|
conference_registrations:
|
@@ -331,16 +355,25 @@ sv:
|
|
331
355
|
conferences:
|
332
356
|
form:
|
333
357
|
available_slots_help: Lämna det till 0 om du har obegränsat antal platser.
|
358
|
+
define_taxonomy_filters: Vänligen definiera några filter för deltagarutrymmet innan du använder den här inställningen.
|
359
|
+
no_taxonomy_filters_found: Inga filter för kategorier hittades.
|
334
360
|
registrations_count:
|
335
361
|
one: Det har gjorts en registrering.
|
336
362
|
other: Det har gjorts %{count} registreringar.
|
363
|
+
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}'
|
364
|
+
taxonomies: Kategorier
|
365
|
+
content_blocks:
|
366
|
+
highlighted_conferences:
|
367
|
+
max_results: Maximalt antal element att visa
|
337
368
|
diplomas:
|
338
369
|
edit:
|
339
370
|
save: Spara
|
371
|
+
title: Närvarointyg
|
340
372
|
invite_join_conference_mailer:
|
341
373
|
invite:
|
342
374
|
decline: Avböj inbjudan till '%{conference_title}'
|
343
375
|
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."
|
376
|
+
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
377
|
registration: Registrering till '%{conference_title}'
|
345
378
|
partners:
|
346
379
|
index:
|
@@ -355,6 +388,7 @@ sv:
|
|
355
388
|
diploma_html: Närvarointyget för konferensen <a href="%{url}">%{title}</a> finns i bilagorna.
|
356
389
|
diploma_user:
|
357
390
|
attendance_verified_by: Närvaro bekräftad av
|
391
|
+
certificate_of_attendance: Närvarointyg
|
358
392
|
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
393
|
send_diploma:
|
360
394
|
error: Det gick inte att skicka närvarointyg för konferensen.
|
@@ -383,13 +417,16 @@ sv:
|
|
383
417
|
create:
|
384
418
|
invalid: Det gick inte att gå med i denna konferens.
|
385
419
|
success: Du har gått med i konferensen.
|
420
|
+
unauthorized: Du måste logga in innan du anmäler dig till konferensen.
|
386
421
|
decline_invitation:
|
387
422
|
invalid: Det gick inte att avböja inbjudan.
|
388
423
|
success: Du har avböjt inbjudan.
|
424
|
+
unauthorized: Du måste logga in innan du avböjer inbjudan.
|
389
425
|
destroy:
|
390
426
|
invalid: Det gick inte att lämna konferensen.
|
391
427
|
success: Du har lämnat konferensen.
|
392
428
|
conference_speaker:
|
429
|
+
go_to_twitter: Gå till X
|
393
430
|
more_info: mer information
|
394
431
|
personal_website: Personlig hemsida
|
395
432
|
show:
|
@@ -408,14 +445,27 @@ sv:
|
|
408
445
|
collaborators: Partners
|
409
446
|
main_promotors: Organisatörer
|
410
447
|
show:
|
448
|
+
already_have_an_account?: Har du redan ett konto?
|
449
|
+
are_you_new?: Ny deltagare?
|
411
450
|
login_as: Du är inloggad som %{name} <%{email}>
|
451
|
+
make_conference_registration: Anmäl dig till konferensen
|
452
|
+
manage_registration: Hantera anmälan
|
412
453
|
register: Registrering
|
454
|
+
sign_in_description: Logga in för att anmäla dig till konferensen
|
455
|
+
sign_up_description: Skapa ett konto för att anmäla dig till konferensen
|
413
456
|
content_blocks:
|
414
457
|
highlighted_conferences:
|
415
458
|
name: Viktiga konferenser just nu
|
416
459
|
index:
|
417
460
|
title: Konferenser
|
461
|
+
last_activity:
|
462
|
+
new_conference: 'Ny konferens:'
|
418
463
|
mailer:
|
464
|
+
conference_registration_mailer:
|
465
|
+
confirmation:
|
466
|
+
subject: Din anmälan till konferensen har bekräftats.
|
467
|
+
pending_validation:
|
468
|
+
subject: Din anmälan till konferensen väntar på bekräftelse.
|
419
469
|
invite_join_conference_mailer:
|
420
470
|
invite:
|
421
471
|
subject: Inbjudan att delta i en konferens
|
@@ -460,6 +510,18 @@ sv:
|
|
460
510
|
objectives: Mål
|
461
511
|
related_assemblies: Relaterade samråd
|
462
512
|
related_participatory_processes: Relaterade deltagandeprocesser
|
513
|
+
download_your_data:
|
514
|
+
help:
|
515
|
+
conference_invites:
|
516
|
+
accepted_at: Datum då inbjudan till konferensen godkändes
|
517
|
+
conference: Konferensen som inbjudan gäller
|
518
|
+
confirmed_at: Datum då inbjudan bekräftades
|
519
|
+
created_at: Datum då inbjudan skapades
|
520
|
+
id: Unikt id för konferensinbjudan
|
521
|
+
registration_type: Typ av anmälan till konferensen som skickades
|
522
|
+
rejected_at: Datum då inbjudan till konferensen avvisades
|
523
|
+
sent_at: Datum då inbjudan till konferensen skickades
|
524
|
+
updated_at: Datum då inbjudan senast uppdaterades
|
463
525
|
events:
|
464
526
|
conferences:
|
465
527
|
conference_registration_confirmed:
|
data/config/locales/tr-TR.yml
CHANGED
@@ -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
|
data/config/locales/zh-CN.yml
CHANGED
@@ -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: 邀请
|
data/config/locales/zh-TW.yml
CHANGED
@@ -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
|
data/decidim-conferences.gemspec
CHANGED
@@ -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.
|
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 :
|
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 :
|
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 :
|
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 :
|
15
|
-
field :
|
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 :
|
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 :
|
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 :
|
22
|
-
field :
|
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 :
|
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
|
@@ -15,89 +15,118 @@ module Decidim
|
|
15
15
|
paths["lib/tasks"] = nil
|
16
16
|
|
17
17
|
routes do
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
18
|
+
constraints(->(request) { Decidim::Admin::OrganizationDashboardConstraint.new(request).matches? }) do
|
19
|
+
resources :conferences, param: :slug, except: [:show, :destroy] do
|
20
|
+
resource :publish, controller: "conference_publications", only: [:create, :destroy]
|
21
|
+
resources :copies, controller: "conference_copies", only: [:new, :create]
|
22
|
+
resources :speakers, controller: "conference_speakers" do
|
23
|
+
member do
|
24
|
+
put :publish
|
25
|
+
put :unpublish
|
26
|
+
end
|
25
27
|
end
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
28
|
+
resources :partners, controller: "partners", except: [:show]
|
29
|
+
resources :media_links, controller: "media_links"
|
30
|
+
resources :registration_types, controller: "registration_types" do
|
31
|
+
resource :publish, controller: "registration_type_publications", only: [:create, :destroy]
|
32
|
+
collection do
|
33
|
+
get :conference_meetings
|
34
|
+
end
|
33
35
|
end
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
36
|
+
resources :conference_invites, only: [:index, :new, :create]
|
37
|
+
resources :conference_registrations, only: :index do
|
38
|
+
member do
|
39
|
+
post :confirm
|
40
|
+
end
|
41
|
+
collection do
|
42
|
+
get :export
|
43
|
+
end
|
39
44
|
end
|
40
|
-
|
41
|
-
|
45
|
+
resource :diploma, only: [:edit, :update] do
|
46
|
+
member do
|
47
|
+
post :send, to: "diplomas#send_diplomas"
|
48
|
+
end
|
42
49
|
end
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
50
|
+
resources :user_roles, controller: "conference_user_roles" do
|
51
|
+
member do
|
52
|
+
post :resend_invitation, to: "conference_user_roles#resend_invitation"
|
53
|
+
end
|
47
54
|
end
|
48
|
-
|
49
|
-
resources :user_roles, controller: "conference_user_roles" do
|
55
|
+
|
50
56
|
member do
|
51
|
-
|
57
|
+
patch :soft_delete
|
58
|
+
patch :restore
|
52
59
|
end
|
53
|
-
end
|
54
60
|
|
55
|
-
|
56
|
-
|
57
|
-
|
61
|
+
collection do
|
62
|
+
get :manage_trash, to: "conferences#manage_trash"
|
63
|
+
end
|
58
64
|
|
59
|
-
|
60
|
-
|
65
|
+
resources :attachment_collections, controller: "conference_attachment_collections", except: [:show]
|
66
|
+
resources :attachments, controller: "conference_attachments", except: [:show]
|
67
|
+
end
|
61
68
|
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
69
|
+
scope "/conferences/:conference_slug" do
|
70
|
+
resources :components do
|
71
|
+
collection do
|
72
|
+
put :reorder
|
73
|
+
end
|
74
|
+
resource :permissions, controller: "component_permissions"
|
75
|
+
member do
|
76
|
+
put :publish
|
77
|
+
put :unpublish
|
78
|
+
get :share
|
79
|
+
patch :soft_delete
|
80
|
+
patch :restore
|
81
|
+
end
|
82
|
+
collection do
|
83
|
+
get :manage_trash, to: "components#manage_trash"
|
84
|
+
put :hide
|
85
|
+
end
|
86
|
+
resources :component_share_tokens, except: [:show], path: "share_tokens", as: "share_tokens"
|
87
|
+
resources :exports, only: :create
|
88
|
+
resources :imports, only: [:new, :create] do
|
89
|
+
get :example, on: :collection
|
90
|
+
end
|
91
|
+
resources :reminders, only: [:new, :create]
|
72
92
|
end
|
73
|
-
resources :reminders, only: [:new, :create]
|
74
|
-
end
|
75
93
|
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
94
|
+
resources :moderations do
|
95
|
+
member do
|
96
|
+
put :unreport
|
97
|
+
put :hide
|
98
|
+
put :unhide
|
99
|
+
end
|
100
|
+
patch :bulk_action, on: :collection
|
101
|
+
resources :reports, controller: "moderations/reports", only: [:index, :show]
|
81
102
|
end
|
82
|
-
|
103
|
+
|
104
|
+
resources :conference_share_tokens, except: [:show], path: "share_tokens"
|
83
105
|
end
|
84
|
-
end
|
85
106
|
|
86
|
-
|
87
|
-
|
88
|
-
|
107
|
+
scope "/conferences/:conference_slug/components/:component_id/manage" do
|
108
|
+
Decidim.component_manifests.each do |manifest|
|
109
|
+
next unless manifest.admin_engine
|
89
110
|
|
90
|
-
|
91
|
-
|
111
|
+
constraints CurrentComponent.new(manifest) do
|
112
|
+
mount manifest.admin_engine, at: "/", as: "decidim_admin_conference_#{manifest.name}"
|
113
|
+
end
|
92
114
|
end
|
93
115
|
end
|
94
116
|
end
|
95
117
|
end
|
96
118
|
|
119
|
+
initializer "decidim_conferences_admin.mount_routes" do
|
120
|
+
Decidim::Core::Engine.routes do
|
121
|
+
mount Decidim::Conferences::AdminEngine, at: "/admin", as: "decidim_admin_conferences"
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
97
125
|
initializer "decidim_conferences_admin.menu" do
|
98
126
|
Decidim::Conferences::Menu.register_admin_conferences_components_menu!
|
99
127
|
Decidim::Conferences::Menu.register_conferences_admin_registrations_menu!
|
100
128
|
Decidim::Conferences::Menu.register_conferences_admin_attachments_menu!
|
129
|
+
Decidim::Conferences::Menu.register_conference_admin_menu!
|
101
130
|
Decidim::Conferences::Menu.register_conferences_admin_menu!
|
102
131
|
Decidim::Conferences::Menu.register_admin_menu_modules!
|
103
132
|
end
|