decidim-assemblies 0.27.6 → 0.28.0.rc4

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 (198) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/assemblies/assemblies/show.erb +16 -0
  3. data/app/cells/decidim/assemblies/assemblies_cell.rb +24 -0
  4. data/app/cells/decidim/assemblies/assembly_cell.rb +7 -2
  5. data/app/cells/decidim/assemblies/assembly_dropdown_metadata_cell.rb +19 -0
  6. data/app/cells/decidim/assemblies/assembly_g_cell.rb +23 -0
  7. data/app/cells/decidim/assemblies/assembly_member/data.erb +19 -0
  8. data/app/cells/decidim/assemblies/assembly_member/name_and_position.erb +11 -0
  9. data/app/cells/decidim/assemblies/assembly_member/show.erb +8 -52
  10. data/app/cells/decidim/assemblies/assembly_metadata_g_cell.rb +46 -0
  11. data/app/cells/decidim/assemblies/assembly_s_cell.rb +15 -0
  12. data/app/cells/decidim/assemblies/content_block_cell.rb +21 -0
  13. data/app/cells/decidim/assemblies/content_blocks/children_assemblies_cell.rb +27 -0
  14. data/app/cells/decidim/assemblies/content_blocks/dates_metadata_cell.rb +23 -0
  15. data/app/cells/decidim/assemblies/content_blocks/extra_data_cell.rb +39 -0
  16. data/app/cells/decidim/assemblies/content_blocks/highlighted_assemblies_cell.rb +15 -23
  17. data/app/cells/decidim/assemblies/content_blocks/highlighted_assemblies_settings_form/show.erb +1 -1
  18. data/app/cells/decidim/assemblies/content_blocks/main_data_cell.rb +52 -0
  19. data/app/cells/decidim/assemblies/content_blocks/metadata_cell.rb +23 -0
  20. data/app/cells/decidim/assemblies/content_blocks/related_assemblies/content.erb +1 -0
  21. data/app/cells/decidim/assemblies/content_blocks/related_assemblies_cell.rb +34 -0
  22. data/app/cells/decidim/assemblies/content_blocks/stats_cell.rb +15 -0
  23. data/app/commands/decidim/assemblies/admin/copy_assembly.rb +2 -2
  24. data/app/commands/decidim/assemblies/admin/create_assemblies_type.rb +1 -1
  25. data/app/commands/decidim/assemblies/admin/create_assembly.rb +2 -1
  26. data/app/commands/decidim/assemblies/admin/create_assembly_member.rb +3 -3
  27. data/app/commands/decidim/assemblies/admin/destroy_assemblies_type.rb +1 -1
  28. data/app/commands/decidim/assemblies/admin/destroy_assembly_member.rb +1 -1
  29. data/app/commands/decidim/assemblies/admin/import_assembly.rb +1 -1
  30. data/app/commands/decidim/assemblies/admin/update_assemblies_type.rb +1 -1
  31. data/app/commands/decidim/assemblies/admin/update_assembly.rb +1 -1
  32. data/app/commands/decidim/assemblies/admin/update_assembly_member.rb +1 -1
  33. data/app/constraints/decidim/assemblies/current_assembly.rb +1 -1
  34. data/app/controllers/concerns/decidim/assemblies/admin/assembly_context.rb +1 -1
  35. data/app/controllers/concerns/decidim/assemblies/admin/assembly_members/filterable.rb +39 -0
  36. data/app/controllers/concerns/decidim/assemblies/assembly_breadcrumb.rb +36 -0
  37. data/app/controllers/decidim/assemblies/admin/assemblies_controller.rb +1 -0
  38. data/app/controllers/decidim/assemblies/admin/assemblies_types_controller.rb +1 -1
  39. data/app/controllers/decidim/assemblies/admin/assembly_attachment_collections_controller.rb +5 -0
  40. data/app/controllers/decidim/assemblies/admin/assembly_attachments_controller.rb +5 -0
  41. data/app/controllers/decidim/assemblies/admin/assembly_imports_controller.rb +2 -0
  42. data/app/controllers/decidim/assemblies/admin/assembly_landing_page_content_blocks_controller.rb +35 -0
  43. data/app/controllers/decidim/assemblies/admin/assembly_landing_page_controller.rb +37 -0
  44. data/app/controllers/decidim/assemblies/admin/assembly_members_controller.rb +2 -6
  45. data/app/controllers/decidim/assemblies/admin/assembly_publications_controller.rb +9 -29
  46. data/app/controllers/decidim/assemblies/admin/assembly_user_roles_controller.rb +8 -91
  47. data/app/controllers/decidim/assemblies/admin/concerns/assembly_admin.rb +1 -1
  48. data/app/controllers/decidim/assemblies/assemblies_controller.rb +12 -7
  49. data/app/controllers/decidim/assemblies/assembly_members_controller.rb +2 -0
  50. data/app/events/decidim/assemblies/create_assembly_member_event.rb +1 -1
  51. data/app/events/decidim/role_assigned_to_assembly_event.rb +11 -6
  52. data/app/forms/decidim/assemblies/admin/assembly_copy_form.rb +1 -1
  53. data/app/forms/decidim/assemblies/admin/assembly_form.rb +1 -1
  54. data/app/forms/decidim/assemblies/admin/assembly_import_form.rb +1 -1
  55. data/app/forms/decidim/assemblies/admin/assembly_user_role_form.rb +2 -18
  56. data/app/helpers/decidim/assemblies/admin/assembly_members_helper.rb +11 -0
  57. data/app/helpers/decidim/assemblies/application_helper.rb +12 -0
  58. data/app/helpers/decidim/assemblies/assemblies_helper.rb +21 -19
  59. data/app/helpers/decidim/assemblies/filter_assemblies_helper.rb +15 -30
  60. data/app/models/decidim/assembly.rb +6 -5
  61. data/app/models/decidim/assembly_user_role.rb +5 -33
  62. data/app/packs/entrypoints/decidim_assemblies.js +0 -1
  63. data/app/packs/src/decidim/assemblies/admin/assemblies.js +2 -2
  64. data/app/packs/src/decidim/assemblies/orgchart.js +0 -701
  65. data/app/permissions/decidim/assemblies/permissions.rb +14 -27
  66. data/app/presenters/decidim/assemblies/admin_log/assemblies_setting_presenter.rb +2 -2
  67. data/app/presenters/decidim/assemblies/admin_log/assemblies_type_presenter.rb +2 -2
  68. data/app/presenters/decidim/assemblies/admin_log/assembly_member_presenter.rb +2 -2
  69. data/app/presenters/decidim/assemblies/admin_log/assembly_presenter.rb +2 -2
  70. data/app/presenters/decidim/assemblies/admin_log/assembly_user_role_presenter.rb +2 -2
  71. data/app/presenters/decidim/assemblies/assembly_presenter.rb +38 -0
  72. data/app/presenters/decidim/assemblies/assembly_stats_presenter.rb +2 -41
  73. data/app/presenters/decidim/assembly_member_presenter.rb +18 -4
  74. data/app/queries/decidim/assemblies/admin/admin_users.rb +1 -1
  75. data/app/queries/decidim/assemblies/assemblies_with_user_role.rb +2 -2
  76. data/app/serializers/decidim/assemblies/assembly_importer.rb +3 -3
  77. data/app/serializers/decidim/assemblies/assembly_serializer.rb +1 -1
  78. data/app/views/decidim/assemblies/admin/assemblies/_form.html.erb +218 -176
  79. data/app/views/decidim/assemblies/admin/assemblies/edit.html.erb +25 -11
  80. data/app/views/decidim/assemblies/admin/assemblies/index.html.erb +105 -115
  81. data/app/views/decidim/assemblies/admin/assemblies/new.html.erb +16 -9
  82. data/app/views/decidim/assemblies/admin/assemblies_types/_form.html.erb +6 -8
  83. data/app/views/decidim/assemblies/admin/assemblies_types/edit.html.erb +11 -5
  84. data/app/views/decidim/assemblies/admin/assemblies_types/index.html.erb +34 -35
  85. data/app/views/decidim/assemblies/admin/assemblies_types/new.html.erb +16 -6
  86. data/app/views/decidim/assemblies/admin/assembly_copies/_form.html.erb +12 -20
  87. data/app/views/decidim/assemblies/admin/assembly_copies/new.html.erb +17 -5
  88. data/app/views/decidim/assemblies/admin/assembly_imports/_form.html.erb +28 -37
  89. data/app/views/decidim/assemblies/admin/assembly_imports/new.html.erb +17 -5
  90. data/app/views/decidim/assemblies/admin/assembly_members/_form.html.erb +45 -49
  91. data/app/views/decidim/assemblies/admin/assembly_members/edit.html.erb +17 -6
  92. data/app/views/decidim/assemblies/admin/assembly_members/index.html.erb +51 -88
  93. data/app/views/decidim/assemblies/admin/assembly_members/new.html.erb +17 -6
  94. data/app/views/decidim/assemblies/admin/assembly_user_roles/_form.html.erb +14 -18
  95. data/app/views/decidim/assemblies/admin/assembly_user_roles/edit.html.erb +17 -6
  96. data/app/views/decidim/assemblies/admin/assembly_user_roles/index.html.erb +54 -55
  97. data/app/views/decidim/assemblies/admin/assembly_user_roles/new.html.erb +17 -6
  98. data/app/views/decidim/assemblies/assemblies/_collection.html.erb +7 -0
  99. data/app/views/decidim/assemblies/assemblies/index.html.erb +20 -19
  100. data/app/views/decidim/assemblies/assemblies/index.js.erb +1 -8
  101. data/app/views/decidim/assemblies/assemblies/show.html.erb +17 -207
  102. data/app/views/decidim/assemblies/assembly_members/index.html.erb +7 -5
  103. data/app/views/decidim/assemblies/pages/user_profile/_member_of.html.erb +6 -9
  104. data/app/views/layouts/decidim/admin/_manage_assemblies.html.erb +36 -0
  105. data/app/views/layouts/decidim/admin/assemblies.html.erb +13 -11
  106. data/app/views/layouts/decidim/admin/assemblies_imports.html.erb +9 -0
  107. data/app/views/layouts/decidim/admin/assemblies_types.html.erb +17 -0
  108. data/app/views/layouts/decidim/admin/assembly.html.erb +12 -13
  109. data/app/views/layouts/decidim/assembly.html.erb +7 -14
  110. data/config/locales/ar.yml +7 -68
  111. data/config/locales/bg.yml +0 -71
  112. data/config/locales/ca.yml +60 -69
  113. data/config/locales/cs.yml +59 -66
  114. data/config/locales/de.yml +59 -68
  115. data/config/locales/el.yml +11 -61
  116. data/config/locales/en.yml +57 -66
  117. data/config/locales/es-MX.yml +57 -66
  118. data/config/locales/es-PY.yml +57 -66
  119. data/config/locales/es.yml +59 -68
  120. data/config/locales/eu.yml +57 -70
  121. data/config/locales/fi-plain.yml +58 -67
  122. data/config/locales/fi.yml +57 -66
  123. data/config/locales/fr-CA.yml +57 -66
  124. data/config/locales/fr.yml +57 -66
  125. data/config/locales/ga-IE.yml +4 -15
  126. data/config/locales/gl.yml +4 -62
  127. data/config/locales/hu.yml +33 -65
  128. data/config/locales/id-ID.yml +6 -47
  129. data/config/locales/is-IS.yml +5 -40
  130. data/config/locales/it.yml +5 -62
  131. data/config/locales/ja.yml +51 -66
  132. data/config/locales/kaa.yml +0 -8
  133. data/config/locales/ko.yml +0 -92
  134. data/config/locales/lb.yml +5 -61
  135. data/config/locales/lt.yml +40 -63
  136. data/config/locales/lv.yml +5 -57
  137. data/config/locales/nl.yml +4 -62
  138. data/config/locales/no.yml +5 -62
  139. data/config/locales/pl.yml +3 -93
  140. data/config/locales/pt-BR.yml +77 -132
  141. data/config/locales/pt.yml +5 -62
  142. data/config/locales/ro-RO.yml +20 -63
  143. data/config/locales/ru.yml +4 -44
  144. data/config/locales/sk.yml +0 -26
  145. data/config/locales/sl.yml +5 -48
  146. data/config/locales/sq-AL.yml +0 -84
  147. data/config/locales/sr-CS.yml +0 -5
  148. data/config/locales/sv.yml +18 -62
  149. data/config/locales/tr-TR.yml +8 -69
  150. data/config/locales/uk.yml +4 -44
  151. data/config/locales/zh-CN.yml +5 -60
  152. data/config/locales/zh-TW.yml +7 -63
  153. data/db/migrate/20200108123050_migrate_decidim_assembly_types.rb +1 -1
  154. data/lib/decidim/api/assemblies_type_type.rb +1 -1
  155. data/lib/decidim/api/assembly_member_type.rb +1 -1
  156. data/lib/decidim/api/assembly_type.rb +1 -1
  157. data/lib/decidim/assemblies/admin_engine.rb +21 -126
  158. data/lib/decidim/assemblies/content_blocks/registry_manager.rb +184 -0
  159. data/lib/decidim/assemblies/engine.rb +15 -21
  160. data/lib/decidim/assemblies/menu.rb +161 -0
  161. data/lib/decidim/assemblies/participatory_space.rb +7 -229
  162. data/lib/decidim/assemblies/query_extensions.rb +6 -6
  163. data/lib/decidim/assemblies/seeds.rb +161 -0
  164. data/lib/decidim/assemblies/test/factories.rb +47 -55
  165. data/lib/decidim/assemblies/version.rb +1 -1
  166. metadata +57 -54
  167. data/app/cells/decidim/assemblies/assembly_m/footer.erb +0 -15
  168. data/app/cells/decidim/assemblies/assembly_m/tags.erb +0 -1
  169. data/app/cells/decidim/assemblies/assembly_m_cell.rb +0 -77
  170. data/app/cells/decidim/assemblies/content_blocks/highlighted_assemblies/show.erb +0 -30
  171. data/app/commands/decidim/assemblies/admin/create_assembly_admin.rb +0 -54
  172. data/app/commands/decidim/assemblies/admin/destroy_assembly_admin.rb +0 -58
  173. data/app/commands/decidim/assemblies/admin/notify_role_assigned_to_assembly.rb +0 -22
  174. data/app/commands/decidim/assemblies/admin/publish_assembly.rb +0 -39
  175. data/app/commands/decidim/assemblies/admin/unpublish_assembly.rb +0 -39
  176. data/app/commands/decidim/assemblies/admin/update_assemblies_setting.rb +0 -46
  177. data/app/commands/decidim/assemblies/admin/update_assembly_admin.rb +0 -53
  178. data/app/controllers/decidim/assemblies/admin/assemblies_settings_controller.rb +0 -49
  179. data/app/controllers/decidim/assemblies/widgets_controller.rb +0 -33
  180. data/app/forms/decidim/assemblies/admin/assemblies_setting_form.rb +0 -14
  181. data/app/models/decidim/assemblies_setting.rb +0 -17
  182. data/app/queries/decidim/assemblies/admin/assembly_members.rb +0 -56
  183. data/app/views/decidim/assemblies/_filter_by_type.html.erb +0 -19
  184. data/app/views/decidim/assemblies/admin/assemblies_settings/_form.html.erb +0 -10
  185. data/app/views/decidim/assemblies/admin/assemblies_settings/edit.html.erb +0 -7
  186. data/app/views/decidim/assemblies/assemblies/_count.html.erb +0 -1
  187. data/app/views/decidim/assemblies/assemblies/_nav_breadcumb.html.erb +0 -11
  188. data/app/views/decidim/assemblies/assemblies/_parent_assemblies.html.erb +0 -15
  189. data/app/views/decidim/assemblies/assemblies/_promoted_assembly.html.erb +0 -27
  190. data/app/views/layouts/decidim/_assembly_header.html.erb +0 -27
  191. data/app/views/layouts/decidim/_assembly_navigation.html.erb +0 -24
  192. data/app/views/layouts/decidim/admin/assembly_members.html.erb +0 -18
  193. data/config/locales/he-IL.yml +0 -110
  194. data/db/seeds/Exampledocument.pdf +0 -0
  195. data/db/seeds/city.jpeg +0 -0
  196. data/db/seeds/city2.jpeg +0 -0
  197. data/db/seeds/homepage_image.jpg +0 -0
  198. data/decidim-assemblies.gemspec +0 -32
