decidim-assemblies 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 (194) 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/role_assigned_to_assembly_event.rb +6 -6
  51. data/app/forms/decidim/assemblies/admin/assembly_copy_form.rb +1 -1
  52. data/app/forms/decidim/assemblies/admin/assembly_form.rb +1 -1
  53. data/app/forms/decidim/assemblies/admin/assembly_import_form.rb +1 -1
  54. data/app/forms/decidim/assemblies/admin/assembly_user_role_form.rb +2 -18
  55. data/app/helpers/decidim/assemblies/admin/assembly_members_helper.rb +11 -0
  56. data/app/helpers/decidim/assemblies/application_helper.rb +12 -0
  57. data/app/helpers/decidim/assemblies/assemblies_helper.rb +20 -18
  58. data/app/helpers/decidim/assemblies/filter_assemblies_helper.rb +15 -30
  59. data/app/models/decidim/assembly.rb +6 -5
  60. data/app/models/decidim/assembly_user_role.rb +5 -33
  61. data/app/packs/entrypoints/decidim_assemblies.js +0 -1
  62. data/app/packs/src/decidim/assemblies/admin/assemblies.js +2 -2
  63. data/app/packs/src/decidim/assemblies/orgchart.js +0 -701
  64. data/app/permissions/decidim/assemblies/permissions.rb +14 -15
  65. data/app/presenters/decidim/assemblies/admin_log/assemblies_setting_presenter.rb +2 -2
  66. data/app/presenters/decidim/assemblies/admin_log/assemblies_type_presenter.rb +2 -2
  67. data/app/presenters/decidim/assemblies/admin_log/assembly_member_presenter.rb +2 -2
  68. data/app/presenters/decidim/assemblies/admin_log/assembly_presenter.rb +2 -2
  69. data/app/presenters/decidim/assemblies/admin_log/assembly_user_role_presenter.rb +2 -2
  70. data/app/presenters/decidim/assemblies/assembly_presenter.rb +38 -0
  71. data/app/presenters/decidim/assemblies/assembly_stats_presenter.rb +2 -41
  72. data/app/presenters/decidim/assembly_member_presenter.rb +18 -4
  73. data/app/queries/decidim/assemblies/admin/admin_users.rb +1 -1
  74. data/app/queries/decidim/assemblies/assemblies_with_user_role.rb +2 -2
  75. data/app/serializers/decidim/assemblies/assembly_importer.rb +3 -3
  76. data/app/serializers/decidim/assemblies/assembly_serializer.rb +1 -1
  77. data/app/views/decidim/assemblies/admin/assemblies/_form.html.erb +218 -176
  78. data/app/views/decidim/assemblies/admin/assemblies/edit.html.erb +25 -11
  79. data/app/views/decidim/assemblies/admin/assemblies/index.html.erb +105 -115
  80. data/app/views/decidim/assemblies/admin/assemblies/new.html.erb +16 -9
  81. data/app/views/decidim/assemblies/admin/assemblies_types/_form.html.erb +6 -8
  82. data/app/views/decidim/assemblies/admin/assemblies_types/edit.html.erb +11 -5
  83. data/app/views/decidim/assemblies/admin/assemblies_types/index.html.erb +34 -35
  84. data/app/views/decidim/assemblies/admin/assemblies_types/new.html.erb +16 -6
  85. data/app/views/decidim/assemblies/admin/assembly_copies/_form.html.erb +12 -20
  86. data/app/views/decidim/assemblies/admin/assembly_copies/new.html.erb +17 -5
  87. data/app/views/decidim/assemblies/admin/assembly_imports/_form.html.erb +28 -37
  88. data/app/views/decidim/assemblies/admin/assembly_imports/new.html.erb +17 -5
  89. data/app/views/decidim/assemblies/admin/assembly_members/_form.html.erb +45 -49
  90. data/app/views/decidim/assemblies/admin/assembly_members/edit.html.erb +17 -6
  91. data/app/views/decidim/assemblies/admin/assembly_members/index.html.erb +51 -88
  92. data/app/views/decidim/assemblies/admin/assembly_members/new.html.erb +17 -6
  93. data/app/views/decidim/assemblies/admin/assembly_user_roles/_form.html.erb +14 -18
  94. data/app/views/decidim/assemblies/admin/assembly_user_roles/edit.html.erb +17 -6
  95. data/app/views/decidim/assemblies/admin/assembly_user_roles/index.html.erb +54 -55
  96. data/app/views/decidim/assemblies/admin/assembly_user_roles/new.html.erb +17 -6
  97. data/app/views/decidim/assemblies/assemblies/_collection.html.erb +7 -0
  98. data/app/views/decidim/assemblies/assemblies/index.html.erb +20 -19
  99. data/app/views/decidim/assemblies/assemblies/index.js.erb +1 -8
  100. data/app/views/decidim/assemblies/assemblies/show.html.erb +17 -207
  101. data/app/views/decidim/assemblies/assembly_members/index.html.erb +7 -5
  102. data/app/views/decidim/assemblies/pages/user_profile/_member_of.html.erb +6 -9
  103. data/app/views/layouts/decidim/admin/_manage_assemblies.html.erb +36 -0
  104. data/app/views/layouts/decidim/admin/assemblies.html.erb +13 -11
  105. data/app/views/layouts/decidim/admin/assemblies_imports.html.erb +9 -0
  106. data/app/views/layouts/decidim/admin/assemblies_types.html.erb +17 -0
  107. data/app/views/layouts/decidim/admin/assembly.html.erb +12 -13
  108. data/app/views/layouts/decidim/assembly.html.erb +7 -14
  109. data/config/locales/ar.yml +6 -67
  110. data/config/locales/bg.yml +0 -4
  111. data/config/locales/ca.yml +57 -66
  112. data/config/locales/cs.yml +59 -66
  113. data/config/locales/de.yml +57 -66
  114. data/config/locales/el.yml +10 -61
  115. data/config/locales/en.yml +57 -66
  116. data/config/locales/es-MX.yml +57 -66
  117. data/config/locales/es-PY.yml +57 -66
  118. data/config/locales/es.yml +57 -66
  119. data/config/locales/eu.yml +56 -69
  120. data/config/locales/fi-plain.yml +57 -66
  121. data/config/locales/fi.yml +57 -66
  122. data/config/locales/fr-CA.yml +57 -66
  123. data/config/locales/fr.yml +57 -66
  124. data/config/locales/ga-IE.yml +4 -15
  125. data/config/locales/gl.yml +3 -62
  126. data/config/locales/hu.yml +33 -63
  127. data/config/locales/id-ID.yml +4 -46
  128. data/config/locales/is-IS.yml +4 -40
  129. data/config/locales/it.yml +4 -62
  130. data/config/locales/ja.yml +51 -66
  131. data/config/locales/kaa.yml +0 -8
  132. data/config/locales/lb.yml +4 -60
  133. data/config/locales/lt.yml +39 -63
  134. data/config/locales/lv.yml +4 -57
  135. data/config/locales/nl.yml +3 -62
  136. data/config/locales/no.yml +4 -62
  137. data/config/locales/pl.yml +3 -89
  138. data/config/locales/pt-BR.yml +27 -70
  139. data/config/locales/pt.yml +4 -62
  140. data/config/locales/ro-RO.yml +19 -63
  141. data/config/locales/ru.yml +4 -44
  142. data/config/locales/sk.yml +0 -25
  143. data/config/locales/sl.yml +4 -48
  144. data/config/locales/sr-CS.yml +0 -5
  145. data/config/locales/sv.yml +17 -62
  146. data/config/locales/tr-TR.yml +6 -68
  147. data/config/locales/uk.yml +4 -44
  148. data/config/locales/zh-CN.yml +4 -60
  149. data/config/locales/zh-TW.yml +5 -62
  150. data/db/migrate/20200108123050_migrate_decidim_assembly_types.rb +1 -1
  151. data/lib/decidim/api/assemblies_type_type.rb +1 -1
  152. data/lib/decidim/api/assembly_member_type.rb +1 -1
  153. data/lib/decidim/api/assembly_type.rb +1 -1
  154. data/lib/decidim/assemblies/admin_engine.rb +21 -126
  155. data/lib/decidim/assemblies/content_blocks/registry_manager.rb +184 -0
  156. data/lib/decidim/assemblies/engine.rb +15 -21
  157. data/lib/decidim/assemblies/menu.rb +161 -0
  158. data/lib/decidim/assemblies/participatory_space.rb +7 -229
  159. data/lib/decidim/assemblies/query_extensions.rb +6 -6
  160. data/lib/decidim/assemblies/seeds.rb +161 -0
  161. data/lib/decidim/assemblies/test/factories.rb +22 -11
  162. data/lib/decidim/assemblies/version.rb +1 -1
  163. metadata +53 -49
  164. data/app/cells/decidim/assemblies/assembly_m/footer.erb +0 -15
  165. data/app/cells/decidim/assemblies/assembly_m/tags.erb +0 -1
  166. data/app/cells/decidim/assemblies/assembly_m_cell.rb +0 -77
  167. data/app/cells/decidim/assemblies/content_blocks/highlighted_assemblies/show.erb +0 -30
  168. data/app/commands/decidim/assemblies/admin/create_assembly_admin.rb +0 -54
  169. data/app/commands/decidim/assemblies/admin/destroy_assembly_admin.rb +0 -58
  170. data/app/commands/decidim/assemblies/admin/notify_role_assigned_to_assembly.rb +0 -22
  171. data/app/commands/decidim/assemblies/admin/publish_assembly.rb +0 -39
  172. data/app/commands/decidim/assemblies/admin/unpublish_assembly.rb +0 -39
  173. data/app/commands/decidim/assemblies/admin/update_assemblies_setting.rb +0 -46
  174. data/app/commands/decidim/assemblies/admin/update_assembly_admin.rb +0 -53
  175. data/app/controllers/decidim/assemblies/admin/assemblies_settings_controller.rb +0 -49
  176. data/app/controllers/decidim/assemblies/widgets_controller.rb +0 -23
  177. data/app/forms/decidim/assemblies/admin/assemblies_setting_form.rb +0 -14
  178. data/app/models/decidim/assemblies_setting.rb +0 -17
  179. data/app/queries/decidim/assemblies/admin/assembly_members.rb +0 -56
  180. data/app/views/decidim/assemblies/_filter_by_type.html.erb +0 -19
  181. data/app/views/decidim/assemblies/admin/assemblies_settings/_form.html.erb +0 -10
  182. data/app/views/decidim/assemblies/admin/assemblies_settings/edit.html.erb +0 -7
  183. data/app/views/decidim/assemblies/assemblies/_count.html.erb +0 -1
  184. data/app/views/decidim/assemblies/assemblies/_nav_breadcumb.html.erb +0 -11
  185. data/app/views/decidim/assemblies/assemblies/_parent_assemblies.html.erb +0 -15
  186. data/app/views/decidim/assemblies/assemblies/_promoted_assembly.html.erb +0 -27
  187. data/app/views/layouts/decidim/_assembly_header.html.erb +0 -27
  188. data/app/views/layouts/decidim/_assembly_navigation.html.erb +0 -24
  189. data/app/views/layouts/decidim/admin/assembly_members.html.erb +0 -18
  190. data/config/environment.rb +0 -3
  191. data/db/seeds/Exampledocument.pdf +0 -0
  192. data/db/seeds/city.jpeg +0 -0
  193. data/db/seeds/city2.jpeg +0 -0
  194. data/db/seeds/homepage_image.jpg +0 -0
