decidim-conferences 0.27.5 → 0.28.0.rc4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (228) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/conferences/conference_cell.rb +9 -4
  3. data/app/cells/decidim/conferences/conference_dropdown_metadata_cell.rb +19 -0
  4. data/app/cells/decidim/conferences/conference_g_cell.rb +23 -0
  5. data/app/cells/decidim/conferences/conference_metadata_cell.rb +21 -0
  6. data/app/cells/decidim/conferences/conference_s_cell.rb +13 -0
  7. data/app/cells/decidim/conferences/conference_speaker/show.erb +44 -58
  8. data/app/cells/decidim/conferences/conference_speaker_cell.rb +3 -13
  9. data/app/cells/decidim/conferences/content_blocks/highlighted_conferences_cell.rb +15 -14
  10. data/app/cells/decidim/conferences/content_blocks/highlighted_conferences_settings_form/show.erb +3 -0
  11. data/app/cells/decidim/conferences/content_blocks/highlighted_conferences_settings_form_cell.rb +19 -0
  12. data/app/cells/decidim/conferences/linked_participatory_spaces/show.erb +6 -8
  13. data/app/cells/decidim/conferences/linked_participatory_spaces_cell.rb +1 -10
  14. data/app/cells/decidim/conferences/media_link/show.erb +6 -8
  15. data/app/cells/decidim/conferences/partner/image.erb +3 -0
  16. data/app/cells/decidim/conferences/partner/show.erb +8 -8
  17. data/app/cells/decidim/conferences/partner/text.erb +1 -0
  18. data/app/cells/decidim/conferences/partner_cell.rb +4 -2
  19. data/app/cells/decidim/conferences/registration_type/join_conference.erb +15 -12
  20. data/app/cells/decidim/conferences/registration_type/registration_confirm.erb +12 -12
  21. data/app/cells/decidim/conferences/registration_type/show.erb +11 -14
  22. data/app/cells/decidim/conferences/registration_type_cell.rb +3 -3
  23. data/app/commands/decidim/conferences/admin/copy_conference.rb +1 -1
  24. data/app/commands/decidim/conferences/admin/create_conference.rb +2 -11
  25. data/app/commands/decidim/conferences/admin/create_conference_speaker.rb +2 -2
  26. data/app/commands/decidim/conferences/admin/create_media_link.rb +2 -2
  27. data/app/commands/decidim/conferences/admin/create_partner.rb +2 -2
  28. data/app/commands/decidim/conferences/admin/create_registration_type.rb +2 -2
  29. data/app/commands/decidim/conferences/admin/destroy_conference_speaker.rb +2 -2
  30. data/app/commands/decidim/conferences/admin/destroy_media_link.rb +1 -1
  31. data/app/commands/decidim/conferences/admin/destroy_partner.rb +3 -3
  32. data/app/commands/decidim/conferences/admin/destroy_registration_type.rb +1 -1
  33. data/app/commands/decidim/conferences/admin/invite_user_to_join_conference.rb +5 -5
  34. data/app/commands/decidim/conferences/admin/publish_conference.rb +9 -26
  35. data/app/commands/decidim/conferences/admin/send_conference_diplomas.rb +1 -1
  36. data/app/commands/decidim/conferences/admin/update_conference.rb +2 -11
  37. data/app/commands/decidim/conferences/admin/update_conference_speaker.rb +1 -1
  38. data/app/commands/decidim/conferences/admin/update_media_link.rb +1 -1
  39. data/app/commands/decidim/conferences/admin/update_partner.rb +1 -1
  40. data/app/commands/decidim/conferences/admin/update_registration_type.rb +1 -1
  41. data/app/commands/decidim/conferences/decline_invitation.rb +1 -1
  42. data/app/commands/decidim/conferences/join_conference.rb +5 -5
  43. data/app/constraints/decidim/conferences/current_component.rb +2 -2
  44. data/app/constraints/decidim/conferences/current_conference.rb +2 -2
  45. data/app/controllers/concerns/decidim/conferences/admin/conference_context.rb +1 -1
  46. data/app/controllers/decidim/conferences/admin/concerns/conference_admin.rb +2 -2
  47. data/app/controllers/decidim/conferences/admin/conference_attachment_collections_controller.rb +6 -1
  48. data/app/controllers/decidim/conferences/admin/conference_attachments_controller.rb +5 -0
  49. data/app/controllers/decidim/conferences/admin/conference_invites_controller.rb +2 -1
  50. data/app/controllers/decidim/conferences/admin/conference_publications_controller.rb +10 -28
  51. data/app/controllers/decidim/conferences/admin/conference_registrations_controller.rb +1 -1
  52. data/app/controllers/decidim/conferences/admin/conference_user_roles_controller.rb +8 -90
  53. data/app/controllers/decidim/conferences/admin/conferences_controller.rb +2 -0
  54. data/app/controllers/decidim/conferences/admin/diplomas_controller.rb +1 -1
  55. data/app/controllers/decidim/conferences/admin/exports_controller.rb +1 -1
  56. data/app/controllers/decidim/conferences/admin/imports_controller.rb +1 -1
  57. data/app/controllers/decidim/conferences/admin/moderations/reports_controller.rb +1 -1
  58. data/app/controllers/decidim/conferences/admin/moderations_controller.rb +1 -1
  59. data/app/controllers/decidim/conferences/application_controller.rb +6 -0
  60. data/app/controllers/decidim/conferences/conference_registrations_controller.rb +3 -3
  61. data/app/controllers/decidim/conferences/conferences_controller.rb +9 -2
  62. data/app/events/decidim/conferences/conference_registration_notification_event.rb +3 -3
  63. data/app/events/decidim/conferences/conference_registrations_enabled_event.rb +1 -1
  64. data/app/events/decidim/conferences/conference_registrations_over_percentage_event.rb +1 -1
  65. data/app/events/decidim/conferences/conference_role_assigned_event.rb +6 -6
  66. data/app/forms/decidim/conferences/admin/conference_copy_form.rb +1 -1
  67. data/app/forms/decidim/conferences/admin/conference_form.rb +4 -15
  68. data/app/forms/decidim/conferences/admin/conference_user_role_form.rb +2 -17
  69. data/app/helpers/decidim/conferences/admin/conferences_helper.rb +0 -4
  70. data/app/helpers/decidim/conferences/conference_helper.rb +55 -0
  71. data/app/helpers/decidim/conferences/conference_program_helper.rb +1 -1
  72. data/app/helpers/decidim/conferences/media_attachments_helper.rb +0 -10
  73. data/app/helpers/decidim/conferences/partners_helper.rb +3 -1
  74. data/app/mailers/decidim/conferences/admin/invite_join_conference_mailer.rb +1 -1
  75. data/app/mailers/decidim/conferences/admin/send_conference_diploma_mailer.rb +1 -1
  76. data/app/mailers/decidim/conferences/conference_registration_mailer.rb +2 -2
  77. data/app/models/decidim/conference.rb +4 -4
  78. data/app/models/decidim/conference_user_role.rb +6 -34
  79. data/app/packs/entrypoints/decidim_conferences.js +5 -0
  80. data/app/packs/src/decidim/conferences/admin/conferences.js +6 -6
  81. data/app/packs/stylesheets/decidim/conferences/_conference.scss +102 -0
  82. data/app/packs/stylesheets/decidim/conferences/_media.scss +13 -0
  83. data/app/packs/stylesheets/decidim/conferences/_program.scss +43 -0
  84. data/app/packs/stylesheets/decidim/conferences/_registration.scss +39 -0
  85. data/app/packs/stylesheets/decidim/conferences/_speaker.scss +83 -0
  86. data/app/packs/stylesheets/decidim/conferences/conferences.scss +5 -3
  87. data/app/permissions/decidim/conferences/permissions.rb +2 -2
  88. data/app/presenters/decidim/conference_speaker_presenter.rb +1 -1
  89. data/app/presenters/decidim/conferences/admin_log/conference_invite_presenter.rb +2 -2
  90. data/app/presenters/decidim/conferences/admin_log/conference_presenter.rb +2 -2
  91. data/app/presenters/decidim/conferences/admin_log/conference_registration_presenter.rb +2 -2
  92. data/app/presenters/decidim/conferences/admin_log/conference_speaker_presenter.rb +2 -2
  93. data/app/presenters/decidim/conferences/admin_log/conference_user_role_presenter.rb +2 -2
  94. data/app/presenters/decidim/conferences/admin_log/media_link_presenter.rb +2 -2
  95. data/app/presenters/decidim/conferences/admin_log/partner_presenter.rb +2 -2
  96. data/app/presenters/decidim/conferences/admin_log/registration_type_presenter.rb +2 -2
  97. data/app/presenters/decidim/conferences/conference_stats_presenter.rb +3 -28
  98. data/app/queries/decidim/conferences/admin/admin_users.rb +4 -4
  99. data/app/queries/decidim/conferences/conferences_with_user_role.rb +2 -2
  100. data/app/queries/decidim/conferences/organization_conferences.rb +1 -1
  101. data/app/queries/decidim/conferences/organization_published_conferences.rb +1 -1
  102. data/app/views/decidim/conferences/admin/conference_copies/_form.html.erb +22 -28
  103. data/app/views/decidim/conferences/admin/conference_copies/new.html.erb +16 -5
  104. data/app/views/decidim/conferences/admin/conference_invites/_form.html.erb +17 -19
  105. data/app/views/decidim/conferences/admin/conference_invites/index.html.erb +69 -74
  106. data/app/views/decidim/conferences/admin/conference_invites/new.html.erb +21 -17
  107. data/app/views/decidim/conferences/admin/conference_registrations/index.html.erb +45 -45
  108. data/app/views/decidim/conferences/admin/conference_speakers/_form.html.erb +42 -46
  109. data/app/views/decidim/conferences/admin/conference_speakers/edit.html.erb +16 -6
  110. data/app/views/decidim/conferences/admin/conference_speakers/index.html.erb +52 -55
  111. data/app/views/decidim/conferences/admin/conference_speakers/new.html.erb +16 -6
  112. data/app/views/decidim/conferences/admin/conference_user_roles/_form.html.erb +14 -18
  113. data/app/views/decidim/conferences/admin/conference_user_roles/edit.html.erb +16 -6
  114. data/app/views/decidim/conferences/admin/conference_user_roles/index.html.erb +53 -56
  115. data/app/views/decidim/conferences/admin/conference_user_roles/new.html.erb +16 -6
  116. data/app/views/decidim/conferences/admin/conferences/_form.html.erb +88 -88
  117. data/app/views/decidim/conferences/admin/conferences/edit.html.erb +26 -12
  118. data/app/views/decidim/conferences/admin/conferences/index.html.erb +55 -64
  119. data/app/views/decidim/conferences/admin/conferences/new.html.erb +16 -8
  120. data/app/views/decidim/conferences/admin/diplomas/_form.html.erb +18 -24
  121. data/app/views/decidim/conferences/admin/diplomas/edit.html.erb +19 -5
  122. data/app/views/decidim/conferences/admin/media_links/_form.html.erb +15 -19
  123. data/app/views/decidim/conferences/admin/media_links/edit.html.erb +16 -6
  124. data/app/views/decidim/conferences/admin/media_links/index.html.erb +37 -40
  125. data/app/views/decidim/conferences/admin/media_links/new.html.erb +16 -6
  126. data/app/views/decidim/conferences/admin/partners/_form.html.erb +18 -22
  127. data/app/views/decidim/conferences/admin/partners/edit.html.erb +16 -6
  128. data/app/views/decidim/conferences/admin/partners/index.html.erb +45 -48
  129. data/app/views/decidim/conferences/admin/partners/new.html.erb +16 -6
  130. data/app/views/decidim/conferences/admin/registration_types/_form.html.erb +23 -23
  131. data/app/views/decidim/conferences/admin/registration_types/edit.html.erb +16 -6
  132. data/app/views/decidim/conferences/admin/registration_types/index.html.erb +52 -56
  133. data/app/views/decidim/conferences/admin/registration_types/new.html.erb +16 -6
  134. data/app/views/decidim/conferences/admin/send_conference_diploma_mailer/diploma_user.html.erb +2 -2
  135. data/app/views/decidim/conferences/conference_program/_program_item.html.erb +21 -24
  136. data/app/views/decidim/conferences/conference_program/_program_meeting.html.erb +29 -63
  137. data/app/views/decidim/conferences/conference_program/show.html.erb +27 -39
  138. data/app/views/decidim/conferences/conference_speakers/index.html.erb +12 -6
  139. data/app/views/decidim/conferences/conferences/_conference_hero.html.erb +33 -0
  140. data/app/views/decidim/conferences/conferences/_partners.html.erb +10 -13
  141. data/app/views/decidim/conferences/conferences/index.html.erb +17 -7
  142. data/app/views/decidim/conferences/conferences/show.html.erb +84 -50
  143. data/app/views/decidim/conferences/media/index.html.erb +33 -19
  144. data/app/views/decidim/conferences/registration_types/index.html.erb +25 -17
  145. data/app/views/layouts/decidim/admin/conference.html.erb +12 -14
  146. data/app/views/layouts/decidim/admin/conferences.html.erb +13 -8
  147. data/app/views/layouts/decidim/conference.html.erb +7 -17
  148. data/app/views/layouts/decidim/conferences/_conference_nav_item.html.erb +6 -0
  149. data/app/views/layouts/decidim/conferences/application.html.erb +6 -0
  150. data/config/assets.rb +1 -1
  151. data/config/initializers/wicked_pdf.rb +1 -1
  152. data/config/locales/ar.yml +3 -62
  153. data/config/locales/bg.yml +0 -1
  154. data/config/locales/ca.yml +33 -53
  155. data/config/locales/cs.yml +35 -53
  156. data/config/locales/de.yml +33 -53
  157. data/config/locales/el.yml +11 -51
  158. data/config/locales/en.yml +34 -54
  159. data/config/locales/es-MX.yml +32 -52
  160. data/config/locales/es-PY.yml +32 -52
  161. data/config/locales/es.yml +32 -52
  162. data/config/locales/eu.yml +33 -58
  163. data/config/locales/fi-plain.yml +32 -52
  164. data/config/locales/fi.yml +31 -51
  165. data/config/locales/fr-CA.yml +31 -51
  166. data/config/locales/fr.yml +31 -51
  167. data/config/locales/ga-IE.yml +0 -17
  168. data/config/locales/gl.yml +3 -62
  169. data/config/locales/hu.yml +15 -51
  170. data/config/locales/id-ID.yml +3 -57
  171. data/config/locales/it.yml +4 -62
  172. data/config/locales/ja.yml +34 -53
  173. data/config/locales/lb.yml +1 -55
  174. data/config/locales/lt.yml +14 -52
  175. data/config/locales/lv.yml +1 -60
  176. data/config/locales/nl.yml +3 -62
  177. data/config/locales/no.yml +1 -62
  178. data/config/locales/pl.yml +1 -78
  179. data/config/locales/pt-BR.yml +1 -63
  180. data/config/locales/pt.yml +2 -63
  181. data/config/locales/ro-RO.yml +13 -50
  182. data/config/locales/sk.yml +1 -60
  183. data/config/locales/sl.yml +0 -2
  184. data/config/locales/sr-CS.yml +0 -5
  185. data/config/locales/sv.yml +7 -62
  186. data/config/locales/tr-TR.yml +13 -61
  187. data/config/locales/zh-CN.yml +3 -60
  188. data/config/locales/zh-TW.yml +6 -47
  189. data/db/migrate/20221116084952_add_weight_to_conferences.rb +7 -0
  190. data/lib/decidim/conferences/admin_engine.rb +14 -138
  191. data/lib/decidim/conferences/content_blocks/registry_manager.rb +21 -0
  192. data/lib/decidim/conferences/engine.rb +17 -15
  193. data/lib/decidim/conferences/menu.rb +182 -0
  194. data/lib/decidim/conferences/participatory_space.rb +6 -200
  195. data/lib/decidim/conferences/query_extensions.rb +2 -2
  196. data/lib/decidim/conferences/seeds.rb +153 -0
  197. data/lib/decidim/conferences/test/factories.rb +10 -9
  198. data/lib/decidim/conferences/version.rb +1 -1
  199. metadata +44 -47
  200. data/app/cells/decidim/conferences/conference_address/show.erb +0 -11
  201. data/app/cells/decidim/conferences/conference_address_cell.rb +0 -11
  202. data/app/cells/decidim/conferences/conference_m/footer.erb +0 -9
  203. data/app/cells/decidim/conferences/conference_m/tags.erb +0 -1
  204. data/app/cells/decidim/conferences/conference_m_cell.rb +0 -42
  205. data/app/cells/decidim/conferences/content_blocks/highlighted_conferences/show.erb +0 -30
  206. data/app/cells/decidim/conferences/photo/show.erb +0 -26
  207. data/app/cells/decidim/conferences/photo_cell.rb +0 -41
  208. data/app/cells/decidim/conferences/photos_list/show.erb +0 -8
  209. data/app/cells/decidim/conferences/photos_list_cell.rb +0 -18
  210. data/app/commands/decidim/conferences/admin/create_conference_admin.rb +0 -114
  211. data/app/commands/decidim/conferences/admin/destroy_conference_admin.rb +0 -58
  212. data/app/commands/decidim/conferences/admin/notify_role_assigned_to_conference.rb +0 -22
  213. data/app/commands/decidim/conferences/admin/unpublish_conference.rb +0 -39
  214. data/app/commands/decidim/conferences/admin/update_conference_admin.rb +0 -53
  215. data/app/controllers/decidim/conferences/conference_widgets_controller.rb +0 -23
  216. data/app/queries/decidim/conferences/admin/conference_invites.rb +0 -60
  217. data/app/views/decidim/conferences/_order_by_conferences.html.erb +0 -3
  218. data/app/views/decidim/conferences/conferences/_promoted_conference.html.erb +0 -27
  219. data/app/views/decidim/conferences/media/_attachments.html.erb +0 -6
  220. data/app/views/decidim/conferences/shared/_conference_user_login.html.erb +0 -14
  221. data/app/views/layouts/decidim/_conference_hero.html.erb +0 -42
  222. data/app/views/layouts/decidim/_conferences_nav.html.erb +0 -46
  223. data/config/environment.rb +0 -3
  224. data/db/seeds/Exampledocument.pdf +0 -0
  225. data/db/seeds/city.jpeg +0 -0
  226. data/db/seeds/city2.jpeg +0 -0
  227. data/db/seeds/homepage_image.jpg +0 -0
  228. data/db/seeds/logo.png +0 -0