@@ -2,8 +2,6 @@
2
2
  zh-TW:
3
3
  activemodel:
4
4
  attributes:
5
- assemblies_setting:
6
- enable_organization_chart: 啟用組織圖
7
5
  assemblies_type:
8
6
  title: 標題
9
7
  assembly:
@@ -81,7 +79,7 @@ zh-TW:
81
79
  assembly:
82
80
  attributes:
83
81
  document:
84
- allowed_file_content_types: '無效文件類型。只允許使用以下副檔名的文件:%{types}'
82
+ allowed_file_content_types: '無效文件類型。僅允許以下擴展名的文件:'
85
83
  activerecord:
86
84
  models:
87
85
  decidim/assembly:
@@ -103,7 +101,6 @@ zh-TW:
103
101
  edit:
104
102
  update: 更新
105
103
  index:
106
- not_published: 未發佈
107
104
  private: 不公開
108
105
  public: 公開
109
106
  published: 已發佈
@@ -117,10 +114,6 @@ zh-TW:
117
114
  create:
118
115
  error: 複製此大會時出現問題
119
116
  success: 大會已成功複製
120
- assemblies_settings:
121
- update:
122
- error: 更新設置時出現問題
123
- success: 設置更新成功
124
117
  assemblies_types:
125
118
  create:
126
119
  error: 創建新大會類型時出現問題
@@ -153,13 +146,11 @@ zh-TW:
153
146
  destroy:
154
147
  success: 該大會的成員已成功刪除
155
148
  edit:
156
- title: 更新大會成員
157
149
  update: 更新
158
150
  index:
159
151
  assembly_members_title: 大會成員
160
152
  new:
161
153
  create: 建立
162
- title: 新大會成員
163
154
  update:
164
155
  error: 更新此大會的成員時出現問題。
165
156
  success: 此大會的成員已成功更新。
@@ -177,13 +168,11 @@ zh-TW:
177
168
  destroy:
178
169
  success: 管理員已成功從此大會中刪除
179
170
  edit:
180
- title: 更新大會管理員
181
171
  update: 更新
182
172
  index:
183
173
  assembly_admins_title: 大會管理員
184
174
  new:
185
175
  create: 建立
186
- title: 新大會管理員
187
176
  update:
188
177
  error: 更新此大會的管理員時出現問題
189
178
  success: 此大會的管理員已成功更新。
@@ -192,7 +181,6 @@ zh-TW:
192
181
  label: 大會類型
193
182
  menu:
194
183
  assemblies: 大會
195
- assemblies_settings: 設定
196
184
  assemblies_submenu:
197
185
  assembly_admins: 大會管理員
