decidim-conferences 0.30.1 → 0.31.0.rc1

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 (106) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/conferences/content_blocks/highlighted_conferences_settings_form/show.erb +3 -1
  3. data/app/commands/decidim/conferences/admin/create_conference.rb +1 -1
  4. data/app/commands/decidim/conferences/admin/{copy_conference.rb → duplicate_conference.rb} +15 -16
  5. data/app/commands/decidim/conferences/admin/update_conference.rb +2 -2
  6. data/app/controllers/decidim/conferences/admin/conference_duplicates_controller.rb +35 -0
  7. data/app/controllers/decidim/conferences/admin/conference_invites_controller.rb +1 -1
  8. data/app/controllers/decidim/conferences/admin/conference_speakers_controller.rb +4 -4
  9. data/app/controllers/decidim/conferences/admin/conferences_controller.rb +3 -3
  10. data/app/controllers/decidim/conferences/admin/diplomas_controller.rb +1 -1
  11. data/app/controllers/decidim/conferences/admin/media_links_controller.rb +2 -2
  12. data/app/controllers/decidim/conferences/admin/partners_controller.rb +2 -2
  13. data/app/controllers/decidim/conferences/admin/registration_types_controller.rb +2 -2
  14. data/app/forms/decidim/conferences/admin/{conference_copy_form.rb → conference_duplicate_form.rb} +3 -3
  15. data/app/forms/decidim/conferences/admin/conference_form.rb +0 -4
  16. data/app/helpers/decidim/conferences/conference_helper.rb +1 -0
  17. data/app/jobs/decidim/conferences/upcoming_conference_notification_job.rb +1 -1
  18. data/app/models/decidim/conference.rb +0 -4
  19. data/app/models/decidim/conferences/registration_type.rb +4 -0
  20. data/app/packs/entrypoints/decidim_conferences_admin.js +0 -1
  21. data/app/packs/src/decidim/conferences/admin/conference_invite_form.js +1 -1
  22. data/app/packs/src/decidim/conferences/admin/conference_speakers.js +1 -1
  23. data/app/packs/src/decidim/conferences/admin/conferences.js +1 -1
  24. data/app/packs/stylesheets/decidim/conferences/conferences.scss +5 -5
  25. data/app/permissions/decidim/conferences/permissions.rb +6 -6
  26. data/app/presenters/decidim/conference_speaker_presenter.rb +0 -4
  27. data/app/presenters/decidim/conferences/admin_log/conference_presenter.rb +0 -1
  28. data/app/presenters/decidim/conferences/conference_stats_presenter.rb +1 -3
  29. data/app/queries/decidim/conferences/admin/conference_speakers.rb +2 -2
  30. data/app/queries/decidim/conferences/conferences_stats_followers_count.rb +14 -0
  31. data/app/queries/decidim/conferences/conferences_stats_participants_count.rb +14 -0
  32. data/app/views/decidim/conferences/admin/{conference_copies → conference_duplicates}/_form.html.erb +3 -3
  33. data/app/views/decidim/conferences/admin/conference_duplicates/new.html.erb +19 -0
  34. data/app/views/decidim/conferences/admin/conference_registrations/index.html.erb +34 -20
  35. data/app/views/decidim/conferences/admin/conference_speakers/index.html.erb +51 -22
  36. data/app/views/decidim/conferences/admin/conference_user_roles/index.html.erb +44 -17
  37. data/app/views/decidim/conferences/admin/conferences/_actions.html.erb +108 -33
  38. data/app/views/decidim/conferences/admin/conferences/_conference_row.html.erb +4 -4
  39. data/app/views/decidim/conferences/admin/conferences/_conferences_thead.html.erb +2 -2
  40. data/app/views/decidim/conferences/admin/conferences/_form.html.erb +115 -40
  41. data/app/views/decidim/conferences/admin/conferences/edit.html.erb +0 -8
  42. data/app/views/decidim/conferences/admin/conferences/index.html.erb +2 -2
  43. data/app/views/decidim/conferences/admin/conferences/manage_trash.html.erb +2 -1
  44. data/app/views/decidim/conferences/admin/media_links/index.html.erb +32 -13
  45. data/app/views/decidim/conferences/admin/partners/index.html.erb +33 -14
  46. data/app/views/decidim/conferences/admin/registration_types/index.html.erb +56 -21
  47. data/app/views/decidim/conferences/conference_program/show.html.erb +1 -1
  48. data/app/views/decidim/conferences/conferences/_conference_hero.html.erb +0 -5
  49. data/app/views/decidim/conferences/conferences/show.html.erb +1 -1
  50. data/app/views/layouts/decidim/diploma.html.erb +2 -2
  51. data/config/assets.rb +2 -2
  52. data/config/locales/ar.yml +1 -16
  53. data/config/locales/bg.yml +1 -19
  54. data/config/locales/bs-BA.yml +0 -5
  55. data/config/locales/ca-IT.yml +25 -13
  56. data/config/locales/ca.yml +25 -13
  57. data/config/locales/cs.yml +23 -11
  58. data/config/locales/de.yml +33 -21
  59. data/config/locales/el.yml +1 -16
  60. data/config/locales/en.yml +25 -13
  61. data/config/locales/es-MX.yml +27 -15
  62. data/config/locales/es-PY.yml +28 -16
  63. data/config/locales/es.yml +26 -14
  64. data/config/locales/eu.yml +31 -19
  65. data/config/locales/fi-plain.yml +25 -13
  66. data/config/locales/fi.yml +25 -13
  67. data/config/locales/fr-CA.yml +25 -12
  68. data/config/locales/fr.yml +26 -13
  69. data/config/locales/ga-IE.yml +2 -6
  70. data/config/locales/gl.yml +1 -16
  71. data/config/locales/hu.yml +1 -16
  72. data/config/locales/id-ID.yml +1 -15
  73. data/config/locales/it.yml +1 -16
  74. data/config/locales/ja.yml +26 -14
  75. data/config/locales/lb.yml +1 -11
  76. data/config/locales/lt.yml +1 -16
  77. data/config/locales/lv.yml +1 -16
  78. data/config/locales/nl.yml +1 -16
  79. data/config/locales/no.yml +1 -16
  80. data/config/locales/pl.yml +1 -19
  81. data/config/locales/pt-BR.yml +1 -19
  82. data/config/locales/pt.yml +1 -16
  83. data/config/locales/ro-RO.yml +3 -16
  84. data/config/locales/sk.yml +1 -16
  85. data/config/locales/sl.yml +0 -5
  86. data/config/locales/sr-CS.yml +0 -5
  87. data/config/locales/sv.yml +16 -19
  88. data/config/locales/tr-TR.yml +1 -16
  89. data/config/locales/zh-CN.yml +1 -16
  90. data/config/locales/zh-TW.yml +1 -16
  91. data/db/migrate/20250605094623_remove_hashtag_column_conferences.rb +7 -0
  92. data/lib/decidim/api/conference_registration_type_type.rb +30 -0
  93. data/lib/decidim/api/conference_speaker_type.rb +12 -0
  94. data/lib/decidim/api/conference_type.rb +15 -3
  95. data/lib/decidim/conferences/admin_engine.rb +1 -1
  96. data/lib/decidim/conferences/api.rb +1 -0
  97. data/lib/decidim/conferences/conference_diploma_pdf.rb +1 -1
  98. data/lib/decidim/conferences/engine.rb +5 -3
  99. data/lib/decidim/conferences/menu.rb +1 -1
  100. data/lib/decidim/conferences/participatory_space.rb +14 -0
  101. data/lib/decidim/conferences/seeds.rb +5 -6
  102. data/lib/decidim/conferences/test/factories.rb +2 -2
  103. data/lib/decidim/conferences/version.rb +1 -1
  104. metadata +19 -15
  105. data/app/controllers/decidim/conferences/admin/conference_copies_controller.rb +0 -35
  106. data/app/views/decidim/conferences/admin/conference_copies/new.html.erb +0 -19
