decidim-conferences 0.23.5 → 0.24.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/conferences/conference_speaker/show.erb +1 -1
  3. data/app/cells/decidim/conferences/media_link/show.erb +1 -1
  4. data/app/cells/decidim/conferences/media_link_cell.rb +1 -0
  5. data/app/commands/decidim/conferences/admin/create_conference_speaker.rb +40 -18
  6. data/app/commands/decidim/conferences/admin/create_partner.rb +33 -14
  7. data/app/commands/decidim/conferences/admin/invite_user_to_join_conference.rb +1 -1
  8. data/app/commands/decidim/conferences/admin/update_conference_speaker.rb +41 -17
  9. data/app/commands/decidim/conferences/admin/update_partner.rb +30 -10
  10. data/app/controllers/decidim/conferences/admin/imports_controller.rb +14 -0
  11. data/app/controllers/decidim/conferences/admin/moderations/reports_controller.rb +14 -0
  12. data/app/forms/decidim/conferences/admin/conference_form.rb +3 -2
  13. data/app/forms/decidim/conferences/admin/conference_speaker_form.rb +1 -1
  14. data/app/forms/decidim/conferences/admin/media_link_form.rb +1 -1
  15. data/app/forms/decidim/conferences/admin/partner_form.rb +2 -1
  16. data/app/models/decidim/conference_meeting.rb +1 -1
  17. data/app/models/decidim/conference_speaker.rb +1 -1
  18. data/app/models/decidim/conference_speaker_conference_meeting.rb +2 -2
  19. data/app/models/decidim/conferences/conference_meeting_registration_type.rb +2 -2
  20. data/app/models/decidim/conferences/registration_type.rb +1 -1
  21. data/app/permissions/decidim/conferences/permissions.rb +1 -1
  22. data/app/presenters/decidim/conferences/conference_stats_presenter.rb +1 -1
  23. data/app/views/decidim/conferences/admin/conference_invites/index.html.erb +1 -1
  24. data/app/views/decidim/conferences/admin/conference_registrations/index.html.erb +1 -1
  25. data/app/views/decidim/conferences/admin/partners/_form.html.erb +1 -1
  26. data/app/views/layouts/decidim/admin/conference.html.erb +2 -1
  27. data/config/locales/ar.yml +6 -4
  28. data/config/locales/ca.yml +50 -3
  29. data/config/locales/cs.yml +51 -4
  30. data/config/locales/de.yml +16 -3
  31. data/config/locales/el.yml +6 -4
  32. data/config/locales/en.yml +50 -3
  33. data/config/locales/es-MX.yml +50 -3
  34. data/config/locales/es-PY.yml +50 -3
  35. data/config/locales/es.yml +50 -3
  36. data/config/locales/eu.yml +6 -4
  37. data/config/locales/fi-plain.yml +50 -3
  38. data/config/locales/fi.yml +50 -3
  39. data/config/locales/fr-CA.yml +16 -3
  40. data/config/locales/fr.yml +16 -3
  41. data/config/locales/gl.yml +35 -4
  42. data/config/locales/hu.yml +6 -4
  43. data/config/locales/id-ID.yml +6 -4
  44. data/config/locales/it.yml +6 -4
  45. data/config/locales/ja.yml +12 -4
  46. data/config/locales/lv.yml +6 -4
  47. data/config/locales/nl.yml +50 -3
  48. data/config/locales/no.yml +6 -4
  49. data/config/locales/pl.yml +16 -3
  50. data/config/locales/pt-BR.yml +6 -4
  51. data/config/locales/pt.yml +6 -4
  52. data/config/locales/ro-RO.yml +16 -3
  53. data/config/locales/sk.yml +6 -4
  54. data/config/locales/sv.yml +50 -3
  55. data/config/locales/tr-TR.yml +13 -4
  56. data/config/locales/zh-CN.yml +6 -4
  57. data/db/migrate/20210310134942_add_followable_counter_cache_to_conferences.rb +16 -0
  58. data/lib/decidim/api/conference_media_link_type.rb +18 -0
  59. data/lib/decidim/api/conference_partner_type.rb +19 -0
  60. data/lib/decidim/api/conference_speaker_type.rb +23 -0
  61. data/lib/decidim/api/conference_type.rb +42 -0
  62. data/lib/decidim/conferences.rb +1 -0
  63. data/lib/decidim/conferences/admin_engine.rb +3 -1
  64. data/lib/decidim/conferences/api.rb +10 -0
  65. data/lib/decidim/conferences/engine.rb +7 -1
  66. data/lib/decidim/conferences/participatory_space.rb +25 -25
  67. data/lib/decidim/conferences/query_extensions.rb +43 -0
  68. data/lib/decidim/conferences/test/factories.rb +6 -6
  69. data/lib/decidim/conferences/version.rb +1 -1
  70. metadata +21 -16
  71. data/app/types/decidim/conferences/conference_media_link_type.rb +0 -19
  72. data/app/types/decidim/conferences/conference_partner_type.rb +0 -20
  73. data/app/types/decidim/conferences/conference_speaker_type.rb +0 -24
  74. data/app/types/decidim/conferences/conference_type.rb +0 -45