198
186
  assembly_members: 成員
@@ -201,7 +189,6 @@ zh-TW:
201
189
  attachments: 附件
202
190
  categories: 類別
203
191
  components: 元件
204
- info: 資訊
205
192
  moderations: 版主
206
193
  private_users: 私人使用者
207
194
  assemblies_types: 大會類型
@@ -287,17 +274,10 @@ zh-TW:
287
274
  select_parent_assembly: 選擇父組件
288
275
  social_handlers: 社群
289
276
  title: 基本資訊
290
- assemblies_settings:
291
- edit:
292
- update: 更新
293
- form:
294
- title: 大會的設置
277
+ visbility: 可見度
295
278
  assemblies_types:
296
279
  form:
297
280
  title: 標題
298
- assembly_imports:
299
- form:
300
- document_legend: 添加文檔
301
281
  assembly_members:
302
282
  form:
303
283
  existing_user: 現有參與者
@@ -308,11 +288,6 @@ zh-TW:
308
288
  select_a_position: 選擇一個位置
309
289
  select_user: 選擇與會者:
310
290
  user_type: 參與者類型
311
- index:
312
- filter:
313
- all: 全部
314
- filter_by: 篩選條件
315
- search: 搜尋
316
291
  content_blocks:
317
292
  highlighted_assemblies:
318
293
  max_results: 顯示的最大元素數量
@@ -320,6 +295,9 @@ zh-TW:
320
295
  accepted_types:
321
296
  json: JSON
322
297
  assemblies:
298
+ filters:
299
+ names:
300
+ all: 全部
323
301
  show:
324
302
  title: 關於這個大會
325
303
  assembly_members:
@@ -353,41 +331,20 @@ zh-TW:
353
331
  index:
354
332
  title: 大會
355
333
  last_activity:
356
- new_assembly: 新大會
334
+ new_assembly: '新大會:'
357
335
  pages:
358
- home:
359
- highlighted_assemblies:
360
- assemblies_button_title: 鏈接到顯示所有大會的大會頁面
361
336
  user_profile:
362
337
  member_of:
363
338
  member_of: 的成員
364
339
  show:
365
- area: 區域
366
340
  assembly_type: 大會類型
367
- children: 大會
368
- closing_date: 截止日期
369
- composition: 組成
370
- created_by: 創建者
371
- creation_date: 創建日期
372
- developer_group: 促銷團隊
373
341
  duration: 持續時間
374
- included_at: 包含於
375
- internal_organisation: 內部組織
376
342
  is_transparent:
377
343
  'false': 不透明
378
344
  'true': 透明
379
- local_area: 組織區域
380
- participatory_scope: 決定了什麼
381
- participatory_structure: 如何決定
382
345
  private_space: 這是一個私人大會
383
- purpose_of_action: 行動目的
384
- read_less: 閱讀減少
385
- read_more: 閱讀變多
386
- related_participatory_processes: 相關參與程序
387
- scope: 範圍
388
- social_networks: 社群網路
346
+ related_participatory_processes: 相關參與過程
389
347
  social_networks_title: 訪問大會
390
- target: 誰參加
391
348
  assembly_members:
392
349
  assembly_member:
393
350
  designated_on: 指定於
@@ -430,9 +387,6 @@ zh-TW:
430
387
  related_assemblies: 相關大會
431
388
  statistics:
432
389
  assemblies_count: 大會