@@ -6,13 +6,9 @@ sv:
6
6
  assemblies_ids: Relaterade samråd
7
7
  available_slots: Tillgängliga platser
8
8
  banner_image: Bannerbild
9
- copy_categories: Kopiera kategorier
10
- copy_components: Kopiera komponenter
11
- copy_features: Kopiera funktioner
12
9
  decidim_scope_id: Indelning
13
10
  description: Beskrivning
14
11
  end_date: Slutdatum
15
- hashtag: Hashtag
16
12
  hero_image: Bild till startsida
17
13
  location: Plats
18
14
  main_logo: Logotyp
@@ -99,11 +95,6 @@ sv:
99
95
  new_speaker: Ny talare
100
96
  send_diplomas: Skicka deltagarbevis
101
97
  view_deleted_conferences: Visa raderade konferenser
102
- conference_copies:
103
- new:
104
- copy: Kopiera
105
- select: Välj vilka data som du vill duplicera
106
- title: Duplicera konferens
107
98
  conference_publications:
108
99
  create:
109
100
  error: Det gick inte att publicera konferensen.
@@ -164,7 +155,13 @@ sv:
164
155
  exports:
165
156
  registrations: Registreringar
166
157
  form:
158
+ duration: Tid
159
+ images: Bilder
160
+ metadata: Metadata
161
+ registrations: Anmälningar
162
+ related_spaces: Relaterade utrymmen
167
163
  title: Allmän information