@@ -6,7 +6,6 @@ zh-TW:
6
6
  assemblies_ids: 相關大會
7
7
  available_slots: 可用時段
8
8
  banner_image: 橫幅圖片
9
- consultations_ids: 相關咨詢
10
9
  copy_categories: 複製類別
11
10
  copy_components: 複製組件
12
11
  copy_features: 複製功能
@@ -34,6 +33,7 @@ zh-TW:
34
33
  slug: URL名稱
35
34
  start_date: 開始日期
36
35
  title: 標題
36
+ weight: 排序位置
37
37
  conference_media_link:
38
38
  date: 日期
39
39
  link: 連結
@@ -73,7 +73,7 @@ zh-TW:
73
73
  conference_registration_invite:
74
74
  attributes:
75
75
  email:
76
- already_invited: 已發出邀請到此電子郵件
76
+ already_invited: 已發出邀請到此電子郵件.
77
77
  activerecord:
78
78
  models:
79
79
  decidim/conference:
@@ -86,7 +86,6 @@ zh-TW:
86
86
  admin:
87
87
  actions:
88
88
  confirm: 確認
89
- new_conference: 新的會議
90
89
  send_diplomas: 發送出席證明書
91
90
  conference_copies:
92
91
  new:
@@ -149,7 +148,6 @@ zh-TW:
149
148
  form:
150
149
  title: 基本資訊
151
150
  index:
152
- not_published: 未發佈
153
151
  published: 已發佈
154
152
  new:
155
153
  create: 建立
@@ -190,7 +188,6 @@ zh-TW:
190
188
  conference_invites: 邀請
191
189
  conference_speakers: 講者
192
190
  diploma: 出席證明書
193
- info: 資訊
194
191
  media_links: 媒體連結
195
192
  moderations: 版主
196
193
  partners: 夥伴
@@ -201,7 +198,6 @@ zh-TW:
201
198
  conference:
202
199
  fields:
203
200
  created_at: 建立於
204
- promoted: 重點顯示
205
201
  published: 已發佈
206
202
  title: 標題
207
203
  conference_speaker:
@@ -341,7 +337,6 @@ zh-TW:
341
337
  all: 全部
342
338
  rejected: 已拒絕
343
339
  sent: 傳送
344
- filter_by: 篩選條件
345
340
  invite_attendee: 邀請參與者
346
341
  invites: 邀請
347
342
  search: 搜尋
@@ -398,18 +393,11 @@ zh-TW:
398
393
  cancel: 取消
399
394
  confirm: 確認
400
395
  show:
401
- free: 免費
402
396
  going: 正在出席
403
397
  no_slots_available: 無法預約