433
- errors:
434
- messages:
435
- cannot_be_blank: 不能為空白
436
390
  layouts:
437
391
  decidim:
438
392
  assemblies:
@@ -440,19 +394,9 @@ zh-TW:
440
394
  more_info: 更多資訊
441
395
  take_part: 參與
442
396
  index:
443
- children: '大會: '
444
- organizational_chart: 組織結構圖
445
397
  promoted_assemblies: 關注的大會
446
- reset_chart: 重置
447
398
  order_by_assemblies:
448
399
  assemblies:
449
400
  other: "%{count} 大會"
450
- promoted_assembly:
451
- more_info: 更多資訊
452
- take_part: 參與
453
401
  assembly_navigation:
454
402
  assembly_member_menu_item: 成員
455
- assembly_menu_item: 該大會
456
- assembly_widgets:
457
- show:
458
- take_part: 參與
@@ -36,7 +36,7 @@ class MigrateDecidimAssemblyTypes < ActiveRecord::Migration[5.2]
36
36
  unless type == "others"
37
37
  assembly_type = AssemblyType.find_or_create_by(
38
38
  decidim_organization_id: organization.id,
39
- title: title
39
+ title:
40
40
  )
41
41
  end
42
42
  Assembly.where(decidim_organization_id: organization.id, assembly_type: type).each do |assembly|
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Decidim
4
4
  module Assemblies
5
- # This type represents an AssembliesType.
5
+ # This type represents an AssemblyType instance
6
6
  class AssembliesTypeType < Decidim::Api::Types::BaseObject
7
7
  description "An assemblies type"
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Decidim
4
4
  module Assemblies
5
- # This type represents a assembly.
5
+ # This type represents an AssemblyMember instance.
6
6
  class AssemblyMemberType < Decidim::Api::Types::BaseObject
7
7
  description "An assembly member"
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Decidim
4
4
  module Assemblies
5
- # This type represents a assembly.
5
+ # This type represents an Assembly.
6
6
  class AssemblyType < Decidim::Api::Types::BaseObject
7
7
  implements Decidim::Core::ParticipatorySpaceInterface
8
8
  implements Decidim::Core::AttachableInterface
@@ -4,6 +4,7 @@ require "rails"
4
4
  require "active_support/all"
5
5
 
6
6
  require "decidim/core"
7
+ require "decidim/assemblies/menu"
7
8
 
8
9
  module Decidim
9
10
  module Assemblies
@@ -16,7 +17,6 @@ module Decidim
16
17
 
17
18
  routes do
18
19
  resources :assemblies_types
19
- resource :assemblies_settings, only: [:edit, :update], controller: "assemblies_settings"
20
20
 
21
21
  resources :assemblies, param: :slug, except: [:show, :destroy] do
22
22
  resource :publish, controller: "assembly_publications", only: [:create, :destroy]
@@ -29,18 +29,22 @@ module Decidim
29
29
  end
30
30
  end
31
31
 
32
- resources :attachment_collections, controller: "assembly_attachment_collections"
33
- resources :attachments, controller: "assembly_attachments"
32
+ resources :attachment_collections, controller: "assembly_attachment_collections", except: [:show]
33
+ resources :attachments, controller: "assembly_attachments", except: [:show]
34
34
 
35
35
  resource :export, controller: "assembly_exports", only: :create
36
36
 
37
37
  collection do
38
38
  resources :imports, controller: "assembly_imports", only: [:new, :create]
39
39
  end
40
+
41
+ resource :landing_page, only: [:edit, :update], controller: "assembly_landing_page" do
42
+ resources :content_blocks, only: [:edit, :update, :destroy, :create], controller: "assembly_landing_page_content_blocks"
43
+ end
40
44
  end
41
45
 
42
46
  scope "/assemblies/:assembly_slug" do
43
- resources :categories
47
+ resources :categories, except: [:show]
44
48
 
45
49
  resources :components do
46
50
  resource :permissions, controller: "component_permissions"
@@ -88,7 +92,7 @@ module Decidim
88
92
  end
89
93
  end
90
94
 
91
- initializer "decidim_assemblies.action_controller" do |app|
95
+ initializer "decidim_assemblies_admin.action_controller" do |app|
92
96
  app.config.to_prepare do
93
97
  ActiveSupport.on_load :action_controller do
94
98
  helper Decidim::Assemblies::Admin::AssembliesAdminMenuHelper if respond_to?(:helper)
@@ -96,133 +100,24 @@ module Decidim
96
100
  end
97
101
  end
98
102
 
99
- initializer "decidim_assemblies.admin_menu" do
100
- Decidim.menu :admin_menu do |menu|
101
- menu.add_item :assemblies,
102
- I18n.t("menu.assemblies", scope: "decidim.admin"),
103
- decidim_admin_assemblies.assemblies_path,
104
- icon_name: "dial",
105
- position: 2.2,
106
- active: is_active_link?(decidim_admin_assemblies.assemblies_path) ||
107
- is_active_link?(decidim_admin_assemblies.assemblies_types_path) ||
108
- is_active_link?(decidim_admin_assemblies.edit_assemblies_settings_path),
109
- if: allowed_to?(:enter, :space_area, space_name: :assemblies)
110
- end
103
+ initializer "decidim_assemblies_admin.menu" do
104
+ Decidim::Assemblies::Menu.register_admin_menu_modules!
111
105
  end
112
106
 