164
+ visibility: Synlighet
168
165
  index:
169
166
  published: Publicerad
170
167
  unpublished: Ej publicerad
@@ -172,14 +169,10 @@ sv:
172
169
  title: Borttagna konferenser
173
170
  new:
174
171
  create: Skapa
175
- title: Konferens
172
+ title: Ny konferens
176
173
  update:
177
174
  error: Det gick inte att uppdatera konferensen.
178
175
  success: Konferensen har uppdaterats.
179
- conferences_copies:
180
- create:
181
- error: Det gick inte att duplicera konferensen.
182
- success: Konferensen har duplicerats.
183
176
  media_links:
184
177
  create:
185
178
  error: Det gick inte att skapa en ny medialänk.
@@ -219,17 +212,20 @@ sv:
219
212
  models:
220
213
  conference:
221
214
  fields:
215
+ actions: Åtgärder
222
216
  created_at: Skapad
223
217
  published: Publicerad
224
218
  title: Titel
225
219
  conference_speaker:
226
220
  fields:
221
+ actions: Handlingar
227
222
  affiliation: Anknytning
228
223
  full_name: Fullständigt namn
229
224
  position: Position
230
225
  name: Talare
231
226
  conference_user_role:
232
227
  fields:
228
+ actions: Handlingar
233
229
  email: E-post
234
230
  name: Namn
235
231
  role: Roll
@@ -237,16 +233,18 @@ sv:
237
233
  roles:
238
234
  admin: Administratör
239
235
  collaborator: Medarbetare
236
+ evaluator: Utvärderare
240
237
  moderator: Moderator
241
- valuator: Handläggare
242
238
  media_link:
243
239
  fields:
240
+ actions: Handlingar
244
241
  date: Datum
245
242
  link: Länk
246
243
  title: Titel
247
244
  name: Medialänk
248
245
  partner:
249
246
  fields:
247
+ actions: Handlingar
250
248
  link: Länk
251
249
  logo: Logotyp
252
250
  name: Namn
@@ -257,6 +255,7 @@ sv:
257
255
  main_promotor: Huvudarrangör
258
256
  registration_type:
259
257
  fields:
258
+ actions: Handlingar
260
259
  conference_meetings: Konferensmöten
261
260
  price: Pris
262
261
  registrations_count: Antal registreringar
@@ -351,9 +350,6 @@ sv:
351
350
  title: Talare
352
351
  conferences:
353
352
  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}'
357
353
  conference_invites:
358
354
  create:
359
355
  error: Det gick inte att bjuda in deltagaren till konferensen.
@@ -516,6 +512,7 @@ sv:
516
512
  sent: Skickad
517
513
  conference_registration:
518
514
  fields:
515
+ actions: Handlingar
519
516
  email: E-post
520
517
  name: Namn
521
518
  registration_type: Registreringstyp
@@ -614,10 +611,10 @@ sv:
614
611
  description: Längre beskrivning av konferensen
615
612
  end_date: Det datum då konferens avslutas.
616
613
  follows_count: Antal följare
617
- hashtag: Konferensens hashtag, används för Twitter/X
618
614
  id: Unikt id för konferensen
619
615
  statistics:
620
616
  conferences_count: Konferenser
617
+ conferences_count_tooltip: Antalet publicerade konferenser.
621
618
  devise:
622
619
  mailer:
623
620
  join_conference:
@@ -3,14 +3,9 @@ tr:
3
3
  activemodel:
4
4
  attributes:
5
5
  conference:
6
- assemblies_ids: İlgili kurullar
7
6
  banner_image: Banner resmi
8
- copy_categories: Kategorileri kopyala
9
- copy_components: Bileşenleri kopyala
10
- copy_features: Özellikleri kopyala
11
7
  decidim_scope_id: Kapsam
12
8
  description: Açıklama
13
- hashtag: Etiket
14
9
  hero_image: Ana resim
15
10
  participatory_processes_ids: İlgili katılımcı süreçleri
16
11
  promoted: Vurgulanan
@@ -48,11 +43,6 @@ tr:
48
43
  new_registration_type: Yeni kayıt türü
49
44
  new_speaker: Yeni Konuşmacı
50
45
  send_diplomas: Katılım sertifikaları gönder
51
- conference_copies:
52
- new:
53
- copy: Kopyala
54
- select: Çoğaltmak istediğiniz verileri seçin
55
- title: Konferansı çoğalt
56
46
  conference_publications:
57
47
  create:
58
48
  error: Bu konferansı yayınlarken bir sorun oluştu.
@@ -101,19 +91,15 @@ tr:
101
91
  exports:
102
92
  registrations: Kayıtlar
103
93
  form:
94
+ images: Fotoğraflar
104
95
  title: Genel bilgi
105
96
  index:
106
97
  published: Yayınlandı
107
98
  new:
108
99
  create: Oluştur
109
- title: Konferans
110
100
  update:
111
101
  error: Bu konferans güncellenirken bir hata oluştu.
112
102
  success: Konferans başarıyla güncellendi.
113
- conferences_copies:
114
- create:
115
- error: Bu konferansı çoğaltırken bir hata oluştu.
116
- success: Konferans başarıyla kopyalandı.
117
103
  media_links:
118
104
  create:
119
105
  error: Yeni bir medya bağlantısı oluştururken bir hata oluştu.
@@ -158,7 +144,6 @@ tr:
158
144
  admin: Yönetici
159
145
  collaborator: İşbirlikçi
160
146
  moderator: Moderatör
161
- valuator: Bilirkişi
162
147
  media_link:
163
148
  fields:
164
149
  date: Tarih
@@ -3,14 +3,9 @@ zh-CN:
3
3
  activemodel:
4
4
  attributes:
5
5
  conference:
6
- assemblies_ids: 相关程序集
7
6
  banner_image: 横幅图像
8
- copy_categories: 复制类别
9
- copy_components: 复制组件
10
- copy_features: 复制功能
11
7
  decidim_scope_id: 范围
12
8
  description: 描述
13
- hashtag: 标签
14
9
  hero_image: 首页图像
15
10
  participatory_processes_ids: 相关的参与进程
16
11
  promoted: 高亮
@@ -39,11 +34,6 @@ zh-CN:
39
34
  actions:
40
35
  confirm: 确认
41
36
  send_diplomas: 发送出勤证书
42
- conference_copies:
43
- new:
44
- copy: 复制
45
- select: 选择要重复的数据
46
- title: 复制会议
47
37
  conference_publications:
48
38
  create:
49
39
  error: 发布此会议时出现问题。
@@ -92,19 +82,15 @@ zh-CN:
92
82
  exports:
93
83
  registrations: 注册
94
84
  form:
85
+ images: 图像
95
86
  title: 一般信息
96
87
  index:
97
88
  published: 已发布
98
89
  new:
99
90
  create: 创建
100
- title: 'Original: ENGLISH'
101
91
  update:
102
92
  error: 更新此会议时出现问题。
103
93
  success: 会议已成功更新。
104
- conferences_copies:
105
- create:
106
- error: 复制此会议时出现问题。
107
- success: 会议成功重复。
108
94
  media_links:
109
95
  create:
110
96
  error: 创建新媒体链接时出现问题。
@@ -149,7 +135,6 @@ zh-CN:
149
135
  admin: 管理员
150
136
  collaborator: 协作者
151
137
  moderator: 版主
152
- valuator: 值者
153
138
  media_link:
154
139
  fields:
155
140
  date: 日期
@@ -3,16 +3,11 @@ zh-TW:
3
3
  activemodel:
4
4
  attributes:
5
5
  conference:
6
- assemblies_ids: 相關大會
7
6
  available_slots: 可用時段
8
7
  banner_image: 橫幅圖片
9
- copy_categories: 複製類別
10
- copy_components: 複製組件
11
- copy_features: 複製功能
12
8
  decidim_scope_id: 範圍
13
9
  description: 說明
14
10
  end_date: 結束日期
15
- hashtag: 主題標籤
16
11
  hero_image: 首頁圖片
17
12
  location: 位置
18
13
  main_logo: 主要標誌
@@ -85,11 +80,6 @@ zh-TW:
85
80
  actions:
86
81
  confirm: 確認
87
82
  send_diplomas: 發送出席證明書
88
- conference_copies:
89
- new:
90
- copy: 複製
91
- select: 請選擇您想要複製的資料
92
- title: 複製研討會
93
83
  conference_publications:
94
84
  create:
95
85
  error: 發布此研討會時出現問題。
@@ -140,19 +130,15 @@ zh-TW:
140
130
  exports:
141
131
  registrations: 註冊
142
132
  form:
133
+ images: 圖片
143
134
  title: 基本資訊
144
135
  index:
145
136
  published: 已發佈
146
137
  new:
147
138
  create: 建立
148
- title: 研討會
149
139
  update:
150
140
  error: 更新此研討會時發生問題。
151
141
  success: 研討會更新成功。
152
- conferences_copies:
153
- create:
154
- error: 複製此研討會時發生問題。
155
- success: 研討會複製成功。
156
142
  media_links:
157
143
  create:
158
144
  error: 創建新的媒體連結時出現問題。
@@ -197,7 +183,6 @@ zh-TW:
197
183
  admin: 管理員
198
184
  collaborator: 合作者
199
185
  moderator: 版主
200
- valuator: 評價者
201
186
  media_link:
202
187
  fields:
203
188
  date: 日期
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class RemoveHashtagColumnConferences < ActiveRecord::Migration[7.1]
4
+ def change
5
+ remove_column :decidim_conferences, :hashtag, :string, if_exists: true
6
+ end
7
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Conferences
5
+ # This type represents a registration type
6
+ class ConferenceRegistrationTypeType < Decidim::Api::Types::BaseObject
7
+ implements Decidim::Core::TimestampsInterface
8
+
9
+ description "A conference registration type"
10
+
11
+ field :description, Decidim::Core::TranslatedFieldType, "The description of this registration type.", null: true
12
+ field :id, GraphQL::Types::ID, "Internal ID of the registration type.", null: false
13
+ field :price, GraphQL::Types::Float, "The budget amount for this project", null: true
14
+ field :published_at, Decidim::Core::DateTimeType, "The time this conference was published", null: true
15
+ field :title, Decidim::Core::TranslatedFieldType, "The title of this registration type.", null: false
16
+ field :weight, GraphQL::Types::Int, "The weight for this object", null: false
17
+
18
+ def self.authorized?(object, context)
19
+ chain = [
20
+ allowed_to?(:list, :registration_types, object, context),
21
+ object.visible?
22
+ ].all?
23
+
24
+ super && chain
25
+ rescue Decidim::PermissionAction::PermissionNotSetError
26
+ false
27
+ end
28
+ end
29
+ end
30
+ end
@@ -14,6 +14,7 @@ module Decidim
14
14
  field :id, GraphQL::Types::ID, "Internal ID of the speaker", null: false