404
398
  registration: 註冊
405
399
  conference_program:
406
- program_meeting:
407
- content: 內容
408
- location: 位置
409
- speakers: 講者
410
- streaming: 串流直播
411
400
  show:
412
- day: 日
413
401
  program: 節目表
414
402
  conference_registration_mailer:
415
403
  confirmation:
@@ -424,11 +412,9 @@ zh-TW:
424
412
  create:
425
413
  invalid: 加入此會議時發生問題。
426
414
  success: 您已成功加入此會議。
427
- unauthorized: 在註冊會議前,您需要先登錄。
428
415
  decline_invitation:
429
416
  invalid: 拒絕邀請出現問題。
430
417
  success: 您已成功拒絕邀請。
431
- unauthorized: 在拒絕邀請前,您需要先登錄。
432
418
  destroy:
433
419
  invalid: 離開此會議時發生問題。
434
420
  success: 您已成功離開此會議。
@@ -441,18 +427,17 @@ zh-TW:
441
427
  conference_speaker_cell:
442
428
  personal_url:
443
429
  personal_website: 個人網址
444
- twitter_handle:
445
- go_to_twitter: 轉到Twitter
446
430
  conference_speakers:
447
431
  index:
448
- speakers: 講者
432
+ speakers:
433
+ other: 講者
449
434
  conferences:
450
435
  partners:
451
436
  collaborators: 夥伴
452
437
  main_promotors: 組織者
453
438
  show:
454
439
  login_as: 您已登入為 %{name} <%{email}>
455
- make_conference_registration: '請在此會議中完成註冊:'
440
+ make_conference_registration: 註冊參加會議
456
441
  register: 註冊
457
442
  content_blocks:
458
443
  highlighted_conferences:
@@ -495,37 +480,18 @@ zh-TW:
495
480
  pages:
496
481
  home:
497
482
  highlighted_conferences:
498
- active_conferences: 正在進行的會議
499
- conferences_button_title: 顯示所有會議的會議頁面連結
500
- photo:
501
- image:
502
- attributes:
503
- alt: 媒體圖片
504
- show:
505
- close_modal: 關閉視窗
506
- photo: 圖片
507
- photos_list:
508
- show:
509
- related_photos: 圖片
483
+ active_spaces: 正在進行的會議
510
484
  registration_types:
511
485
  index:
512
486
  choose_an_option: '選擇您的註冊選項:'
513
- login_as: 您已登入為 %{name} <%{email}>
514
487
  no_registrations: 沒有註冊
515
488
  register: 登錄
516
489
  title: 註冊類型
517
- shared:
518
- conference_user_login:
519
- already_account: 你已經在 Decidim 中擁有帳戶了嗎?
520
- new_user: 新用戶?
521
- sign_in: 登入以註冊參加會議
522
- sign_up: 在 Decidim 建立一個帳號以註冊會議。
523
490
  show:
524
491
  details: 詳細資料
525
492
  introduction: 簡介
526
493
  objectives: 目標
527
494
  related_assemblies: 相關大會
528
- related_consultations: 相關咨詢
529
495
  related_participatory_processes: 相關參與過程
530
496
  events:
531
497
  conferences:
@@ -584,9 +550,6 @@ zh-TW:
584
550
  decidim:
585
551
  conference_hero:
586
552
  register: 註冊
587
- conference_widgets:
588
- show:
589
- take_part: 參與
590
553
  conferences:
591
554
  conference:
592
555
  more_info: 更多資訊
@@ -596,11 +559,7 @@ zh-TW:
596
559
  order_by_conferences:
597
560
  conferences:
598
561
  other: "%{count} 個會議"
599
- promoted_conference:
600
- more_info: 更多資訊
601
- take_part: 參與
602
562
  conferences_nav:
603
- conference_menu_item: 訊息
604
563
  conference_partners_menu_item: 夥伴
605
564
  conference_speaker_menu_item: 講者