113
- initializer "decidim_assemblies.assemblies_admin_attachments_menu" do
114
- Decidim.menu :assemblies_admin_attachments_menu do |menu|
115
- menu.add_item :assembly_attachment_collections,
116
- I18n.t("attachment_collections", scope: "decidim.admin.menu.assemblies_submenu"),
117
- decidim_admin_assemblies.assembly_attachment_collections_path(current_participatory_space),
118
- active: is_active_link?(decidim_admin_assemblies.assembly_attachment_collections_path(current_participatory_space)),
119
- if: allowed_to?(:read, :attachment_collection, assembly: current_participatory_space)
120
-
121
- menu.add_item :assembly_attachments,
122
- I18n.t("attachment_files", scope: "decidim.admin.menu.assemblies_submenu"),
123
- decidim_admin_assemblies.assembly_attachments_path(current_participatory_space),
124
- active: is_active_link?(decidim_admin_assemblies.assembly_attachments_path(current_participatory_space)),
125
- if: allowed_to?(:read, :attachment, assembly: current_participatory_space)
126
- end
107
+ initializer "decidim_assemblies_admin.attachments_menu" do
108
+ Decidim::Assemblies::Menu.register_assemblies_admin_attachments_menu!
127
109
  end
128
- initializer "decidim_assemblies.admin_assemblies_components_menu" do
129
- Decidim.menu :admin_assemblies_components_menu do |menu|
130
- current_participatory_space.components.each do |component|
131
- caption = decidim_escape_translated(component.name)
132
- if component.primary_stat.present?
133
- caption += content_tag(:span, component.primary_stat, class: component.primary_stat.zero? ? "component-counter component-counter--off" : "component-counter")
134
- end
135
110
 
136
- menu.add_item [component.manifest_name, component.id].join("_"),
137
- caption.html_safe,
138
- manage_component_path(component),
139
- active: is_active_link?(manage_component_path(component)) ||
140
- is_active_link?(decidim_admin_assemblies.edit_component_path(current_participatory_space, component)) ||
141
- is_active_link?(decidim_admin_assemblies.edit_component_permissions_path(current_participatory_space, component)) ||
142
- participatory_space_active_link?(component),
143
- if: component.manifest.admin_engine && user_role_config.component_is_accessible?(component.manifest_name)
144
- end
145
- end
111
+ initializer "decidim_assemblies_admin.components_menu" do
112
+ Decidim::Assemblies::Menu.register_admin_assemblies_components_menu!
146
113
  end
147
- initializer "decidim_assemblies.assemblies_admin_menu" do
148
- Decidim.menu :admin_assembly_menu do |menu|
149
- menu.add_item :edit_assembly,
150
- I18n.t("info", scope: "decidim.admin.menu.assemblies_submenu"),
151
- decidim_admin_assemblies.edit_assembly_path(current_participatory_space),
152
- position: 1,
153
- if: allowed_to?(:update, :assembly, assembly: current_participatory_space),
154
- active: is_active_link?(decidim_admin_assemblies.edit_assembly_path(current_participatory_space))
155
-
156
- menu.add_item :components,
157
- I18n.t("components", scope: "decidim.admin.menu.assemblies_submenu"),
158
- decidim_admin_assemblies.components_path(current_participatory_space),
159
- active: is_active_link?(decidim_admin_assemblies.components_path(current_participatory_space)),
160
- if: allowed_to?(:read, :component, assembly: current_participatory_space),
161
- submenu: { target_menu: :admin_assemblies_components_menu, options: { container_options: { id: "components-list" } } }
162
-
163
- menu.add_item :categories,
164
- I18n.t("categories", scope: "decidim.admin.menu.assemblies_submenu"),
165
- decidim_admin_assemblies.categories_path(current_participatory_space),
166
- if: allowed_to?(:read, :category, assembly: current_participatory_space),
167
- active: is_active_link?(decidim_admin_assemblies.categories_path(current_participatory_space))
168
-
169
- menu.add_item :attachments,
170
- I18n.t("attachments", scope: "decidim.admin.menu.assemblies_submenu"),
171
- "#",
172
- active: is_active_link?(decidim_admin_assemblies.assembly_attachment_collections_path(current_participatory_space)) ||
173
- is_active_link?(decidim_admin_assemblies.assembly_attachments_path(current_participatory_space)),
174
- if: allowed_to?(:read, :attachment_collection, assembly: current_participatory_space) ||
175
- allowed_to?(:read, :attachment, assembly: current_participatory_space),
176
- submenu: { target_menu: :assemblies_admin_attachments_menu }
177
-
178
- menu.add_item :assembly_members,
179
- I18n.t("assembly_members", scope: "decidim.admin.menu.assemblies_submenu"),
180
- decidim_admin_assemblies.assembly_members_path(current_participatory_space),
181
- if: allowed_to?(:read, :assembly_member, assembly: current_participatory_space),
182
- active: is_active_link?(decidim_admin_assemblies.assembly_members_path(current_participatory_space))
183
-
184
- menu.add_item :assembly_user_roles,
185
- I18n.t("assembly_admins", scope: "decidim.admin.menu.assemblies_submenu"),
186
- decidim_admin_assemblies.assembly_user_roles_path(current_participatory_space),
187
- if: allowed_to?(:read, :assembly_user_role, assembly: current_participatory_space),
188
- active: is_active_link?(decidim_admin_assemblies.assembly_user_roles_path(current_participatory_space))
189
-
190
- menu.add_item :participatory_space_private_users,
191
- I18n.t("private_users", scope: "decidim.admin.menu.assemblies_submenu"),
192
- decidim_admin_assemblies.participatory_space_private_users_path(current_participatory_space),
193
- if: allowed_to?(:read, :space_private_user, assembly: current_participatory_space),
194
- active: is_active_link?(decidim_admin_assemblies.participatory_space_private_users_path(current_participatory_space))
195
-
196
- menu.add_item :moderations,
197
- I18n.t("moderations", scope: "decidim.admin.menu.assemblies_submenu"),
198
- decidim_admin_assemblies.moderations_path(current_participatory_space),
199
- if: allowed_to?(:read, :moderation, assembly: current_participatory_space),
200
- active: is_active_link?(decidim_admin_assemblies.moderations_path(current_participatory_space))
201
- end
114
+
115
+ initializer "decidim_assemblies_admin.assembly_menu" do
116
+ Decidim::Assemblies::Menu.register_admin_assembly_menu!
202
117
  end