15
15
  field :personal_url, GraphQL::Types::String, "Personal URL of the speaker", null: true
16
16
  field :position, Decidim::Core::TranslatedFieldType, "Position of the speaker in the conference", null: true
17
+ field :published_at, Decidim::Core::DateTimeType, "The time this speaker was published", null: true
17
18
  field :short_bio, Decidim::Core::TranslatedFieldType, "Short biography of the speaker", null: true
18
19
  field :twitter_handle, GraphQL::Types::String, "X handle", null: true
19
20
  field :user, Decidim::Core::UserType, "Decidim user corresponding to this speaker", null: true
@@ -21,6 +22,17 @@ module Decidim
21
22
  def avatar
22
23
  object.attached_uploader(:avatar).url
23
24
  end
25
+
26
+ def self.authorized?(object, context)
27
+ chain = [
28
+ allowed_to?(:list, :speakers, object, context),
29
+ object.published?
30
+ ].all?
31
+
32
+ super && chain
33
+ rescue Decidim::PermissionAction::PermissionNotSetError
34
+ false
35
+ end
24
36
  end
25
37
  end
26
38
  end
@@ -7,9 +7,13 @@ module Decidim
7
7
  implements Decidim::Core::ParticipatorySpaceInterface
8
8
  implements Decidim::Core::ScopableInterface
9
9
  implements Decidim::Core::AttachableInterface
10
+ implements Decidim::Core::AttachableCollectionInterface
10
11
  implements Decidim::Core::TaxonomizableInterface
11
12
  implements Decidim::Core::TimestampsInterface
13
+ implements Decidim::Core::ReferableInterface
14
+ implements Decidim::Core::FollowableInterface
12
15
  implements Decidim::Core::CategoriesContainerInterface
16
+ implements Decidim::Core::TraceableInterface
13
17
 
14
18
  description "A conference"
15
19
 
@@ -17,17 +21,15 @@ module Decidim
17
21
  field :banner_image, GraphQL::Types::String, "The banner image for this conference", null: true
18
22
  field :description, Decidim::Core::TranslatedFieldType, "The description of this conference", null: true
19
23
  field :end_date, Decidim::Core::DateType, "The date this conference ends", null: true
20
- field :hashtag, GraphQL::Types::String, "The hashtag for this conference", null: true
21
24
  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
23
25
  field :location, String, "The location of this conference", null: true
24
26
  field :media_links, [Decidim::Conferences::ConferenceMediaLinkType, { null: true }], "List of media links in this conference", null: true
25
27
  field :objectives, Decidim::Core::TranslatedFieldType, "The objectives of the conference", null: true
26
28
  field :partners, [Decidim::Conferences::ConferencePartnerType, { null: true }], "List of partners in this conference", null: true
27
29
  field :promoted, GraphQL::Types::Boolean, "If this conference is promoted (therefore in the homepage)", null: true
28
30
  field :published_at, Decidim::Core::DateTimeType, "The time this conference was published", null: true
29
- field :reference, GraphQL::Types::String, "Reference prefix for this conference", null: true
30
31
  field :registration_terms, Decidim::Core::TranslatedFieldType, "The registration terms of this conference", null: true
32
+ field :registration_types, [Decidim::Conferences::ConferenceRegistrationTypeType, { null: true }], "List of all registration type of this conference", null: true
31
33
  field :registrations_enabled, GraphQL::Types::Boolean, "If the registrations are enabled in this conference", null: true
32
34
  field :short_description, Decidim::Core::TranslatedFieldType, "The short description of this conference", null: true
33
35
  field :show_statistics, GraphQL::Types::Boolean, "If this conference shows the statistics", null: true
@@ -35,6 +37,12 @@ module Decidim
35
37
  field :slug, GraphQL::Types::String, "The slug of this conference", null: true