@@ -22,6 +22,12 @@ pt:
22
22
  slogan: Slogan
23
23
  slug: Lesma de URL
24
24
  title: Título
25
+ conference_media_link:
26
+ weight: Peso
27
+ conference_partner:
28
+ weight: Peso
29
+ conference_registration_type:
30
+ weight: Peso
25
31
  conference_speaker:
26
32
  full_name: Nome completo
27
33
  conference_user_role:
@@ -265,10 +271,6 @@ pt:
265
271
  conferences:
266
272
  conference_registration:
267
273
  confirm: "%{user_name} confirmou o registro da conferência em %{resource_name} conferência"
268
- partner:
269
- create: "%{user_name} criado %{resource_name} para a conferência %{space_name}"
270
- delete: "%{user_name} removeu o usuário %{resource_name} da conferência de %{space_name}"
271
- update: "%{user_name} atualizado %{resource_name} na conferência de %{space_name}"
272
274
  registration_type:
273
275
  create: "%{user_name} criou o tipo de registro %{resource_name} na conferência de %{space_name}"
274
276
  publish: "%{user_name} publicou o tipo de registro %{resource_name} na conferência %{space_name}"
@@ -22,6 +22,12 @@ pt:
22
22
  slogan: Slogan
23
23
  slug: Campo de dados dinâmicos de URL
24
24
  title: Título
25
+ conference_media_link:
26
+ weight: Peso
27
+ conference_partner:
28
+ weight: Peso
29
+ conference_registration_type:
30
+ weight: Peso
25
31
  conference_speaker:
26
32
  full_name: Nome completo
27
33
  conference_user_role:
@@ -266,10 +272,6 @@ pt:
266
272
  conferences:
267
273
  conference_registration:
268
274
  confirm: "%{user_name} confirmou um registo da conferência na conferência %{resource_name}"
269
- partner:
270
- create: "%{user_name} criou %{resource_name} na conferência %{space_name}"
271
- delete: "%{user_name} removeu o administrador %{resource_name} da conferência %{space_name}"
272
- update: "%{user_name} atualizou %{resource_name} na conferência %{space_name}"
273
275
  registration_type:
274
276
  create: "%{user_name} criou o tipo de registo %{resource_name} na conferência %{space_name}"
275
277
  publish: "%{user_name} publicou o tipo de registo %{resource_name} na conferência %{space_name}"
@@ -22,6 +22,12 @@ ro:
22
22
  slogan: Slogan
23
23
  slug: Adresă URL
24
24
  title: Titlu