606
565
  media: 媒體
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddWeightToConferences < ActiveRecord::Migration[6.1]
4
+ def change
5
+ add_column :decidim_conferences, :weight, :integer, null: false, default: 0
6
+ end
7
+ end
@@ -3,6 +3,7 @@
3
3
  require "rails"
4
4
  require "active_support/all"
5
5
  require "decidim/core"
6
+ require "decidim/conferences/menu"
6
7
 
7
8
  module Decidim
8
9
  module Conferences
@@ -46,12 +47,12 @@ module Decidim
46
47
  end
47
48
  end
48
49
 
49
- resources :attachment_collections, controller: "conference_attachment_collections"
50
- resources :attachments, controller: "conference_attachments"
50
+ resources :attachment_collections, controller: "conference_attachment_collections", except: [:show]
51
+ resources :attachments, controller: "conference_attachments", except: [:show]
51
52
  end
52
53
 
53
54
  scope "/conferences/:conference_slug" do
54
- resources :categories
55
+ resources :categories, except: [:show]
55
56
 
56
57
  resources :components do
57
58
  resource :permissions, controller: "component_permissions"
@@ -88,149 +89,24 @@ module Decidim
88
89
  end
89
90
  end
90
91
 
91
- initializer "decidim_conferences.admin_conferences_components_menu" do
92
- Decidim.menu :admin_conferences_components_menu do |menu|
93
- current_participatory_space.components.each do |component|
94
- caption = translated_attribute(component.name)
95
- if component.primary_stat.present?
96
- caption += content_tag(:span, component.primary_stat, class: component.primary_stat.zero? ? "component-counter component-counter--off" : "component-counter")
97
- end
98
-
99
- menu.add_item [component.manifest_name, component.id].join("_"),
100
- caption.html_safe,
101
- manage_component_path(component),
102
- active: is_active_link?(manage_component_path(component)) ||
103
- is_active_link?(decidim_admin_conferences.edit_component_path(current_participatory_space, component)) ||
104
- is_active_link?(decidim_admin_conferences.edit_component_permissions_path(current_participatory_space, component)) ||
105
- participatory_space_active_link?(component),
106
- if: component.manifest.admin_engine && user_role_config.component_is_accessible?(component.manifest_name)
107
- end
108
- end
92
+ initializer "decidim_conferences_admin.components_menu" do
93
+ Decidim::Conferences::Menu.register_admin_conferences_components_menu!
109
94
  end
110
- initializer "decidim_conferences.conferences_admin_registrations_menu" do
111
- Decidim.menu :conferences_admin_registrations_menu do |menu|
112
- menu.add_item :conference_registration_types,
113
- I18n.t("registration_types", scope: "decidim.admin.menu.conferences_submenu"),
114
- decidim_admin_conferences.conference_registration_types_path(current_participatory_space),
115
- active: is_active_link?(decidim_admin_conferences.conference_registration_types_path(current_participatory_space)),
116
- if: allowed_to?(:read, :registration_type, conference: current_participatory_space)
117
-
118
- menu.add_item :conference_conference_registrations,
119
- I18n.t("user_registrations", scope: "decidim.admin.menu.conferences_submenu"),
120
- decidim_admin_conferences.conference_conference_registrations_path(current_participatory_space),
121
- active: is_active_link?(decidim_admin_conferences.conference_conference_registrations_path(current_participatory_space)),
122
- if: allowed_to?(:read, :conference_registration, conference: current_participatory_space)
123
95
 
124
- menu.add_item :conference_conference_invites,
125
- I18n.t("conference_invites", scope: "decidim.admin.menu.conferences_submenu"),
126
- decidim_admin_conferences.conference_conference_invites_path(current_participatory_space),
127
- active: is_active_link?(decidim_admin_conferences.conference_conference_invites_path(current_participatory_space)),
128
- if: allowed_to?(:read, :conference_invite, conference: current_participatory_space)
129
-
130
- menu.add_item :edit_conference_diploma,
131
- I18n.t("diploma", scope: "decidim.admin.menu.conferences_submenu"),
132
- decidim_admin_conferences.edit_conference_diploma_path(current_participatory_space),
133
- active: is_active_link?(decidim_admin_conferences.edit_conference_diploma_path(current_participatory_space)),
134
- if: allowed_to?(:update, :conference, conference: current_participatory_space)
135
- end
96
+ initializer "decidim_conferences_admin.registrations_menu" do
97
+ Decidim::Conferences::Menu.register_conferences_admin_registrations_menu!
136
98
  end
137
- initializer "decidim_conferences.conferences_admin_attachments_menu" do
138
- Decidim.menu :conferences_admin_attachments_menu do |menu|
139
- menu.add_item :conference_attachment_collections,
140
- I18n.t("attachment_collections", scope: "decidim.admin.menu.conferences_submenu"),
141
- decidim_admin_conferences.conference_attachment_collections_path(current_participatory_space),
142
- active: is_active_link?(decidim_admin_conferences.conference_attachment_collections_path(current_participatory_space)),
143
- if: allowed_to?(:read, :attachment_collection, conference: current_participatory_space)
144
99
 
145
- menu.add_item :conference_attachments,
146
- I18n.t("attachment_files", scope: "decidim.admin.menu.conferences_submenu"),
147
- decidim_admin_conferences.conference_attachments_path(current_participatory_space),
148
- active: is_active_link?(decidim_admin_conferences.conference_attachments_path(current_participatory_space)),
149
- if: allowed_to?(:read, :attachment, conference: current_participatory_space)
150
- end
100
+ initializer "decidim_conferences_admin.attachments_menu" do
101
+ Decidim::Conferences::Menu.register_conferences_admin_attachments_menu!
151
102
  end
152
- initializer "decidim_conferences.conferences_admin_menu" do
153
- Decidim.menu :conferences_admin_menu do |menu|
154
- menu.add_item :edit_conference,
155
- I18n.t("info", scope: "decidim.admin.menu.conferences_submenu"),
156
- decidim_admin_conferences.edit_conference_path(current_participatory_space),
157
- position: 1,
158
- if: allowed_to?(:update, :conference, conference: current_participatory_space),
159
- active: is_active_link?(decidim_admin_conferences.edit_conference_path(current_participatory_space))
160
-
161
- menu.add_item :components,
162
- I18n.t("components", scope: "decidim.admin.menu.conferences_submenu"),
163
- decidim_admin_conferences.components_path(current_participatory_space),
164
- active: is_active_link?(decidim_admin_conferences.components_path(current_participatory_space)),
165
- if: allowed_to?(:read, :component, conference: current_participatory_space),
166
- submenu: { target_menu: :admin_conferences_components_menu, options: { container_options: { id: "components-list" } } }
167
103
 