203
- initializer "decidim_assemblies.admin_assemblies_menu" do
204
- Decidim.menu :admin_assemblies_menu do |menu|
205
- menu.add_item :assemblies,
206
- I18n.t("menu.assemblies", scope: "decidim.admin"),
207
- decidim_admin_assemblies.assemblies_path,
208
- position: 1.0,
209
- active: is_active_link?(decidim_admin_assemblies.assemblies_path),
210
- if: allowed_to?(:read, :assembly_list)
211
-
212
- menu.add_item :assemblies_types,
213
- I18n.t("menu.assemblies_types", scope: "decidim.admin"),
214
- decidim_admin_assemblies.assemblies_types_path,
215
- active: is_active_link?(decidim_admin_assemblies.assemblies_types_path),
216
- position: 1.1,
217
- if: allowed_to?(:manage, :assemblies_type)
218
-
219
- menu.add_item :edit_assemblies_settings,
220
- I18n.t("menu.assemblies_settings", scope: "decidim.admin"),
221
- decidim_admin_assemblies.edit_assemblies_settings_path,
222
- active: is_active_link?(decidim_admin_assemblies.edit_assemblies_settings_path),
223
- position: 1.3,
224
- if: allowed_to?(:read, :assemblies_setting)
225
- end
118
+
119
+ initializer "decidim_assemblies_admin.assemblies_menu" do
120
+ Decidim::Assemblies::Menu.register_admin_assemblies_menu!
226
121
  end
227
122
  end
228
123
  end