25
+ conference_media_link:
26
+ weight: Greutate
27
+ conference_partner:
28
+ weight: Greutate
29
+ conference_registration_type:
30
+ weight: Greutate
25
31
  conference_speaker:
26
32
  full_name: Numele complet
27
33
  conference_user_role:
@@ -270,9 +276,9 @@ ro:
270
276
  conference_registration:
271
277
  confirm: "%{user_name} a confirmat înregistrarea conferinței în %{resource_name} conferință"
272
278
  partner:
273
- create: "%{user_name} a creat %{resource_name} la conferința %{space_name}"
274
- delete: "%{user_name} a eliminat administratorul %{resource_name} de la conferința %{space_name}"
275
- update: "%{user_name} a actualizat %{resource_name} la conferința %{space_name}"
279
+ create: "%{user_name} a creat vorbitorul %{resource_name} pentru conferința %{space_name}"
280
+ delete: "%{user_name} a şters vorbitorul %{resource_name} de la conferinţa %{space_name}"
281
+ update: "%{user_name} a actualizat vorbitorul %{resource_name} în conferința %{space_name}"
276
282
  registration_type:
277
283
  create: "%{user_name} a creat tipul de înregistrare %{resource_name} în conferința %{space_name}"
278
284
  publish: "%{user_name} a publicat tipul de înregistrare %{resource_name} în conferința %{space_name}"
@@ -406,6 +412,7 @@ ro:
406
412
  personal_website: Website personal
407
413
  show:
408
414
  more_info: mai multe informații
415
+ speaking_at: Vorbind la
409
416
  conference_speaker_cell:
410
417
  personal_url:
411
418
  personal_website: Website personal
@@ -543,6 +550,12 @@ ro:
543
550
  email_outro: Ați primit această notificare deoarece urmăriți „” conferința%{resource_title}. O puteți anula de la link-ul anterior.
544
551
  email_subject: Vine conferința "%{resource_title}" !
545
552
  notification_title: Conferința <a href="%{resource_path}">%{resource_title}</a> urmează în 2 zile.
553
+ help:
554
+ participatory_spaces:
555
+ conferences:
556
+ contextual: "<p>O <strong>conferință</strong> este o colecție de întâlniri organizate într-un program, cu un număr de persoane invitate ca vorbitori, precum și alte domenii de informare tipice marilor congrese sau evenimente sociale (înregistrare, lista organizațiilor care sponsorizează evenimentul etc.</p> <p>Exemple: O conferință poate fi un eveniment relevant pentru o organizație și membrii acesteia; sau să se desfășoare ca parte a unui proces participativ sau în urma unei consultări.</p>\n"
557
+ page: "<p>O <strong>conferință</strong> este o colecție de întâlniri organizate într-un program, cu un număr de persoane invitate ca vorbitori, precum și alte domenii de informare tipice marilor congrese sau evenimente sociale (înregistrare, lista organizațiilor care sponsorizează evenimentul etc.</p> <p>Exemple: O conferință poate fi un eveniment relevant pentru o organizație și membrii acesteia; sau să se desfășoare ca parte a unui proces participativ sau în urma unei consultări.</p>\n"
558
+ title: Ce sunt conferinţele?
546
559
  log:
547
560
  value_types:
548
561
  conference_presenter:
@@ -22,6 +22,12 @@ sk:
22
22
  slogan: Slogan
23
23
  slug: URL krátky odkaz
24
24
  title: Názov
25
+ conference_media_link:
26
+ weight: Váha
27
+ conference_partner:
28
+ weight: Váha
29
+ conference_registration_type:
30
+ weight: Váha
25
31
  conference_speaker:
26
32
  full_name: Meno a priezvisko
27
33
  conference_user_role:
@@ -272,10 +278,6 @@ sk:
272
278
  conferences:
273
279
  conference_registration:
274
280
  confirm: "%{user_name} potvrdil registráciu na konferencii %{resource_name}"