168
- menu.add_item :categories,
169
- I18n.t("categories", scope: "decidim.admin.menu.conferences_submenu"),
170
- decidim_admin_conferences.categories_path(current_participatory_space),
171
- active: is_active_link?(decidim_admin_conferences.categories_path(current_participatory_space)),
172
- if: allowed_to?(:read, :category, conference: current_participatory_space)
173
-
174
- menu.add_item :attachments,
175
- I18n.t("attachments", scope: "decidim.admin.menu.conferences_submenu"),
176
- "#",
177
- active: is_active_link?(decidim_admin_conferences.conference_attachment_collections_path(current_participatory_space)) ||
178
- is_active_link?(decidim_admin_conferences.conference_attachments_path(current_participatory_space)),
179
- if: allowed_to?(:read, :attachment_collection, conference: current_participatory_space) ||
180
- allowed_to?(:read, :attachment, conference: current_participatory_space),
181
- submenu: { target_menu: :conferences_admin_attachments_menu }
182
-
183
- menu.add_item :conference_media_links,
184
- I18n.t("media_links", scope: "decidim.admin.menu.conferences_submenu"),
185
- decidim_admin_conferences.conference_media_links_path(current_participatory_space),
186
- if: allowed_to?(:read, :media_link, conference: current_participatory_space),
187
- active: is_active_link?(decidim_admin_conferences.conference_media_links_path(current_participatory_space))
188
-
189
- menu.add_item :conference_partners,
190
- I18n.t("partners", scope: "decidim.admin.menu.conferences_submenu"),
191
- decidim_admin_conferences.conference_partners_path(current_participatory_space),
192
- if: allowed_to?(:read, :partner, conference: current_participatory_space),
193
- active: is_active_link?(decidim_admin_conferences.conference_partners_path(current_participatory_space))
194
-
195
- menu.add_item :conference_speakers,
196
- I18n.t("conference_speakers", scope: "decidim.admin.menu.conferences_submenu"),
197
- decidim_admin_conferences.conference_speakers_path(current_participatory_space),
198
- if: allowed_to?(:read, :conference_speaker, conference: current_participatory_space),
199
- active: is_active_link?(decidim_admin_conferences.conference_speakers_path(current_participatory_space))
200
-
201
- menu.add_item :registrations,
202
- I18n.t("registrations", scope: "decidim.admin.menu.conferences_submenu"),
203
- "#",
204
- active: false,
205
- if: allowed_to?(:read, :conference_invite, conference: current_participatory_space) ||
206
- allowed_to?(:read, :registration_type, conference: current_participatory_space) ||
207
- allowed_to?(:read, :conference_registration, conference: current_participatory_space),
208
- submenu: { target_menu: :conferences_admin_registrations_menu }
209
-
210
- menu.add_item :conference_user_roles,
211
- I18n.t("conference_admins", scope: "decidim.admin.menu.conferences_submenu"),
212
- decidim_admin_conferences.conference_user_roles_path(current_participatory_space),
213
- if: allowed_to?(:read, :conference_user_role, conference: current_participatory_space),
214
- active: is_active_link?(decidim_admin_conferences.conference_user_roles_path(current_participatory_space))
215
-
216
- menu.add_item :moderations,
217
- I18n.t("moderations", scope: "decidim.admin.menu.conferences_submenu"),
218
- decidim_admin_conferences.moderations_path(current_participatory_space),
219
- if: allowed_to?(:read, :moderation, conference: current_participatory_space),
220
- active: is_active_link?(decidim_admin_conferences.moderations_path(current_participatory_space))
221
- end
104
+ initializer "decidim_conferences_admin.conferences_menu" do
105
+ Decidim::Conferences::Menu.register_conferences_admin_menu!
222
106
  end
223
107
 
224
- initializer "decidim_conferences.admin_menu" do
225
- Decidim.menu :admin_menu do |menu|
226
- menu.add_item :conferences,
227
- I18n.t("menu.conferences", scope: "decidim.admin"),
228
- decidim_admin_conferences.conferences_path,
229
- icon_name: "microphone",
230
- position: 2.8,
231
- active: :inclusive,
232
- if: allowed_to?(:enter, :space_area, space_name: :conferences)
233
- end
108
+ initializer "decidim_conferences_admin.menu" do
109
+ Decidim::Conferences::Menu.register_admin_menu_modules!
234
110
  end
235
111
  end
236
112
  end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Conferences
5
+ module ContentBlocks
6
+ class RegistryManager
7
+ def self.register!
8
+ Decidim.content_blocks.register(:homepage, :highlighted_conferences) do |content_block|
9
+ content_block.cell = "decidim/conferences/content_blocks/highlighted_conferences"
10
+ content_block.public_name_key = "decidim.conferences.content_blocks.highlighted_conferences.name"
11
+ content_block.settings_form_cell = "decidim/conferences/content_blocks/highlighted_conferences_settings_form"
12
+
13
+ content_block.settings do |settings|
14
+ settings.attribute :max_results, type: :integer, default: 6
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -6,6 +6,8 @@ require "decidim/core"
6
6
  require "wicked_pdf"
7
7
 
8
8
  require "decidim/conferences/query_extensions"
9
+ require "decidim/conferences/content_blocks/registry_manager"
10
+ require "decidim/conferences/menu"
9
11
 
10
12
  module Decidim
11
13
  module Conferences
@@ -28,7 +30,6 @@ module Decidim
28
30
  get :user, to: "conferences#user_diploma"
29
31
  resources :conference_speakers, only: :index, path: "speakers"
30
32
  resources :conference_program, only: :show, path: "program"
31
- resource :conference_widget, only: :show, path: "embed"
32
33
  resources :registration_types, only: :index, path: "registration" do
33
34
  resource :conference_registration, only: [:create, :destroy] do
34
35
  collection do
@@ -50,33 +51,34 @@ module Decidim
50
51
  end
51
52
  end
52
53
 