36
38
  field :speakers, [Decidim::Conferences::ConferenceSpeakerType, { null: true }], "List of speakers in this conference", null: true
37
39
  field :start_date, Decidim::Core::DateType, "The date this conference starts", null: true
40
+ field :url, GraphQL::Types::String, "The URL of this conference", null: true
41
+ field :weight, GraphQL::Types::Int, "The weight for this object", null: false
42
+
43
+ def url
44
+ EngineRouter.main_proxy(object).conference_url(object)
45
+ end
38
46
 
39
47
  def hero_image
40
48
  object.attached_uploader(:hero_image).url
@@ -47,6 +55,10 @@ module Decidim
47
55
  def speakers
48
56
  object.speakers.published
49
57
  end
58
+
59
+ def registration_types
60
+ object.registration_types.published
61
+ end
50
62
  end
51
63
  end
52
64
  end
@@ -18,7 +18,7 @@ module Decidim
18
18
  constraints(->(request) { Decidim::Admin::OrganizationDashboardConstraint.new(request).matches? }) do
19
19
  resources :conferences, param: :slug, except: [:show, :destroy] do
20
20
  resource :publish, controller: "conference_publications", only: [:create, :destroy]
21
- resources :copies, controller: "conference_copies", only: [:new, :create]
21
+ resources :duplicates, controller: "conference_duplicates", only: [:new, :create]
22
22
  resources :speakers, controller: "conference_speakers" do
23
23
  member do
24
24
  put :publish
@@ -6,5 +6,6 @@ module Decidim
6
6
  autoload :ConferenceMediaLinkType, "decidim/api/conference_media_link_type"
7
7
  autoload :ConferencePartnerType, "decidim/api/conference_partner_type"
8
8
  autoload :ConferenceSpeakerType, "decidim/api/conference_speaker_type"
9
+ autoload :ConferenceRegistrationTypeType, "decidim/api/conference_registration_type_type"
9
10
  end
10
11
  end
@@ -7,7 +7,7 @@ module Decidim
7
7
  module Conferences
8
8
  class ConferenceDiplomaPDF
9
9
  include ActionView::Helpers::AssetUrlHelper
10
- include Shakapacker::Helper
10
+ include ::Shakapacker::Helper
11
11
  include Decidim::TranslatableAttributes
12
12
  include Decidim::SanitizeHelper
13
13
 
@@ -62,7 +62,6 @@ module Decidim
62
62
 
63
63
  Decidim.icons.register(name: "film-line", icon: "film-line", category: "system", description: "", engine: :conferences)
64
64
  Decidim.icons.register(name: "ticket-line", icon: "ticket-line", category: "system", description: "", engine: :conferences)
65
- Decidim.icons.register(name: "user-follow-line", icon: "user-follow-line", category: "system", description: "", engine: :conferences)
66
65
  Decidim.icons.register(name: "link-m", icon: "link-m", category: "system", description: "", engine: :conferences)
67
66
  end
68
67
 
@@ -72,7 +71,10 @@ module Decidim
72
71
  end
73
72
 
74
73
  initializer "decidim_conferences.stats" do
75
- Decidim.stats.register :conferences_count, priority: StatsRegistry::HIGH_PRIORITY do |organization, _start_at, _end_at|
74
+ Decidim.stats.register :conferences_count,
75
+ priority: StatsRegistry::HIGH_PRIORITY,
76
+ icon_name: "user-voice-line",
77
+ tooltip_key: "conferences_count_tooltip" do |organization, _start_at, _end_at|
76
78
  Decidim::Conference.where(organization:).public_spaces.count
77
79
  end
78
80
  end
@@ -91,7 +93,7 @@ module Decidim
91
93
  Decidim::Api::QueryType.include Decidim::Conferences::QueryExtensions
92
94
  end
93
95
 
94
- initializer "decidim_conferences.webpacker.assets_path" do
96
+ initializer "decidim_conferences.shakapacker.assets_path" do
95
97
  Decidim.register_assets_path File.expand_path("app/packs", root)
96
98
  end