275
- partner:
276
- create: "%{user_name} pridal %{resource_name} do konferencie %{space_name}"
277
- delete: "%{user_name} odstránil administrátora %{resource_name} z konferencie %{space_name}"
278
- update: "%{user_name} zmenil %{resource_name} v konferencii %{space_name}"
279
281
  registration_type:
280
282
  create: "%{user_name} vytvoril typ registrácie %{resource_name} na konferencii %{space_name}"
281
283
  publish: "%{user_name} publikoval typ registrácie %{resource_name} na konferencii %{space_name}"
@@ -3,6 +3,7 @@ sv:
3
3
  attributes:
4
4
  conference:
5
5
  assemblies_ids: Relaterade grupper
6
+ available_slots: Tillgängliga platser
6
7
  banner_image: Bannerbild
7
8
  consultations_ids: Relaterade samråd
8
9
  copy_categories: Kopiera kategorier
@@ -10,20 +11,59 @@ sv:
10
11
  copy_features: Kopiera funktioner
11
12
  decidim_scope_id: Omfång
12
13
  description: Beskrivning
14
+ end_date: Slutdatum
13
15
  hashtag: Hashtag
14
16
  hero_image: Bild till startsida
17
+ location: Plats
18
+ main_logo: Huvudbild
19
+ objectives: Mål
15
20
  participatory_processes_ids: Relaterade dialoger
16
21
  promoted: Uppmärksammad
17
22
  published_at: Publicerad
23
+ registration_terms: Registreringsvillkor
24
+ registrations_enabled: Registrering aktiverad
18
25
  scope_id: Omfång
19
26
  scopes_enabled: Omfång aktiverat
20
27
  short_description: Kort beskrivning
21
28
  show_statistics: Visa statistik
29
+ sign_date: Underskriftsdatum
30
+ signature: Underskrift
31
+ signature_name: signaturnamn
22
32
  slogan: Slogan
23
33
  slug: URL-slug
34
+ start_date: Startdatum
35
+ title: Titel
36
+ conference_media_link:
37
+ date: Datum
38
+ link: Länk
39
+ title: Titel
40
+ weight: Vikt
41
+ conference_partner:
42
+ link: Länk
43
+ logo: Logga
44
+ name: Namn
45
+ partner_type: Typ av partner
46
+ weight: Vikt
47
+ conference_registration_invite:
48
+ email: E-post
49
+ name: Namn
50
+ registration_type_id: Registreringstyp
51
+ user_id: Användare
52
+ conference_registration_type:
53
+ description: Beskrivning
54
+ price: Pris
24
55
  title: Titel
56
+ weight: Vikt
25
57
  conference_speaker:
58
+ affiliation: Anknytning
59
+ avatar: Avatar
60
+ conference_meeting_ids: Relaterade möten
26
61
  full_name: Fullständigt namn
62
+ personal_url: Personlig URL
63
+ position: Plats
64
+ short_bio: Kort biographi
65
+ twitter_handle: Twitternamn
66
+ user_id: Användare
27
67
  conference_user_role:
28
68
  email: E-post
29
69
  name: Namn
@@ -267,9 +307,9 @@ sv:
267
307
  conference_registration:
268
308
  confirm: "%{user_name} bekräftade en konferensregistrering till konferensen %{resource_name}"
269
309
  partner:
270
- create: "%{user_name} skapade %{resource_name} konferensen %{space_name}"
271
- delete: "%{user_name} tog bort administratören %{resource_name} från konferensen %{space_name}"
272
- update: "%{user_name} uppdaterade %{resource_name} konferensen %{space_name}"
310
+ create: "%{user_name} skapade partnern %{resource_name} i konferensen %{space_name}"
311
+ delete: "%{user_name} tog bort partnern %{resource_name} från konferensen %{space_name}"
312
+ update: "%{user_name} uppdaterade partnern %{resource_name} i konferensen %{space_name}"
273
313
  registration_type:
274
314
  create: "%{user_name} skapade registreringstypen %{resource_name} på konferensen %{space_name}"
275
315
  publish: "%{user_name} publicerade registreringstypen %{resource_name} till konferensen %{space_name}"
@@ -402,6 +442,7 @@ sv:
402
442
  personal_website: Personlig hemsida
403
443
  show:
404
444
  more_info: mer information
445
+ speaking_at: Talar vid
405
446
  conference_speaker_cell:
406
447
  personal_url:
407
448
  personal_website: Personlig hemsida
@@ -539,6 +580,12 @@ sv:
539
580
  email_outro: Du har fått det här meddelandet eftersom du följer konferensen "%{resource_title}". Du kan sluta att följa den från föregående länk.
540
581
  email_subject: Konferensen "%{resource_title}" kommer!
541
582
  notification_title: Konferensen <a href="%{resource_path}">%{resource_title}</a> börjar om två dagar.
583
+ help:
584
+ participatory_spaces:
585
+ conferences:
586
+ 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"
587
+ 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"
588
+ title: Vad är konferenser?
542
589
  log:
543
590
  value_types:
544
591
  conference_presenter:
@@ -22,6 +22,12 @@ tr:
22
22
  slogan: Slogan
23
23
  slug: URL özel bilgisi
24
24
  title: Başlık
25
+ conference_media_link:
26
+ weight: Ağırlık
27
+ conference_partner:
28
+ weight: Ağırlık
29
+ conference_registration_type:
30
+ weight: Ağırlık
25
31
  conference_speaker:
26
32
  full_name: Ad Soyad
27
33
  conference_user_role:
@@ -266,10 +272,6 @@ tr:
266
272
  conferences:
267
273
  conference_registration:
268
274
  confirm: "%{user_name} , %{resource_name} konferansta bir konferans kaydını onayladı"
269
- partner:
270
- create: "%{user_name} %{space_name} konferansa %{resource_name} oluşturuldu"
271
- delete: "%{user_name} kullanıcı uzaklaştırıldı %{resource_name} den %{space_name} konferans"
272
- update: "%{user_name} %{space_name} konferansta %{resource_name} güncellendi"
273
275
  registration_type:
274
276
  create: "%{user_name} , %{space_name} konferansta %{resource_name} kayıt tipini oluşturdu"
275
277
  publish: "%{user_name} , %{space_name} konferansta %{resource_name} kayıt tipini yayınladı"
@@ -402,6 +404,7 @@ tr:
402
404
  personal_website: Kişisel web sitesi
403
405
  show:
404
406
  more_info: Daha fazla bilgi
407
+ speaking_at: Konuşma
405
408
  conference_speaker_cell:
406
409
  personal_url:
407
410
  personal_website: Kişisel web sitesi
@@ -539,6 +542,12 @@ tr:
539
542
  email_outro: '"%{resource_title}" konferansını izlediğiniz için bu bildirimi aldınız. Bir önceki bağlantıdan takip etmeyi bırakabilirsiniz.'
540
543
  email_subject: '"%{resource_title}" konferansı geliyor!'
541
544
  notification_title: <a href="%{resource_path}">%{resource_title}</a> konferans 2 gün içinde geliyor.
545
+ help:
546
+ participatory_spaces:
547
+ conferences:
548
+ contextual: "<p> <strong> Konferans </strong>, çok sayıda kişinin konuşmacı olarak davet edildiği bir programda düzenlenen toplantılar ve büyük kongreler veya sosyal etkinlikler için tipik olan diğer bilgi alanları (kayıt, destek veren kuruluşların listesi) veya etkinlik sponsoru vb. </p> <p> Örnekler: Bir konferans, bir kuruluş ve üyeleri için alakalı bir etkinlik olabilir veya katılımcı bir sürecin parçası olarak veya bir danışma sürecini takiben gerçekleşebilir. </p>\n"
549
+ page: "<p> <strong> Konferans </strong>, çok sayıda kişinin konuşmacı olarak davet edildiği bir programda düzenlenen toplantılar ve büyük kongreler veya sosyal etkinlikler için tipik olan diğer bilgi alanları (kayıt, destek veren kuruluşların listesi) veya etkinlik sponsoru vb. </p> <p> Örnekler: Bir konferans, bir kuruluş ve üyeleri için alakalı bir etkinlik olabilir veya katılımcı bir sürecin parçası olarak veya bir danışma sürecini takiben gerçekleşebilir. </p>\n"
550
+ title: Konferans nedir?
542
551
  log:
543
552
  value_types:
544
553
  conference_presenter:
@@ -22,6 +22,12 @@ zh-CN:
22
22
  slogan: 斯洛根文
23
23
  slug: URL 名称
24
24
  title: 标题
25
+ conference_media_link:
26
+ weight: 权重
27
+ conference_partner:
28
+ weight: 权重
29
+ conference_registration_type:
30
+ weight: 权重
25
31
  conference_speaker:
26
32
  full_name: 全名
27
33
  conference_user_role:
@@ -263,10 +269,6 @@ zh-CN:
263
269
  conferences:
264
270
  conference_registration:
265
271
  confirm: "%{user_name} 在 %{resource_name} 次会议上确认了会议注册"
266
- partner:
267
- create: "%{user_name} 创建了 %{resource_name} 到 %{space_name} 会议"
268
- delete: "%{user_name} 将 %{resource_name} 管理员从 %{space_name} 次会议中删除"
269
- update: "%{user_name} 在 %{space_name} 次会议上更新 %{resource_name}"
270
272
  registration_type:
271
273
  create: "%{user_name} 在 %{space_name} 次会议上创建了 %{resource_name} 注册类型"
272
274
  publish: "%{user_name} 在 %{space_name} 次会议上发布了 %{resource_name} 注册类型"
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddFollowableCounterCacheToConferences < ActiveRecord::Migration[5.2]
4
+ def change
5
+ add_column :decidim_conferences, :follows_count, :integer, null: false, default: 0, index: true
6
+
7
+ reversible do |dir|
8
+ dir.up do
9
+ Decidim::Conference.reset_column_information
10
+ Decidim::Conference.find_each do |record|
11
+ record.class.reset_counters(record.id, :follows)
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Conferences
5
+ # This type represents a conference.
6
+ class ConferenceMediaLinkType < Decidim::Api::Types::BaseObject
7
+ description "A conference media link"
8
+
9
+ 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
+ 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
13
+ 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
+ end
17
+ end
18
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Conferences
5
+ # This type represents a conference.
6
+ class ConferencePartnerType < Decidim::Api::Types::BaseObject
7
+ description "A conference partner"
8
+
9
+ field :id, GraphQL::Types::ID, "ID of the resource", null: false
10
+ field :name, GraphQL::Types::String, "Partner name", null: true
11
+ field :partner_type, GraphQL::Types::String, "Partner type", null: true
12
+ 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
+ end
18
+ end
19
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Conferences
5
+ # This type represents a conference.
6
+ class ConferenceSpeakerType < Decidim::Api::Types::BaseObject
7
+ description "A conference speaker"
8
+
9
+ field :id, GraphQL::Types::ID, "Internal ID of the speaker", null: false
10
+ field :full_name, GraphQL::Types::String, "Full name of the speaker", null: true
11
+ 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, "Twitter handle", null: true
14
+ 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
17
+ field :user, Decidim::Core::UserType, "Decidim user corresponding to this speaker", null: true
18
+
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
+ end
22
+ end
23
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Conferences
5
+ # This type represents a conference.
6
+ class ConferenceType < Decidim::Api::Types::BaseObject
7
+ implements Decidim::Core::ParticipatorySpaceInterface
8
+ implements Decidim::Core::ScopableInterface
9
+ implements Decidim::Core::AttachableInterface
10
+
11
+ description "A conference"
12
+
13
+ field :id, GraphQL::Types::ID, "Internal ID for this conference", null: false
14
+ field :short_description, Decidim::Core::TranslatedFieldType, "The short description of this conference", null: true
15
+ field :description, Decidim::Core::TranslatedFieldType, "The description of this conference", null: true
16
+ field :slug, GraphQL::Types::String, "The slug of this conference", null: true
17
+ field :hashtag, GraphQL::Types::String, "The hashtag for this conference", null: true
18
+ field :slogan, Decidim::Core::TranslatedFieldType, "The slogan of the conference", null: true
19
+ field :location, String, "The location of this conference", null: true
20
+ field :created_at, Decidim::Core::DateTimeType, "The time this conference was created", null: true
21
+ field :updated_at, Decidim::Core::DateTimeType, "The time this conference was updated", null: true
22
+ field :published_at, Decidim::Core::DateTimeType, "The time this conference was published", null: true
23
+ field :reference, GraphQL::Types::String, "Reference prefix for this conference", null: true
24
+
25
+ field :hero_image, GraphQL::Types::String, "The hero image for this conference", null: true
26
+ field :banner_image, GraphQL::Types::String, "The banner image for this conference", null: true
27
+ field :promoted, GraphQL::Types::Boolean, "If this conference is promoted (therefore in the homepage)", null: true
28
+ field :objectives, Decidim::Core::TranslatedFieldType, "The objectives of the conference", null: true
29
+ field :show_statistics, GraphQL::Types::Boolean, "If this conference shows the statistics", null: true
30
+ field :start_date, Decidim::Core::DateType, "The date this conference starts", null: true
31
+ field :end_date, Decidim::Core::DateType, "The date this conference ends", null: true
32
+ field :registrations_enabled, GraphQL::Types::Boolean, "If the registrations are enabled in this conference", null: true
33
+ field :available_slots, GraphQL::Types::Int, "The number of available slots in this conference", null: true
34
+ field :registration_terms, Decidim::Core::TranslatedFieldType, "The registration terms of this conference", null: true
35
+
36
+ field :speakers, [Decidim::Conferences::ConferenceSpeakerType, { null: true }], "List of speakers in this conference", null: true
37
+ field :partners, [Decidim::Conferences::ConferencePartnerType, { null: true }], "List of partners in this conference", null: true
38
+ field :categories, [Decidim::Core::CategoryType, { null: true }], "List of categories in this conference", null: true
39
+ field :media_links, [Decidim::Conferences::ConferenceMediaLinkType, { null: true }], "List of media links in this conference", null: true
40
+ end
41
+ end
42
+ end
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "decidim/conferences/admin"
4
+ require "decidim/conferences/api"
4
5
  require "decidim/conferences/engine"
5
6
  require "decidim/conferences/admin_engine"
6
7
  require "decidim/conferences/participatory_space"
@@ -61,6 +61,7 @@ module Decidim
61
61
  get :share
62
62
  end
63
63
  resources :exports, only: :create
64
+ resources :imports, only: [:new, :create]
64
65
  end
65
66
 
66
67
  resources :moderations do
@@ -69,6 +70,7 @@ module Decidim
69
70
  put :hide
70
71
  put :unhide
71
72
  end
73
+ resources :reports, controller: "moderations/reports", only: [:index, :show]
72
74
  end
73
75
  end
74
76
 
@@ -92,7 +94,7 @@ module Decidim
92
94
  menu.item I18n.t("menu.conferences", scope: "decidim.admin"),
93
95
  decidim_admin_conferences.conferences_path,
94
96
  icon_name: "microphone",
95
- position: 3.5,
97
+ position: 2.8,
96
98
  active: :inclusive,
97
99
  if: allowed_to?(:enter, :space_area, space_name: :conferences)
98
100
  end