@@ -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: 大會類型
@@ -288,17 +275,9 @@ zh-TW:
288
275
  social_handlers: 社群
289
276
  title: 基本資訊
290
277
  visbility: 可見度
291
- assemblies_settings:
292
- edit:
293
- update: 更新
294
- form:
295
- title: 大會的設置
296
278
  assemblies_types:
297
279
  form:
298
280
  title: 標題
299
- assembly_imports:
300
- form:
301
- document_legend: 添加文檔
302
281
  assembly_members:
303
282
  form:
304
283
  existing_user: 現有參與者
@@ -309,11 +288,6 @@ zh-TW:
309
288
  select_a_position: 選擇一個位置
310
289
  select_user: 選擇與會者:
311
290
  user_type: 參與者類型
312
- index:
313
- filter:
314
- all: 全部
315
- filter_by: 篩選條件
316
- search: 搜尋
317
291
  content_blocks:
318
292
  highlighted_assemblies:
319
293
  max_results: 顯示的最大元素數量
@@ -321,6 +295,9 @@ zh-TW:
321
295
  accepted_types:
322
296
  json: JSON
323
297
  assemblies:
298
+ filters:
299
+ names:
300
+ all: 全部
324
301
  show:
325
302
  title: 關於這個大會
326
303
  assembly_members:
@@ -354,41 +331,20 @@ zh-TW:
354
331
  index:
355
332
  title: 大會
356
333
  last_activity:
357
- new_assembly: 新大會
334
+ new_assembly: '新大會:'
358
335
  pages:
359
- home:
360
- highlighted_assemblies:
361
- assemblies_button_title: 鏈接到顯示所有大會的大會頁面
362
336
  user_profile:
363
337
  member_of:
364
338
  member_of: 的成員
365
339
  show:
366
- area: 區域
367
340
  assembly_type: 大會類型
368
- children: 大會
369
- closing_date: 截止日期
370
- composition: 組成
371
- created_by: 創建者
372
- creation_date: 創建日期
373
- developer_group: 促銷團隊
374
341
  duration: 持續時間
375
- included_at: 包含於
376
- internal_organisation: 內部組織
377
342
  is_transparent:
378
343
  'false': 不透明
379
344
  'true': 透明
380
- local_area: 組織區域
381
- participatory_scope: 決定了什麼
382
- participatory_structure: 如何決定
383
345
  private_space: 這是一個私人大會
384
- purpose_of_action: 行動目的
385
- read_less: 閱讀減少
386
- read_more: 閱讀變多
387
346
  related_participatory_processes: 相關參與過程
388
- scope: 範圍
389
- social_networks: 社群網路
390
347
  social_networks_title: 訪問大會
391
- target: 誰參加
392
348
  assembly_members:
393
349
  assembly_member:
394
350
  designated_on: 指定於
@@ -431,9 +387,6 @@ zh-TW:
431
387
  related_assemblies: 相關大會
432
388
  statistics:
433
389
  assemblies_count: 大會
434
- errors:
435
- messages:
436
- cannot_be_blank: 不能為空白
437
390
  layouts:
438
391
  decidim:
439
392
  assemblies:
@@ -441,19 +394,9 @@ zh-TW:
441
394
  more_info: 更多資訊
442
395
  take_part: 參與
443
396
  index:
444
- children: '大會: '
445
- organizational_chart: 組織結構圖
446
397
  promoted_assemblies: 關注的大會
447
- reset_chart: 重置
448
398
  order_by_assemblies:
449
399
  assemblies:
450
400
  other: "%{count} 大會"
451
- promoted_assembly:
452
- more_info: 更多資訊
453
- take_part: 參與
454
401
  assembly_navigation:
455
402
  assembly_member_menu_item: 成員
456
- assembly_menu_item: 該大會
457
- assembly_widgets:
458
- show:
459
- 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 = translated_attribute(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