97
99
  end
@@ -173,7 +173,7 @@ module Decidim
173
173
  decidim_admin_conferences.conference_share_tokens_path(current_participatory_space),
174
174
  active: is_active_link?(decidim_admin_conferences.conference_share_tokens_path(current_participatory_space)),
175
175
  icon_name: "share-line",
176
- if: allowed_to?(:read, :share_tokens, current_participatory_space:)
176
+ if: allowed_to?(:read, :share_token, current_participatory_space:)
177
177
  end
178
178
  end
179
179
 
@@ -25,6 +25,20 @@ Decidim.register_participatory_space(:conferences) do |participatory_space|
25
25
  resource.searchable = true
26
26
  end
27
27
 
28
+ participatory_space.register_stat :followers_count,
29
+ priority: Decidim::StatsRegistry::MEDIUM_PRIORITY,
30
+ icon_name: "user-follow-line",
31
+ tooltip_key: "followers_count_tooltip" do
32
+ Decidim::Conferences::ConferencesStatsFollowersCount.for(participatory_space)
33
+ end
34
+
35
+ participatory_space.register_stat :participants_count,
36
+ priority: Decidim::StatsRegistry::MEDIUM_PRIORITY,
37
+ icon_name: "user-line",
38
+ tooltip_key: "participants_count_tooltip" do
39
+ Decidim::Conferences::ConferencesStatsParticipantsCount.for(participatory_space)
40
+ end
41
+
28
42
  participatory_space.context(:public) do |context|
29
43
  context.engine = Decidim::Conferences::Engine
30
44
  context.layout = "layouts/decidim/conference"
@@ -8,28 +8,28 @@ module Decidim
8
8
  def call
9
9
  create_content_block!
10
10
 
11
- 2.times do |_n|
11
+ number_of_records.times do |_n|
12
12
  conference = create_conference!
13
13
 
14
14
  create_conference_user_roles!(conference:)
15
15
 
16
16
  create_attachments!(attached_to: conference)
17
17
 
18
- 5.times do
18
+ number_of_records.times do
19
19
  create_conference_speaker!(conference:)
20
20
  end
21
21
 
22
22
  Decidim::Conferences::Partner::TYPES.map do |type|
23
- 4.times do
23
+ number_of_records.times do
24
24
  create_conference_partner!(conference:, type:)
25
25
  end
26
26
  end
27
27
 
28
- 5.times do
28
+ number_of_records.times do
29
29
  create_conference_media_link!(conference:)
30
30
  end
31
31
 
32
- 5.times do
32
+ number_of_records.times do
33
33
  create_conference_registration_type!(conference:)
34
34
  end
35
35
 
@@ -56,7 +56,6 @@ module Decidim
56
56
  title: Decidim::Faker::Localized.sentence(word_count: 5),
57
57
  slogan: Decidim::Faker::Localized.sentence(word_count: 2),
58
58
  slug: Decidim::Faker::Internet.unique.slug(words: nil, glue: "-"),
59
- hashtag: "##{::Faker::Lorem.word}",
60
59
  short_description: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
61
60
  Decidim::Faker::Localized.sentence(word_count: 3)
62
61
  end,
@@ -115,7 +115,7 @@ FactoryBot.define do
115
115
  end
116
116
  end
117
117
 
118
- factory :conference_valuator, parent: :user, class: "Decidim::User" do
118
+ factory :conference_evaluator, parent: :user, class: "Decidim::User" do
119
119
  transient do
120
120
  skip_injection { false }
121
121
  conference { create(:conference, skip_injection:) }
@@ -128,7 +128,7 @@ FactoryBot.define do
128
128
  create(:conference_user_role,
129
129
  user:,
130
130
  conference: evaluator.conference,
131
- role: :valuator,
131
+ role: :evaluator,
132
132
  skip_injection: evaluator.skip_injection)
133
133
  end
134
134
  end
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-conferences version.
5
5
  module Conferences
6
6
  def self.version
7
- "0.30.1"
7
+ "0.31.0.rc1"
8
8
  end
9
9
  end
10
10
  end