54
+ initializer "decidim_conferences.register_icons" do
55
+ Decidim.icons.register(name: "Decidim::Conference", icon: "mic-line", description: "Conference", category: "activity", engine: :conferences)
56
+ Decidim.icons.register(name: "conference_speaker", icon: "user-voice-line", description: "Speaker", category: "conferences", engine: :conferences)
57
+
58
+ Decidim.icons.register(name: "film-line", icon: "film-line", category: "system", description: "", engine: :conferences)
59
+ Decidim.icons.register(name: "ticket-line", icon: "ticket-line", category: "system", description: "", engine: :conferences)
60
+ Decidim.icons.register(name: "user-follow-line", icon: "user-follow-line", category: "system", description: "", engine: :conferences)
61
+ Decidim.icons.register(name: "link-m", icon: "link-m", category: "system", description: "", engine: :conferences)
62
+ end
63
+
53
64
  initializer "decidim_conferences.add_cells_view_paths" do
54
65
  Cell::ViewModel.view_paths << File.expand_path("#{Decidim::Conferences::Engine.root}/app/cells")
55
66
  Cell::ViewModel.view_paths << File.expand_path("#{Decidim::Conferences::Engine.root}/app/views") # for partials
56
67
  end
57
68
 
58
- initializer "decidim.stats" do
69
+ initializer "decidim_conferences.stats" do
59
70
  Decidim.stats.register :conferences_count, priority: StatsRegistry::HIGH_PRIORITY do |organization, _start_at, _end_at|
60
- Decidim::Conference.where(organization: organization).public_spaces.count
71
+ Decidim::Conference.where(organization:).public_spaces.count
61
72
  end
62
73
  end
63
74
 
64
75
  initializer "decidim_conferences.menu" do
65
- Decidim.menu :menu do |menu|
66
- menu.add_item :conferences,
67
- I18n.t("menu.conferences", scope: "decidim"),
68
- decidim_conferences.conferences_path,
69
- position: 2.8,
70
- if: Decidim::Conference.where(organization: current_organization).published.any?,
71
- active: :inclusive
72
- end
76
+ Decidim::Conferences::Menu.register_menu!
77
+ Decidim::Conferences::Menu.register_home_content_block_menu!
73
78
  end
74
79
 
75
80
  initializer "decidim_conferences.content_blocks" do
76
- Decidim.content_blocks.register(:homepage, :highlighted_conferences) do |content_block|
77
- content_block.cell = "decidim/conferences/content_blocks/highlighted_conferences"
78
- content_block.public_name_key = "decidim.conferences.content_blocks.highlighted_conferences.name"
79
- end
81
+ Decidim::Conferences::ContentBlocks::RegistryManager.register!
80
82
  end
81
83
 
82
84
  initializer "decidim_conferences.query_extensions" do