@@ -0,0 +1,184 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Assemblies
5
+ module ContentBlocks
6
+ class RegistryManager
7
+ def self.register!
8
+ Decidim.content_blocks.register(:homepage, :highlighted_assemblies) do |content_block|
9
+ content_block.cell = "decidim/assemblies/content_blocks/highlighted_assemblies"
10
+ content_block.public_name_key = "decidim.assemblies.content_blocks.highlighted_assemblies.name"
11
+ content_block.settings_form_cell = "decidim/assemblies/content_blocks/highlighted_assemblies_settings_form"
12
+
13
+ content_block.settings do |settings|
14
+ settings.attribute :max_results, type: :integer, default: 6
15
+ end
16
+ end
17
+
18
+ Decidim.content_blocks.register(:assembly_homepage, :html) do |content_block|
19
+ content_block.cell = "decidim/content_blocks/html"
20
+ content_block.public_name_key = "decidim.content_blocks.html.name"
21
+ content_block.settings_form_cell = "decidim/content_blocks/html_settings_form"
22
+
23
+ content_block.settings do |settings|
24
+ settings.attribute :html_content, type: :text, translated: true
25
+ end
26
+ end
27
+
28
+ Decidim.content_blocks.register(:assembly_homepage, :hero) do |content_block|
29
+ content_block.cell = "decidim/content_blocks/participatory_space_hero"
30
+ content_block.public_name_key = "decidim.content_blocks.hero.name"
31
+ end
32
+
33
+ Decidim.content_blocks.register(:assembly_homepage, :announcement) do |content_block|
34
+ content_block.cell = "decidim/content_blocks/participatory_space_announcement"
35
+ content_block.public_name_key = "decidim.content_blocks.announcement.name"
36
+ end
37
+
38
+ Decidim.content_blocks.register(:assembly_homepage, :main_data) do |content_block|
39
+ content_block.cell = "decidim/assemblies/content_blocks/main_data"
40
+ content_block.public_name_key = "decidim.content_blocks.main_data.name"
41
+ content_block.default!
42
+ end
43
+
44
+ Decidim.content_blocks.register(:assembly_homepage, :extra_data) do |content_block|
45
+ content_block.cell = "decidim/assemblies/content_blocks/extra_data"
46
+ content_block.public_name_key = "decidim.assemblies.content_blocks.extra_data.name"
47
+ end
48
+
49
+ Decidim.content_blocks.register(:assembly_homepage, :metadata) do |content_block|
50
+ content_block.cell = "decidim/assemblies/content_blocks/metadata"
51
+ content_block.public_name_key = "decidim.content_blocks.metadata.name"
52
+ content_block.default!
53
+ end
54
+
55
+ Decidim.content_blocks.register(:assembly_homepage, :dates_metadata) do |content_block|
56
+ content_block.cell = "decidim/assemblies/content_blocks/dates_metadata"
57
+ content_block.public_name_key = "decidim.assemblies.content_blocks.dates_metadata.name"
58
+ end
59
+
60
+ Decidim.content_blocks.register(:assembly_homepage, :social_networks_metadata) do |content_block|
61
+ content_block.cell = "decidim/content_blocks/participatory_space_social_networks"
62
+ content_block.public_name_key = "decidim.content_blocks.social_networks_metadata.name"
63
+ end
64
+
65
+ Decidim.content_blocks.register(:assembly_homepage, :last_activity) do |content_block|
66
+ content_block.cell = "decidim/content_blocks/participatory_space_last_activity"
67
+ content_block.public_name_key = "decidim.content_blocks.last_activity.name"
68
+ content_block.settings_form_cell = "decidim/content_blocks/last_activity_settings_form"
69
+ content_block.settings do |settings|
70
+ settings.attribute :max_last_activity_users, type: :integer, default: Decidim::ContentBlocks::ParticipatorySpaceLastActivityCell::DEFAULT_MAX_LAST_ACTIVITY_USERS
71
+ end
72
+ end
73
+
74
+ Decidim.content_blocks.register(:assembly_homepage, :stats) do |content_block|
75
+ content_block.cell = "decidim/assemblies/content_blocks/stats"
76
+ content_block.public_name_key = "decidim.content_blocks.participatory_space_stats.name"
77
+ end
78
+
79
+ Decidim.content_blocks.register(:assembly_homepage, :related_assemblies) do |content_block|
80
+ content_block.cell = "decidim/assemblies/content_blocks/children_assemblies"
81
+ content_block.settings_form_cell = "decidim/assemblies/content_blocks/highlighted_assemblies_settings_form"
82
+ content_block.public_name_key = "decidim.assemblies.content_blocks.related_assemblies.name"
83
+
84
+ content_block.settings do |settings|
85
+ settings.attribute :max_results, type: :integer, default: 6
86
+ end
87
+ end
88
+
89
+ Decidim.content_blocks.register(:assembly_homepage, :related_documents) do |content_block|
90
+ content_block.cell = "decidim/content_blocks/participatory_space_documents"
91
+ content_block.public_name_key = "decidim.application.documents.related_documents"
92
+ end
93
+
94
+ Decidim.content_blocks.register(:assembly_homepage, :related_images) do |content_block|
95
+ content_block.cell = "decidim/content_blocks/participatory_space_images"
96
+ content_block.public_name_key = "decidim.application.photos.related_photos"
97
+ end
98
+
99
+ register_highlighted_meetings
100
+ register_highlighted_posts
101
+ register_highlighted_proposals
102
+ register_highlighted_results
103
+ register_related_processes
104
+ end
105
+
106
+ def self.register_highlighted_meetings
107
+ return unless Decidim.module_installed?(:meetings)
108
+
109
+ Decidim.content_blocks.register(:assembly_homepage, :highlighted_meetings) do |content_block|
110
+ content_block.cell = "decidim/meetings/content_blocks/highlighted_meetings"
111
+ content_block.settings_form_cell = "decidim/content_blocks/highlighted_elements_for_component_settings_form"
112
+ content_block.public_name_key = "decidim.meetings.content_blocks.upcoming_meetings.name"
113
+ content_block.component_manifest_name = "meetings"
114
+
115
+ content_block.settings do |settings|
116
+ settings.attribute :component_id, type: :select, default: nil
117
+ end
118
+ end
119
+ end
120
+
121
+ def self.register_highlighted_posts
122
+ return unless Decidim.module_installed?(:blogs)
123
+
124
+ Decidim.content_blocks.register(:assembly_homepage, :highlighted_posts) do |content_block|
125
+ content_block.cell = "decidim/blogs/content_blocks/highlighted_posts"
126
+ content_block.settings_form_cell = "decidim/content_blocks/highlighted_elements_for_component_settings_form"
127
+ content_block.public_name_key = "decidim.blogs.content_blocks.highlighted_posts.name"
128
+ content_block.component_manifest_name = "blogs"
129
+
130
+ content_block.settings do |settings|
131
+ settings.attribute :component_id, type: :select, default: nil
132
+ end
133
+ end
134
+ end
135
+
136
+ def self.register_highlighted_proposals
137
+ return unless Decidim.module_installed?(:proposals)
138
+
139
+ Decidim.content_blocks.register(:assembly_homepage, :highlighted_proposals) do |content_block|
140
+ content_block.cell = "decidim/proposals/content_blocks/highlighted_proposals"
141
+ content_block.settings_form_cell = "decidim/content_blocks/highlighted_elements_for_component_settings_form"
142
+ content_block.public_name_key = "decidim.proposals.content_blocks.highlighted_proposals.name"
143
+ content_block.component_manifest_name = "proposals"
144
+
145
+ content_block.settings do |settings|
146
+ settings.attribute :order, type: :enum, default: "recent", choices: %w(random recent)
147
+ settings.attribute :component_id, type: :select, default: nil
148
+ end
149
+ end
150
+ end
151
+
152
+ def self.register_highlighted_results
153
+ return unless Decidim.module_installed?(:accountability)
154
+
155
+ Decidim.content_blocks.register(:assembly_homepage, :highlighted_results) do |content_block|
156
+ content_block.cell = "decidim/accountability/content_blocks/highlighted_results"
157
+ content_block.settings_form_cell = "decidim/content_blocks/highlighted_elements_for_component_settings_form"
158
+ content_block.public_name_key = "decidim.accountability.content_blocks.highlighted_results.results"
159
+ content_block.component_manifest_name = "accountability"
160
+
161
+ content_block.settings do |settings|
162
+ settings.attribute :order, type: :enum, default: "random", choices: %w(random recent)
163
+ settings.attribute :component_id, type: :select, default: nil
164
+ end
165
+ end
166
+ end
167
+
168
+ def self.register_related_processes
169
+ return unless Decidim.module_installed?(:participatory_processes)
170
+
171
+ Decidim.content_blocks.register(:assembly_homepage, :related_processes) do |content_block|
172
+ content_block.cell = "decidim/participatory_processes/content_blocks/related_processes"
173
+ content_block.settings_form_cell = "decidim/participatory_processes/content_blocks/highlighted_processes_settings_form"
174
+ content_block.public_name_key = "decidim.participatory_processes.content_blocks.related_processes.name"
175
+
176
+ content_block.settings do |settings|
177
+ settings.attribute :max_results, type: :integer, default: 6
178
+ end
179
+ end
180
+ end
181
+ end
182
+ end
183
+ end
184
+ end