@@ -0,0 +1,182 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Conferences
5
+ class Menu
6
+ def self.register_menu!
7
+ Decidim.menu :menu do |menu|
8
+ menu.add_item :conferences,
9
+ I18n.t("menu.conferences", scope: "decidim"),
10
+ decidim_conferences.conferences_path,
11
+ position: 2.8,
12
+ if: Decidim::Conference.where(organization: current_organization).published.any?,
13
+ active: :inclusive
14
+ end
15
+ end
16
+
17
+ def self.register_home_content_block_menu!
18
+ Decidim.menu :home_content_block_menu do |menu|
19
+ menu.add_item :conferences,
20
+ I18n.t("menu.conferences", scope: "decidim"),
21
+ decidim_conferences.conferences_path,
22
+ position: 50,
23
+ if: Decidim::Conference.where(organization: current_organization).published.any?,
24
+ active: :inclusive
25
+ end
26
+ end
27
+
28
+ def self.register_admin_conferences_components_menu!
29
+ Decidim.menu :admin_conferences_components_menu do |menu|
30
+ current_participatory_space.components.each do |component|
31
+ caption = translated_attribute(component.name)
32
+ if component.primary_stat.present?
33
+ caption += content_tag(:span, component.primary_stat, class: component.primary_stat.zero? ? "component-counter component-counter--off" : "component-counter")
34
+ end
35
+
36
+ menu.add_item [component.manifest_name, component.id].join("_"),
37
+ caption.html_safe,
38
+ manage_component_path(component),
39
+ active: is_active_link?(manage_component_path(component)) ||
40
+ is_active_link?(decidim_admin_conferences.edit_component_path(current_participatory_space, component)) ||
41
+ is_active_link?(decidim_admin_conferences.edit_component_permissions_path(current_participatory_space, component)) ||
42
+ participatory_space_active_link?(component),
43
+ if: component.manifest.admin_engine && user_role_config.component_is_accessible?(component.manifest_name)
44
+ end
45
+ end
46
+ end
47
+
48
+ def self.register_conferences_admin_registrations_menu!
49
+ Decidim.menu :conferences_admin_registrations_menu do |menu|
50
+ menu.add_item :conference_registration_types,
51
+ I18n.t("registration_types", scope: "decidim.admin.menu.conferences_submenu"),
52
+ decidim_admin_conferences.conference_registration_types_path(current_participatory_space),
53
+ active: is_active_link?(decidim_admin_conferences.conference_registration_types_path(current_participatory_space)),
54
+ if: allowed_to?(:read, :registration_type, conference: current_participatory_space)
55
+
56
+ menu.add_item :conference_conference_registrations,
57
+ I18n.t("user_registrations", scope: "decidim.admin.menu.conferences_submenu"),
58
+ decidim_admin_conferences.conference_conference_registrations_path(current_participatory_space),
59
+ active: is_active_link?(decidim_admin_conferences.conference_conference_registrations_path(current_participatory_space)),
60
+ if: allowed_to?(:read, :conference_registration, conference: current_participatory_space)
61
+
62
+ menu.add_item :conference_conference_invites,
63
+ I18n.t("conference_invites", scope: "decidim.admin.menu.conferences_submenu"),
64
+ decidim_admin_conferences.conference_conference_invites_path(current_participatory_space),
65
+ active: is_active_link?(decidim_admin_conferences.conference_conference_invites_path(current_participatory_space)),
66
+ if: allowed_to?(:read, :conference_invite, conference: current_participatory_space)
67
+
68
+ menu.add_item :edit_conference_diploma,
69
+ I18n.t("diploma", scope: "decidim.admin.menu.conferences_submenu"),
70
+ decidim_admin_conferences.edit_conference_diploma_path(current_participatory_space),
71
+ active: is_active_link?(decidim_admin_conferences.edit_conference_diploma_path(current_participatory_space)),
72
+ if: allowed_to?(:update, :conference, conference: current_participatory_space)
73
+ end
74
+ end
75
+
76
+ def self.register_conferences_admin_attachments_menu!
77
+ Decidim.menu :conferences_admin_attachments_menu do |menu|
78
+ menu.add_item :conference_attachments,
79
+ I18n.t("attachment_files", scope: "decidim.admin.menu.conferences_submenu"),
80
+ decidim_admin_conferences.conference_attachments_path(current_participatory_space),
81
+ active: is_active_link?(decidim_admin_conferences.conference_attachments_path(current_participatory_space)),
82
+ if: allowed_to?(:read, :attachment, conference: current_participatory_space),
83
+ icon_name: "attachment-line"
84
+
85
+ menu.add_item :conference_attachment_collections,
86
+ I18n.t("attachment_collections", scope: "decidim.admin.menu.conferences_submenu"),
87
+ decidim_admin_conferences.conference_attachment_collections_path(current_participatory_space),
88
+ active: is_active_link?(decidim_admin_conferences.conference_attachment_collections_path(current_participatory_space)),
89
+ if: allowed_to?(:read, :attachment_collection, conference: current_participatory_space),
90
+ icon_name: "folder-line"
91
+ end
92
+ end
93
+
94
+ def self.register_conferences_admin_menu!
95
+ Decidim.menu :conferences_admin_menu do |menu|
96
+ menu.add_item :edit_conference,
97
+ I18n.t("info", scope: "decidim.admin.menu.conferences_submenu"),
98
+ decidim_admin_conferences.edit_conference_path(current_participatory_space),
99
+ position: 1,
100
+ icon_name: "information-line",
101
+ if: allowed_to?(:update, :conference, conference: current_participatory_space)
102
+
103
+ menu.add_item :components,
104
+ I18n.t("components", scope: "decidim.admin.menu.conferences_submenu"),
105
+ decidim_admin_conferences.components_path(current_participatory_space),
106
+ icon_name: "tools-line",
107
+ if: allowed_to?(:read, :component, conference: current_participatory_space),
108
+ active: is_active_link?(decidim_admin_conferences.components_path(current_participatory_space),
109
+ ["decidim/conferences/admin/components", %w(index new edit)]),
110
+ submenu: { target_menu: :admin_conferences_components_menu }
111
+
112
+ menu.add_item :categories,
113
+ I18n.t("categories", scope: "decidim.admin.menu.conferences_submenu"),
114
+ decidim_admin_conferences.categories_path(current_participatory_space),
115
+ icon_name: "price-tag-3-line",
116
+ if: allowed_to?(:read, :category, conference: current_participatory_space)
117
+
118
+ menu.add_item :attachments,
119
+ I18n.t("attachments", scope: "decidim.admin.menu.conferences_submenu"),
120
+ decidim_admin_conferences.conference_attachments_path(current_participatory_space),
121
+ icon_name: "attachment-2",
122
+ active: is_active_link?(decidim_admin_conferences.conference_attachment_collections_path(current_participatory_space)) ||
123
+ is_active_link?(decidim_admin_conferences.conference_attachments_path(current_participatory_space)),
124
+ if: allowed_to?(:read, :attachment, conference: current_participatory_space) ||
125
+ allowed_to?(:read, :attachment_collection, conference: current_participatory_space)
126
+
127
+ menu.add_item :conference_media_links,
128
+ I18n.t("media_links", scope: "decidim.admin.menu.conferences_submenu"),
129
+ decidim_admin_conferences.conference_media_links_path(current_participatory_space),
130
+ icon_name: "film-line",
131
+ active: is_active_link?(decidim_admin_conferences.conference_media_links_path(current_participatory_space))
132
+
133
+ menu.add_item :conference_partners,
134
+ I18n.t("partners", scope: "decidim.admin.menu.conferences_submenu"),
135
+ decidim_admin_conferences.conference_partners_path(current_participatory_space),
136
+ icon_name: "service-line",
137
+ if: allowed_to?(:read, :partner, conference: current_participatory_space)
138
+
139
+ menu.add_item :conference_speakers,
140
+ I18n.t("conference_speakers", scope: "decidim.admin.menu.conferences_submenu"),
141
+ decidim_admin_conferences.conference_speakers_path(current_participatory_space),
142
+ icon_name: "user-voice-line",
143
+ if: allowed_to?(:read, :conference_speaker, conference: current_participatory_space)
144
+
145
+ menu.add_item :registrations,
146
+ I18n.t("registrations", scope: "decidim.admin.menu.conferences_submenu"),
147
+ "#",
148
+ active: false,
149
+ icon_name: "group-line",
150
+ if: allowed_to?(:read, :conference_invite, conference: current_participatory_space) ||
151
+ allowed_to?(:read, :registration_type, conference: current_participatory_space) ||
152
+ allowed_to?(:read, :conference_registration, conference: current_participatory_space),
153
+ submenu: { target_menu: :conferences_admin_registrations_menu }
154
+
155
+ menu.add_item :conference_user_roles,
156
+ I18n.t("conference_admins", scope: "decidim.admin.menu.conferences_submenu"),
157
+ decidim_admin_conferences.conference_user_roles_path(current_participatory_space),
158
+ icon_name: "user-settings-line",
159
+ if: allowed_to?(:read, :conference_user_role, conference: current_participatory_space)
160
+
161
+ menu.add_item :moderations,
162
+ I18n.t("moderations", scope: "decidim.admin.menu.conferences_submenu"),
163
+ decidim_admin_conferences.moderations_path(current_participatory_space),
164
+ icon_name: "flag-line",
165
+ if: allowed_to?(:read, :moderation, conference: current_participatory_space)
166
+ end
167
+ end
168
+
169
+ def self.register_admin_menu_modules!
170
+ Decidim.menu :admin_menu_modules do |menu|
171
+ menu.add_item :conferences,
172
+ I18n.t("menu.conferences", scope: "decidim.admin"),
173
+ decidim_admin_conferences.conferences_path,
174
+ icon_name: "live-line",
175
+ position: 2.8,
176
+ active: :inclusive,
177
+ if: allowed_to?(:enter, :space_area, space_name: :conferences)
178
+ end
179
+ end
180
+ end
181
+ end
182
+ end