decidim-participatory_processes 0.27.9 → 0.28.0.rc4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (254) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/app/cells/decidim/participatory_process_groups/content_block_cell.rb +5 -1
  4. data/app/cells/decidim/participatory_process_groups/content_blocks/extra_data/recent_users.erb +1 -0
  5. data/app/cells/decidim/participatory_process_groups/content_blocks/extra_data_cell.rb +71 -0
  6. data/app/cells/decidim/participatory_process_groups/content_blocks/main_data/content.erb +30 -0
  7. data/app/cells/decidim/participatory_process_groups/content_blocks/main_data_cell.rb +77 -0
  8. data/app/cells/decidim/participatory_process_groups/content_blocks/related_processes_cell.rb +47 -0
  9. data/app/cells/decidim/participatory_process_groups/content_blocks/statistics_cell.rb +2 -2
  10. data/app/cells/decidim/participatory_process_groups/process_filters_cell.rb +4 -4
  11. data/app/cells/decidim/participatory_processes/content_block_cell.rb +21 -0
  12. data/app/cells/decidim/participatory_processes/content_blocks/extra_data/active_step.erb +1 -0
  13. data/app/cells/decidim/participatory_processes/content_blocks/extra_data_cell.rb +60 -0
  14. data/app/cells/decidim/participatory_processes/content_blocks/hero_cell.rb +29 -0
  15. data/app/cells/decidim/participatory_processes/content_blocks/highlighted_processes_cell.rb +14 -27
  16. data/app/cells/decidim/participatory_processes/content_blocks/highlighted_processes_settings_form/show.erb +1 -1
  17. data/app/cells/decidim/participatory_processes/content_blocks/main_data_cell.rb +34 -0
  18. data/app/cells/decidim/participatory_processes/content_blocks/metadata_cell.rb +23 -0
  19. data/app/cells/decidim/participatory_processes/content_blocks/metrics_cell.rb +25 -0
  20. data/app/cells/decidim/participatory_processes/content_blocks/processes_settings_form/show.erb +3 -0
  21. data/app/cells/decidim/participatory_processes/content_blocks/processes_settings_form_cell.rb +28 -0
  22. data/app/cells/decidim/participatory_processes/content_blocks/related_processes/content.erb +1 -0
  23. data/app/cells/decidim/participatory_processes/content_blocks/related_processes_cell.rb +53 -0
  24. data/app/cells/decidim/participatory_processes/content_blocks/stats_cell.rb +17 -0
  25. data/app/cells/decidim/participatory_processes/filtered_participatory_processes_cell.rb +1 -1
  26. data/app/cells/decidim/participatory_processes/process_cell.rb +2 -2
  27. data/app/cells/decidim/participatory_processes/process_dropdown_metadata/metadata.erb +22 -0
  28. data/app/cells/decidim/participatory_processes/process_dropdown_metadata_cell.rb +39 -0
  29. data/app/cells/decidim/participatory_processes/process_filters/show.erb +4 -5
  30. data/app/cells/decidim/participatory_processes/process_filters/type_filter.erb +1 -1
  31. data/app/cells/decidim/participatory_processes/process_filters_cell.rb +6 -6
  32. data/app/cells/decidim/participatory_processes/process_g_cell.rb +31 -0
  33. data/app/cells/decidim/participatory_processes/process_group_cell.rb +2 -2
  34. data/app/cells/decidim/participatory_processes/process_group_g_cell.rb +23 -0
  35. data/app/cells/decidim/participatory_processes/process_group_metadata_cell.rb +46 -0
  36. data/app/cells/decidim/participatory_processes/process_group_s_cell.rb +5 -13
  37. data/app/cells/decidim/participatory_processes/process_metadata_cell.rb +44 -0
  38. data/app/cells/decidim/participatory_processes/process_metadata_g_cell.rb +15 -0
  39. data/app/cells/decidim/participatory_processes/process_s_cell.rb +5 -25
  40. data/app/cells/decidim/participatory_processes/process_step/show.erb +48 -0
  41. data/app/cells/decidim/participatory_processes/process_step_cell.rb +30 -0
  42. data/app/cells/decidim/participatory_processes/processes/show.erb +16 -0
  43. data/app/cells/decidim/participatory_processes/processes_cell.rb +24 -0
  44. data/app/commands/decidim/participatory_processes/admin/activate_participatory_process_step.rb +1 -1
  45. data/app/commands/decidim/participatory_processes/admin/copy_participatory_process.rb +2 -2
  46. data/app/commands/decidim/participatory_processes/admin/create_participatory_process.rb +3 -1
  47. data/app/commands/decidim/participatory_processes/admin/create_participatory_process_group.rb +4 -2
  48. data/app/commands/decidim/participatory_processes/admin/create_participatory_process_step.rb +1 -1
  49. data/app/commands/decidim/participatory_processes/admin/create_participatory_process_type.rb +1 -1
  50. data/app/commands/decidim/participatory_processes/admin/destroy_participatory_process_group.rb +1 -1
  51. data/app/commands/decidim/participatory_processes/admin/destroy_participatory_process_step.rb +1 -1
  52. data/app/commands/decidim/participatory_processes/admin/destroy_participatory_process_type.rb +1 -1
  53. data/app/commands/decidim/participatory_processes/admin/import_participatory_process.rb +1 -1
  54. data/app/commands/decidim/participatory_processes/admin/reorder_participatory_process_steps.rb +1 -1
  55. data/app/commands/decidim/participatory_processes/admin/update_participatory_process.rb +1 -1
  56. data/app/commands/decidim/participatory_processes/admin/update_participatory_process_group.rb +2 -2
  57. data/app/commands/decidim/participatory_processes/admin/update_participatory_process_step.rb +1 -1
  58. data/app/commands/decidim/participatory_processes/admin/update_participatory_process_type.rb +1 -1
  59. data/app/constraints/decidim/participatory_processes/current_participatory_process.rb +1 -1
  60. data/app/controllers/decidim/participatory_processes/admin/application_controller.rb +29 -0
  61. data/app/controllers/decidim/participatory_processes/admin/categories_controller.rb +2 -0
  62. data/app/controllers/decidim/participatory_processes/admin/concerns/participatory_process_admin.rb +3 -1
  63. data/app/controllers/decidim/participatory_processes/admin/moderations/reports_controller.rb +1 -1
  64. data/app/controllers/decidim/participatory_processes/admin/moderations_controller.rb +1 -1
  65. data/app/controllers/decidim/participatory_processes/admin/participatory_process_attachment_collections_controller.rb +5 -0
  66. data/app/controllers/decidim/participatory_processes/admin/participatory_process_attachments_controller.rb +5 -0
  67. data/app/controllers/decidim/participatory_processes/admin/participatory_process_group_landing_page_content_blocks_controller.rb +1 -5
  68. data/app/controllers/decidim/participatory_processes/admin/participatory_process_group_landing_page_controller.rb +24 -7
  69. data/app/controllers/decidim/participatory_processes/admin/participatory_process_groups_controller.rb +16 -0
  70. data/app/controllers/decidim/participatory_processes/admin/participatory_process_imports_controller.rb +14 -0
  71. data/app/controllers/decidim/participatory_processes/admin/participatory_process_landing_page_content_blocks_controller.rb +37 -0
  72. data/app/controllers/decidim/participatory_processes/admin/participatory_process_landing_page_controller.rb +37 -0
  73. data/app/controllers/decidim/participatory_processes/admin/participatory_process_publications_controller.rb +9 -29
  74. data/app/controllers/decidim/participatory_processes/admin/participatory_process_step_activations_controller.rb +1 -1
  75. data/app/controllers/decidim/participatory_processes/admin/participatory_process_steps_controller.rb +16 -4
  76. data/app/controllers/decidim/participatory_processes/admin/participatory_process_types_controller.rb +19 -0
  77. data/app/controllers/decidim/participatory_processes/admin/participatory_process_user_roles_controller.rb +8 -91
  78. data/app/controllers/decidim/participatory_processes/admin/participatory_processes_controller.rb +3 -0
  79. data/app/controllers/decidim/participatory_processes/participatory_process_groups_controller.rb +14 -1
  80. data/app/controllers/decidim/participatory_processes/participatory_processes_controller.rb +19 -4
  81. data/app/events/decidim/participatory_process_role_assigned_event.rb +6 -6
  82. data/app/events/decidim/participatory_process_step_activated_event.rb +5 -4
  83. data/app/events/decidim/participatory_process_step_changed_event.rb +5 -4
  84. data/app/forms/decidim/participatory_processes/admin/participatory_process_copy_form.rb +1 -1
  85. data/app/forms/decidim/participatory_processes/admin/participatory_process_form.rb +1 -1
  86. data/app/forms/decidim/participatory_processes/admin/participatory_process_import_form.rb +1 -1
  87. data/app/forms/decidim/participatory_processes/admin/participatory_process_step_form.rb +2 -2
  88. data/app/forms/decidim/participatory_processes/admin/participatory_process_user_role_form.rb +2 -18
  89. data/app/helpers/decidim/participatory_processes/admin/participatory_process_helper.rb +1 -0
  90. data/app/helpers/decidim/participatory_processes/application_helper.rb +5 -0
  91. data/app/helpers/decidim/participatory_processes/participatory_process_helper.rb +37 -9
  92. data/app/helpers/decidim/participatory_processes/participatory_space_content_blocks_helper.rb +17 -0
  93. data/app/jobs/decidim/participatory_processes/change_active_step_job.rb +35 -0
  94. data/app/models/decidim/participatory_process.rb +5 -5
  95. data/app/models/decidim/participatory_process_group.rb +4 -0
  96. data/app/models/decidim/participatory_process_user_role.rb +5 -34
  97. data/app/packs/entrypoints/decidim_participatory_processes.js +0 -2
  98. data/app/packs/src/decidim/participatory_processes/admin/participatory_processes.js +2 -2
  99. data/app/permissions/decidim/participatory_processes/permissions.rb +11 -15
  100. data/app/presenters/decidim/participatory_processes/admin_log/participatory_process_group_presenter.rb +2 -2
  101. data/app/presenters/decidim/participatory_processes/admin_log/participatory_process_presenter.rb +2 -2
  102. data/app/presenters/decidim/participatory_processes/admin_log/participatory_process_type_presenter.rb +2 -2
  103. data/app/presenters/decidim/participatory_processes/admin_log/participatory_process_user_role_presenter.rb +2 -2
  104. data/app/presenters/decidim/participatory_processes/admin_log/step_presenter.rb +2 -2
  105. data/app/presenters/decidim/participatory_processes/participatory_process_group_stats_presenter.rb +4 -40
  106. data/app/presenters/decidim/participatory_processes/participatory_process_metric_charts_presenter.rb +0 -68
  107. data/app/presenters/decidim/participatory_processes/participatory_process_presenter.rb +6 -0
  108. data/app/presenters/decidim/participatory_processes/participatory_process_stats_presenter.rb +3 -42
  109. data/app/queries/decidim/participatory_processes/admin/admin_users.rb +1 -1
  110. data/app/queries/decidim/participatory_processes/admin/moderators.rb +1 -1
  111. data/app/serializers/decidim/participatory_processes/participatory_process_importer.rb +4 -4
  112. data/app/views/decidim/participatory_processes/admin/participatory_process_copies/_form.html.erb +24 -29
  113. data/app/views/decidim/participatory_processes/admin/participatory_process_copies/new.html.erb +16 -5
  114. data/app/views/decidim/participatory_processes/admin/participatory_process_groups/_form.html.erb +72 -50
  115. data/app/views/decidim/participatory_processes/admin/participatory_process_groups/edit.html.erb +15 -9
  116. data/app/views/decidim/participatory_processes/admin/participatory_process_groups/index.html.erb +49 -54
  117. data/app/views/decidim/participatory_processes/admin/participatory_process_groups/new.html.erb +28 -5
  118. data/app/views/decidim/participatory_processes/admin/participatory_process_imports/_form.html.erb +33 -39
  119. data/app/views/decidim/participatory_processes/admin/participatory_process_imports/new.html.erb +18 -5
  120. data/app/views/decidim/participatory_processes/admin/participatory_process_steps/_form.html.erb +18 -25
  121. data/app/views/decidim/participatory_processes/admin/participatory_process_steps/edit.html.erb +16 -5
  122. data/app/views/decidim/participatory_processes/admin/participatory_process_steps/index.html.erb +54 -54
  123. data/app/views/decidim/participatory_processes/admin/participatory_process_steps/new.html.erb +18 -5
  124. data/app/views/decidim/participatory_processes/admin/participatory_process_steps/show.html.erb +2 -2
  125. data/app/views/decidim/participatory_processes/admin/participatory_process_types/_form.html.erb +6 -8
  126. data/app/views/decidim/participatory_processes/admin/participatory_process_types/edit.html.erb +14 -6
  127. data/app/views/decidim/participatory_processes/admin/participatory_process_types/index.html.erb +47 -50
  128. data/app/views/decidim/participatory_processes/admin/participatory_process_types/new.html.erb +14 -6
  129. data/app/views/decidim/participatory_processes/admin/participatory_process_user_roles/_form.html.erb +14 -18
  130. data/app/views/decidim/participatory_processes/admin/participatory_process_user_roles/edit.html.erb +17 -6
  131. data/app/views/decidim/participatory_processes/admin/participatory_process_user_roles/index.html.erb +59 -60
  132. data/app/views/decidim/participatory_processes/admin/participatory_process_user_roles/new.html.erb +16 -5
  133. data/app/views/decidim/participatory_processes/admin/participatory_processes/_form.html.erb +193 -146
  134. data/app/views/decidim/participatory_processes/admin/participatory_processes/edit.html.erb +25 -11
  135. data/app/views/decidim/participatory_processes/admin/participatory_processes/index.html.erb +111 -128
  136. data/app/views/decidim/participatory_processes/admin/participatory_processes/new.html.erb +16 -9
  137. data/app/views/decidim/participatory_processes/participatory_process_groups/show.html.erb +6 -10
  138. data/app/views/decidim/participatory_processes/participatory_processes/_collection.html.erb +8 -0
  139. data/app/views/decidim/participatory_processes/participatory_processes/all_metrics.html.erb +21 -8
  140. data/app/views/decidim/participatory_processes/participatory_processes/index.html.erb +19 -17
  141. data/app/views/decidim/participatory_processes/participatory_processes/index.js.erb +1 -8
  142. data/app/views/decidim/participatory_processes/participatory_processes/show.html.erb +14 -128
  143. data/app/views/layouts/decidim/_process_header.html.erb +15 -26
  144. data/app/views/layouts/decidim/_process_nav_item.html.erb +6 -0
  145. data/app/views/layouts/decidim/admin/_manage_processes.html.erb +36 -0
  146. data/app/views/layouts/decidim/admin/participatory_process.html.erb +12 -14
  147. data/app/views/layouts/decidim/admin/participatory_process_group.html.erb +23 -13
  148. data/app/views/layouts/decidim/admin/participatory_process_groups.html.erb +13 -0
  149. data/app/views/layouts/decidim/admin/participatory_process_type.html.erb +13 -11
  150. data/app/views/layouts/decidim/admin/participatory_processes.html.erb +14 -8
  151. data/app/views/layouts/decidim/participatory_process.html.erb +7 -14
  152. data/config/locales/ar.yml +1 -55
  153. data/config/locales/bg.yml +0 -518
  154. data/config/locales/ca.yml +50 -70
  155. data/config/locales/cs.yml +51 -71
  156. data/config/locales/de.yml +52 -72
  157. data/config/locales/el.yml +8 -64
  158. data/config/locales/en.yml +52 -72
  159. data/config/locales/es-MX.yml +49 -69
  160. data/config/locales/es-PY.yml +49 -69
  161. data/config/locales/es.yml +49 -69
  162. data/config/locales/eu.yml +89 -112
  163. data/config/locales/fi-plain.yml +50 -70
  164. data/config/locales/fi.yml +57 -77
  165. data/config/locales/fr-CA.yml +51 -71
  166. data/config/locales/fr.yml +52 -72
  167. data/config/locales/ga-IE.yml +0 -16
  168. data/config/locales/gl.yml +0 -67
  169. data/config/locales/hu.yml +6 -66
  170. data/config/locales/id-ID.yml +1 -55
  171. data/config/locales/is-IS.yml +0 -24
  172. data/config/locales/it.yml +0 -67
  173. data/config/locales/ja.yml +51 -71
  174. data/config/locales/lb.yml +1 -153
  175. data/config/locales/lt.yml +39 -65
  176. data/config/locales/lv.yml +1 -59
  177. data/config/locales/nl.yml +0 -67
  178. data/config/locales/no.yml +0 -92
  179. data/config/locales/pl.yml +0 -124
  180. data/config/locales/pt-BR.yml +1 -113
  181. data/config/locales/pt.yml +0 -67
  182. data/config/locales/ro-RO.yml +4 -64
  183. data/config/locales/ru.yml +0 -49
  184. data/config/locales/sk.yml +1 -56
  185. data/config/locales/sl.yml +0 -7
  186. data/config/locales/sr-CS.yml +0 -4
  187. data/config/locales/sv.yml +148 -240
  188. data/config/locales/tr-TR.yml +7 -68
  189. data/config/locales/uk.yml +0 -49
  190. data/config/locales/zh-CN.yml +2 -63
  191. data/config/locales/zh-TW.yml +3 -63
  192. data/db/migrate/20220315100140_change_steps_dates_to_datetime.rb +8 -0
  193. data/lib/decidim/api/participatory_process_step_type.rb +2 -2
  194. data/lib/decidim/participatory_processes/admin_engine.rb +20 -139
  195. data/lib/decidim/participatory_processes/content_blocks/registry_manager.rb +278 -0
  196. data/lib/decidim/participatory_processes/engine.rb +13 -103
  197. data/lib/decidim/participatory_processes/menu.rb +190 -0
  198. data/lib/decidim/participatory_processes/participatory_space.rb +7 -204
  199. data/lib/decidim/participatory_processes/query_extensions.rb +2 -2
  200. data/lib/decidim/participatory_processes/seeds.rb +164 -0
  201. data/lib/decidim/participatory_processes/test/factories.rb +58 -66
  202. data/lib/decidim/participatory_processes/version.rb +1 -1
  203. data/lib/tasks/decidim_participatory_processes.rake +8 -0
  204. metadata +62 -67
  205. data/app/cells/decidim/participatory_process_groups/content_blocks/highlighted_participatory_processes/filters.erb +0 -21
  206. data/app/cells/decidim/participatory_process_groups/content_blocks/highlighted_participatory_processes/filters_small_view.erb +0 -18
  207. data/app/cells/decidim/participatory_process_groups/content_blocks/highlighted_participatory_processes/participatory_space_filters.erb +0 -6
  208. data/app/cells/decidim/participatory_process_groups/content_blocks/highlighted_participatory_processes/show.erb +0 -8
  209. data/app/cells/decidim/participatory_process_groups/content_blocks/highlighted_participatory_processes/title_filter_order.erb +0 -8
  210. data/app/cells/decidim/participatory_process_groups/content_blocks/highlighted_participatory_processes_cell.rb +0 -60
  211. data/app/cells/decidim/participatory_process_groups/content_blocks/html/show.erb +0 -3
  212. data/app/cells/decidim/participatory_process_groups/content_blocks/html_cell.rb +0 -13
  213. data/app/cells/decidim/participatory_process_groups/content_blocks/metadata/show.erb +0 -28
  214. data/app/cells/decidim/participatory_process_groups/content_blocks/metadata_cell.rb +0 -15
  215. data/app/cells/decidim/participatory_process_groups/content_blocks/title/show.erb +0 -43
  216. data/app/cells/decidim/participatory_process_groups/content_blocks/title_cell.rb +0 -64
  217. data/app/cells/decidim/participatory_processes/content_blocks/highlighted_processes/_all_processes.erb +0 -9
  218. data/app/cells/decidim/participatory_processes/content_blocks/highlighted_processes/show.erb +0 -14
  219. data/app/cells/decidim/participatory_processes/content_blocks/highlighted_processes/single_process.erb +0 -48
  220. data/app/cells/decidim/participatory_processes/process_group_m/footer.erb +0 -8
  221. data/app/cells/decidim/participatory_processes/process_group_m_cell.rb +0 -60
  222. data/app/cells/decidim/participatory_processes/process_group_s/image.erb +0 -1
  223. data/app/cells/decidim/participatory_processes/process_group_s/show.erb +0 -8
  224. data/app/cells/decidim/participatory_processes/process_m/data.erb +0 -21
  225. data/app/cells/decidim/participatory_processes/process_m/footer.erb +0 -14
  226. data/app/cells/decidim/participatory_processes/process_m/tags.erb +0 -8
  227. data/app/cells/decidim/participatory_processes/process_m_cell.rb +0 -87
  228. data/app/cells/decidim/participatory_processes/process_s/image.erb +0 -1
  229. data/app/cells/decidim/participatory_processes/process_s/show.erb +0 -14
  230. data/app/commands/decidim/participatory_processes/admin/create_participatory_process_admin.rb +0 -58
  231. data/app/commands/decidim/participatory_processes/admin/destroy_participatory_process_admin.rb +0 -58
  232. data/app/commands/decidim/participatory_processes/admin/notify_role_assigned_to_participatory_process.rb +0 -22
  233. data/app/commands/decidim/participatory_processes/admin/publish_participatory_process.rb +0 -40
  234. data/app/commands/decidim/participatory_processes/admin/unpublish_participatory_process.rb +0 -40
  235. data/app/commands/decidim/participatory_processes/admin/update_participatory_process_admin.rb +0 -56
  236. data/app/controllers/decidim/participatory_processes/participatory_process_steps_controller.rb +0 -28
  237. data/app/controllers/decidim/participatory_processes/widgets_controller.rb +0 -37
  238. data/app/packs/src/decidim/participatory_processes/filters.js +0 -28
  239. data/app/views/decidim/participatory_process_steps/_participatory_process_step.html.erb +0 -16
  240. data/app/views/decidim/participatory_processes/participatory_process_steps/_timeline.html.erb +0 -7
  241. data/app/views/decidim/participatory_processes/participatory_process_steps/index.html.erb +0 -18
  242. data/app/views/decidim/participatory_processes/participatory_processes/_metrics.html.erb +0 -10
  243. data/app/views/decidim/participatory_processes/participatory_processes/_order_by_processes.html.erb +0 -1
  244. data/app/views/decidim/participatory_processes/participatory_processes/_participatory_process_group.html.erb +0 -4
  245. data/app/views/decidim/participatory_processes/participatory_processes/_promoted_process.html.erb +0 -39
  246. data/app/views/decidim/participatory_processes/participatory_processes/_promoted_process_group.html.erb +0 -31
  247. data/app/views/layouts/decidim/_process_header_steps.html.erb +0 -37
  248. data/app/views/layouts/decidim/_process_navigation.html.erb +0 -20
  249. data/config/locales/he-IL.yml +0 -1
  250. data/db/seeds/Exampledocument.pdf +0 -0
  251. data/db/seeds/city.jpeg +0 -0
  252. data/db/seeds/city2.jpeg +0 -0
  253. data/db/seeds/homepage_image.jpg +0 -0
  254. data/decidim-participatory_processes.gemspec +0 -31
@@ -4,6 +4,7 @@ require "rails"
4
4
  require "active_support/all"
5
5
 
6
6
  require "decidim/core"
7
+ require "decidim/participatory_processes/menu"
7
8
 
8
9
  module Decidim
9
10
  module ParticipatoryProcesses
@@ -17,7 +18,7 @@ module Decidim
17
18
  routes do
18
19
  resources :participatory_process_groups do
19
20
  resource :landing_page, only: [:edit, :update], controller: "participatory_process_group_landing_page" do
20
- resources :content_blocks, only: [:edit, :update], controller: "participatory_process_group_landing_page_content_blocks"
21
+ resources :content_blocks, only: [:edit, :update, :destroy, :create], controller: "participatory_process_group_landing_page_content_blocks"
21
22
  end
22
23
  end
23
24
  resources :participatory_process_types
@@ -36,18 +37,21 @@ module Decidim
36
37
  post :resend_invitation, to: "participatory_process_user_roles#resend_invitation"
37
38
  end
38
39
  end
39
- resources :attachment_collections, controller: "participatory_process_attachment_collections"
40
- resources :attachments, controller: "participatory_process_attachments"
40
+ resources :attachment_collections, controller: "participatory_process_attachment_collections", except: [:show]
41
+ resources :attachments, controller: "participatory_process_attachments", except: [:show]
41
42
 
42
43
  resource :export, controller: "participatory_process_exports", only: :create
43
44
 
44
45
  collection do
45
46
  resources :imports, controller: "participatory_process_imports", only: [:new, :create]
46
47
  end
48
+ resource :landing_page, only: [:edit, :update], controller: "participatory_process_landing_page" do
49
+ resources :content_blocks, only: [:edit, :update, :destroy, :create], controller: "participatory_process_landing_page_content_blocks"
50
+ end
47
51
  end
48
52
 
49
53
  scope "/participatory_processes/:participatory_process_slug" do
50
- resources :categories
54
+ resources :categories, except: [:show]
51
55
 
52
56
  resources :components do
53
57
  resource :permissions, controller: "component_permissions"
@@ -95,151 +99,28 @@ module Decidim
95
99
  end
96
100
  end
97
101
 
98
- initializer "decidim_participatory_processes.admin_menu" do
99
- Decidim.menu :admin_menu do |menu|
100
- menu.add_item :participatory_processes,
101
- I18n.t("menu.participatory_processes", scope: "decidim.admin"),
102
- decidim_admin_participatory_processes.participatory_processes_path,
103
- icon_name: "target",
104
- position: 2,
105
- active: is_active_link?(decidim_admin_participatory_processes.participatory_processes_path, :inclusive) ||
106
- is_active_link?(decidim_admin_participatory_processes.participatory_process_groups_path, :inclusive) ||
107
- is_active_link?(decidim_admin_participatory_processes.participatory_process_types_path),
108
- if: allowed_to?(:enter, :space_area, space_name: :processes) || allowed_to?(:enter, :space_area, space_name: :process_groups)
109
- end
102
+ initializer "decidim_participatory_processes_admin.menu" do
103
+ Decidim::ParticipatoryProcesses::Menu.register_admin_menu_modules!
110
104
  end
111
105
 
112
- initializer "decidim_participatory_processes.admin_participatory_processes_menu" do
113
- Decidim.menu :admin_participatory_processes_menu do |menu|
114
- menu.add_item :participatory_processes,
115
- I18n.t("menu.participatory_processes", scope: "decidim.admin"),
116
- decidim_admin_participatory_processes.participatory_processes_path,
117
- position: 1,
118
- if: allowed_to?(:enter, :space_area, space_name: :processes),
119
- active: is_active_link?(decidim_admin_participatory_processes.participatory_processes_path)
120
-
121
- menu.add_item :participatory_process_groups,
122
- I18n.t("menu.participatory_process_groups", scope: "decidim.admin"),
123
- decidim_admin_participatory_processes.participatory_process_groups_path,
124
- position: 2,
125
- if: allowed_to?(:enter, :space_area, space_name: :process_groups),
126
- active: is_active_link?(decidim_admin_participatory_processes.participatory_process_groups_path)
127
-
128
- menu.add_item :participatory_process_types,
129
- I18n.t("menu.participatory_process_types", scope: "decidim.admin"),
130
- decidim_admin_participatory_processes.participatory_process_types_path,
131
- position: 3,
132
- if: allowed_to?(:manage, :participatory_process_type),
133
- active: is_active_link?(decidim_admin_participatory_processes.participatory_process_types_path)
134
- end
106
+ initializer "decidim_participatory_processes_admin.participatory_processes_menu" do
107
+ Decidim::ParticipatoryProcesses::Menu.register_admin_participatory_processes_menu!
135
108
  end
136
109
 
137
- initializer "decidim_participatory_processes.admin_process_attachments_menu" do
138
- Decidim.menu :admin_participatory_process_attachments_menu do |menu|
139
- menu.add_item :participatory_process_attachment_collections,
140
- I18n.t("attachment_collections", scope: "decidim.admin.menu.participatory_processes_submenu"),
141
- decidim_admin_participatory_processes.participatory_process_attachment_collections_path(current_participatory_space),
142
- active: is_active_link?(decidim_admin_participatory_processes.participatory_process_attachment_collections_path(current_participatory_space)),
143
- if: allowed_to?(:read, :attachment_collection)
144
-
145
- menu.add_item :participatory_process_attachments,
146
- I18n.t("attachment_files", scope: "decidim.admin.menu.participatory_processes_submenu"),
147
- decidim_admin_participatory_processes.participatory_process_attachments_path(current_participatory_space),
148
- active: is_active_link?(decidim_admin_participatory_processes.participatory_process_attachments_path(current_participatory_space)),
149
- if: allowed_to?(:read, :attachment)
150
- end
110
+ initializer "decidim_participatory_processes_admin.process_attachments_menu" do
111
+ Decidim::ParticipatoryProcesses::Menu.register_participatory_process_admin_attachments_menu!
151
112
  end
152
113
 
153
- initializer "decidim_participatory_processes.admin_process_components_menu" do
154
- Decidim.menu :admin_participatory_process_components_menu do |menu|
155
- current_participatory_space.components.each do |component|
156
- caption = decidim_escape_translated(component.name)
157
- if component.primary_stat.present?
158
- caption += content_tag(:span, component.primary_stat, class: component.primary_stat.zero? ? "component-counter component-counter--off" : "component-counter")
159
- end
160
-
161
- menu.add_item [component.manifest_name, component.id].join("_"),
162
- caption.html_safe,
163
- manage_component_path(component),
164
- active: is_active_link?(manage_component_path(component)) ||
165
- is_active_link?(decidim_admin_participatory_processes.edit_component_path(current_participatory_space, component)) ||
166
- is_active_link?(decidim_admin_participatory_processes.edit_component_permissions_path(current_participatory_space, component)) ||
167
- participatory_space_active_link?(component),
168
- if: component.manifest.admin_engine && user_role_config.component_is_accessible?(component.manifest_name)
169
- end
170
- end
114
+ initializer "decidim_participatory_processes_admin.process_components_menu" do
115
+ Decidim::ParticipatoryProcesses::Menu.register_admin_participatory_process_components_menu!
171
116
  end
172
117
 
173
- initializer "decidim_participatory_processes.admin_process_group_menu" do
174
- Decidim.menu :admin_participatory_process_menu do |menu|
175
- menu.add_item :edit_participatory_process,
176
- I18n.t("info", scope: "decidim.admin.menu.participatory_processes_submenu"),
177
- decidim_admin_participatory_processes.edit_participatory_process_path(current_participatory_space),
178
- active: is_active_link?(decidim_admin_participatory_processes.edit_participatory_process_path(current_participatory_space)),
179
- if: allowed_to?(:update, :process, process: current_participatory_space)
180
-
181
- menu.add_item :participatory_process_steps,
182
- I18n.t("steps", scope: "decidim.admin.menu.participatory_processes_submenu"),
183
- decidim_admin_participatory_processes.participatory_process_steps_path(current_participatory_space),
184
- active: is_active_link?(decidim_admin_participatory_processes.participatory_process_steps_path(current_participatory_space)),
185
- if: allowed_to?(:read, :process_step)
186
-
187
- menu.add_item :components,
188
- I18n.t("components", scope: "decidim.admin.menu.participatory_processes_submenu"),
189
- decidim_admin_participatory_processes.components_path(current_participatory_space),
190
- active: is_active_link?(decidim_admin_participatory_processes.components_path(current_participatory_space)),
191
- if: allowed_to?(:read, :component),
192
- submenu: { target_menu: :admin_participatory_process_components_menu, options: { container_options: { id: "components-list" } } }
193
-
194
- menu.add_item :categories,
195
- I18n.t("categories", scope: "decidim.admin.menu.participatory_processes_submenu"),
196
- decidim_admin_participatory_processes.categories_path(current_participatory_space),
197
- active: is_active_link?(decidim_admin_participatory_processes.categories_path(current_participatory_space)),
198
- if: allowed_to?(:read, :category)
199
-
200
- menu.add_item :attachments,
201
- I18n.t("attachments", scope: "decidim.admin.menu.participatory_processes_submenu"),
202
- "#",
203
- active: is_active_link?(decidim_admin_participatory_processes.participatory_process_attachment_collections_path(current_participatory_space)) ||
204
- is_active_link?(decidim_admin_participatory_processes.participatory_process_attachments_path(current_participatory_space)),
205
- if: allowed_to?(:read, :attachment_collection) || allowed_to?(:read, :attachment),
206
- submenu: { target_menu: :admin_participatory_process_attachments_menu }
207
-
208
- menu.add_item :participatory_process_user_roles,
209
- I18n.t("process_admins", scope: "decidim.admin.menu.participatory_processes_submenu"),
210
- decidim_admin_participatory_processes.participatory_process_user_roles_path(current_participatory_space),
211
- active: is_active_link?(decidim_admin_participatory_processes.participatory_process_user_roles_path(current_participatory_space)),
212
- if: allowed_to?(:read, :process_user_role)
213
-
214
- menu.add_item :participatory_space_private_users,
215
- I18n.t("private_users", scope: "decidim.admin.menu.participatory_processes_submenu"),
216
- decidim_admin_participatory_processes.participatory_space_private_users_path(current_participatory_space),
217
- active: is_active_link?(decidim_admin_participatory_processes.participatory_space_private_users_path(current_participatory_space)),
218
- if: allowed_to?(:read, :space_private_user)
219
-
220
- menu.add_item :moderations,
221
- I18n.t("moderations", scope: "decidim.admin.menu.participatory_processes_submenu"),
222
- decidim_admin_participatory_processes.moderations_path(current_participatory_space),
223
- active: is_active_link?(decidim_admin_participatory_processes.moderations_path(current_participatory_space)),
224
- if: allowed_to?(:read, :moderation)
225
- end
118
+ initializer "decidim_participatory_processes_admin.process_menu" do
119
+ Decidim::ParticipatoryProcesses::Menu.register_admin_participatory_process_menu!
226
120
  end
227
121
 
228
- initializer "decidim_participatory_processes.admin_process_group_menu" do
229
- Decidim.menu :admin_participatory_process_group_menu do |menu|
230
- menu.add_item :edit_participatory_process_group,
231
- I18n.t("info", scope: "decidim.admin.menu.participatory_process_groups_submenu"),
232
- decidim_admin_participatory_processes.edit_participatory_process_group_path(participatory_process_group),
233
- position: 1,
234
- if: allowed_to?(:update, :process_group, process_group: participatory_process_group),
235
- active: is_active_link?(decidim_admin_participatory_processes.edit_participatory_process_group_path(participatory_process_group))
236
- menu.add_item :edit_participatory_process_group_landing_page,
237
- I18n.t("landing_page", scope: "decidim.admin.menu.participatory_process_groups_submenu"),
238
- decidim_admin_participatory_processes.edit_participatory_process_group_landing_page_path(participatory_process_group),
239
- position: 2,
240
- if: allowed_to?(:update, :process_group, process_group: participatory_process_group),
241
- active: is_active_link?(decidim_admin_participatory_processes.participatory_process_group_landing_page_path(participatory_process_group))
242
- end
122
+ initializer "decidim_participatory_processes_admin.process_group_menu" do
123
+ Decidim::ParticipatoryProcesses::Menu.register_admin_participatory_process_group_menu!
243
124
  end
244
125
  end
245
126
  end
@@ -0,0 +1,278 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module ParticipatoryProcesses
5
+ module ContentBlocks
6
+ class RegistryManager
7
+ def self.register!
8
+ Decidim.content_blocks.register(:homepage, :highlighted_processes) do |content_block|
9
+ content_block.cell = "decidim/participatory_processes/content_blocks/highlighted_processes"
10
+ content_block.public_name_key = "decidim.participatory_processes.content_blocks.highlighted_processes.name"
11
+ content_block.settings_form_cell = "decidim/participatory_processes/content_blocks/highlighted_processes_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(:participatory_process_group_homepage, :title) do |content_block|
19
+ content_block.cell = "decidim/participatory_process_groups/content_blocks/main_data"
20
+ content_block.public_name_key = "decidim.participatory_process_groups.content_blocks.main_data.name"
21
+ content_block.default!
22
+ end
23
+
24
+ Decidim.content_blocks.register(:participatory_process_group_homepage, :extra_data) do |content_block|
25
+ content_block.cell = "decidim/participatory_process_groups/content_blocks/extra_data"
26
+ content_block.public_name_key = "decidim.participatory_process_groups.content_blocks.extra_data.name"
27
+ content_block.default!
28
+ end
29
+
30
+ Decidim.content_blocks.register(:participatory_process_group_homepage, :cta) do |content_block|
31
+ content_block.cell = "decidim/content_blocks/cta"
32
+ content_block.settings_form_cell = "decidim/content_blocks/cta_settings_form"
33
+ content_block.public_name_key = "decidim.content_blocks.cta.name"
34
+
35
+ content_block.images = [
36
+ {
37
+ name: :background_image,
38
+ uploader: "Decidim::HomepageImageUploader"
39
+ }
40
+ ]
41
+
42
+ content_block.settings do |settings|
43
+ settings.attribute :button_text, type: :text, translated: true
44
+ settings.attribute :button_url, type: :string, required: true
45
+ settings.attribute :description, type: :string, translated: true, editor: true
46
+ end
47
+
48
+ content_block.default!
49
+ end
50
+
51
+ (1..3).each do |index|
52
+ Decidim.content_blocks.register(:participatory_process_group_homepage, :"html_#{index}") do |content_block|
53
+ content_block.cell = "decidim/content_blocks/html"
54
+ content_block.public_name_key = "decidim.participatory_process_groups.content_blocks.html_#{index}.name"
55
+ content_block.settings_form_cell = "decidim/content_blocks/html_settings_form"
56
+
57
+ content_block.settings do |settings|
58
+ settings.attribute :html_content, type: :text, translated: true
59
+ end
60
+ end
61
+ end
62
+
63
+ Decidim.content_blocks.register(:participatory_process_homepage, :html) do |content_block|
64
+ content_block.cell = "decidim/content_blocks/html"
65
+ content_block.public_name_key = "decidim.content_blocks.html.name"
66
+ content_block.settings_form_cell = "decidim/content_blocks/html_settings_form"
67
+
68
+ content_block.settings do |settings|
69
+ settings.attribute :html_content, type: :text, translated: true
70
+ end
71
+ end
72
+
73
+ Decidim.content_blocks.register(:participatory_process_homepage, :process_hero) do |content_block|
74
+ content_block.cell = "decidim/participatory_processes/content_blocks/hero"
75
+ content_block.public_name_key = "decidim.participatory_processes.content_blocks.hero.name"
76
+ end
77
+
78
+ Decidim.content_blocks.register(:participatory_process_homepage, :announcement) do |content_block|
79
+ content_block.cell = "decidim/content_blocks/participatory_space_announcement"
80
+ content_block.public_name_key = "decidim.content_blocks.announcement.name"
81
+ end
82
+
83
+ Decidim.content_blocks.register(:participatory_process_homepage, :main_data) do |content_block|
84
+ content_block.cell = "decidim/participatory_processes/content_blocks/main_data"
85
+ content_block.public_name_key = "decidim.content_blocks.main_data.name"
86
+ content_block.default!
87
+ end
88
+
89
+ Decidim.content_blocks.register(:participatory_process_homepage, :extra_data) do |content_block|
90
+ content_block.cell = "decidim/participatory_processes/content_blocks/extra_data"
91
+ content_block.public_name_key = "decidim.participatory_processes.content_blocks.extra_data.name"
92
+ end
93
+
94
+ Decidim.content_blocks.register(:participatory_process_homepage, :metadata) do |content_block|
95
+ content_block.cell = "decidim/participatory_processes/content_blocks/metadata"
96
+ content_block.public_name_key = "decidim.content_blocks.metadata.name"
97
+ content_block.default!
98
+ end
99
+
100
+ Decidim.content_blocks.register(:participatory_process_homepage, :last_activity) do |content_block|
101
+ content_block.cell = "decidim/content_blocks/participatory_space_last_activity"
102
+ content_block.public_name_key = "decidim.content_blocks.last_activity.name"
103
+ content_block.settings_form_cell = "decidim/content_blocks/last_activity_settings_form"
104
+ content_block.settings do |settings|
105
+ settings.attribute :max_last_activity_users, type: :integer, default: Decidim::ContentBlocks::ParticipatorySpaceLastActivityCell::DEFAULT_MAX_LAST_ACTIVITY_USERS
106
+ end
107
+ end
108
+
109
+ Decidim.content_blocks.register(:participatory_process_homepage, :stats) do |content_block|
110
+ content_block.cell = "decidim/participatory_processes/content_blocks/stats"
111
+ content_block.public_name_key = "decidim.content_blocks.participatory_space_stats.name"
112
+ end
113
+
114
+ Decidim.content_blocks.register(:participatory_process_homepage, :metrics) do |content_block|
115
+ content_block.cell = "decidim/participatory_processes/content_blocks/metrics"
116
+ content_block.public_name_key = "decidim.content_blocks.participatory_space_metrics.name"
117
+ end
118
+
119
+ Decidim.content_blocks.register(:participatory_process_homepage, :related_processes) do |content_block|
120
+ content_block.cell = "decidim/participatory_processes/content_blocks/related_processes"
121
+ content_block.settings_form_cell = "decidim/participatory_processes/content_blocks/highlighted_processes_settings_form"
122
+ content_block.public_name_key = "decidim.participatory_processes.content_blocks.related_processes.name"
123
+
124
+ content_block.settings do |settings|
125
+ settings.attribute :max_results, type: :integer, default: 6
126
+ end
127
+ end
128
+
129
+ Decidim.content_blocks.register(:participatory_process_homepage, :related_documents) do |content_block|
130
+ content_block.cell = "decidim/content_blocks/participatory_space_documents"
131
+ content_block.public_name_key = "decidim.application.documents.related_documents"
132
+ end
133
+
134
+ Decidim.content_blocks.register(:participatory_process_homepage, :related_images) do |content_block|
135
+ content_block.cell = "decidim/content_blocks/participatory_space_images"
136
+ content_block.public_name_key = "decidim.application.photos.related_photos"
137
+ end
138
+
139
+ Decidim.content_blocks.register(:participatory_process_group_homepage, :stats) do |content_block|
140
+ content_block.cell = "decidim/participatory_process_groups/content_blocks/statistics"
141
+ content_block.public_name_key = "decidim.participatory_process_groups.content_blocks.stats.name"
142
+ content_block.default!
143
+ end
144
+
145
+ Decidim.content_blocks.register(:participatory_process_group_homepage, :participatory_processes) do |content_block|
146
+ content_block.cell = "decidim/participatory_process_groups/content_blocks/related_processes"
147
+ content_block.settings_form_cell = "decidim/participatory_processes/content_blocks/processes_settings_form"
148
+ content_block.public_name_key = "decidim.participatory_process_groups.content_blocks.participatory_processes.name"
149
+
150
+ content_block.settings do |settings|
151
+ settings.attribute :default_filter, type: :enum, default: "active", choices: %w(active all)
152
+ end
153
+ end
154
+
155
+ register_highlighted_meetings
156
+ register_highlighted_posts
157
+ register_highlighted_proposals
158
+ register_highlighted_results
159
+ register_related_assemblies
160
+ end
161
+
162
+ def self.register_highlighted_meetings
163
+ return unless Decidim.module_installed?(:meetings)
164
+
165
+ Decidim.content_blocks.register(:participatory_process_homepage, :highlighted_meetings) do |content_block|
166
+ content_block.cell = "decidim/meetings/content_blocks/highlighted_meetings"
167
+ content_block.settings_form_cell = "decidim/content_blocks/highlighted_elements_for_component_settings_form"
168
+ content_block.public_name_key = "decidim.meetings.content_blocks.upcoming_meetings.name"
169
+ content_block.component_manifest_name = "meetings"
170
+
171
+ content_block.settings do |settings|
172
+ settings.attribute :component_id, type: :select, default: nil
173
+ end
174
+ end
175
+
176
+ Decidim.content_blocks.register(:participatory_process_group_homepage, :highlighted_meetings) do |content_block|
177
+ content_block.cell = "decidim/meetings/content_blocks/highlighted_meetings"
178
+ content_block.settings_form_cell = "decidim/content_blocks/highlighted_elements_settings_form"
179
+ content_block.public_name_key = "decidim.meetings.content_blocks.upcoming_meetings.name"
180
+ content_block.component_manifest_name = "meetings"
181
+ content_block.default!
182
+
183
+ content_block.settings do |settings|
184
+ settings.attribute :order, type: :enum, default: "random", choices: %w(random recent)
185
+ settings.attribute :show_space, type: :boolean, default: true
186
+ end
187
+ end
188
+ end
189
+
190
+ def self.register_highlighted_posts
191
+ return unless Decidim.module_installed?(:blogs)
192
+
193
+ Decidim.content_blocks.register(:participatory_process_homepage, :highlighted_posts) do |content_block|
194
+ content_block.cell = "decidim/blogs/content_blocks/highlighted_posts"
195
+ content_block.settings_form_cell = "decidim/content_blocks/highlighted_elements_for_component_settings_form"
196
+ content_block.public_name_key = "decidim.blogs.content_blocks.highlighted_posts.name"
197
+ content_block.component_manifest_name = "blogs"
198
+
199
+ content_block.settings do |settings|
200
+ settings.attribute :component_id, type: :select, default: nil
201
+ end
202
+ end
203
+ end
204
+
205
+ def self.register_highlighted_proposals
206
+ return unless Decidim.module_installed?(:proposals)
207
+
208
+ Decidim.content_blocks.register(:participatory_process_homepage, :highlighted_proposals) do |content_block|
209
+ content_block.cell = "decidim/proposals/content_blocks/highlighted_proposals"
210
+ content_block.settings_form_cell = "decidim/content_blocks/highlighted_elements_for_component_settings_form"
211
+ content_block.public_name_key = "decidim.proposals.content_blocks.highlighted_proposals.name"
212
+ content_block.component_manifest_name = "proposals"
213
+
214
+ content_block.settings do |settings|
215
+ settings.attribute :order, type: :enum, default: "recent", choices: %w(random recent)
216
+ settings.attribute :component_id, type: :select, default: nil
217
+ end
218
+ end
219
+
220
+ Decidim.content_blocks.register(:participatory_process_group_homepage, :highlighted_proposals) do |content_block|
221
+ content_block.cell = "decidim/proposals/content_blocks/highlighted_proposals"
222
+ content_block.settings_form_cell = "decidim/content_blocks/highlighted_elements_settings_form"
223
+ content_block.public_name_key = "decidim.proposals.content_blocks.highlighted_proposals.name"
224
+ content_block.component_manifest_name = "proposals"
225
+
226
+ content_block.settings do |settings|
227
+ settings.attribute :order, type: :enum, default: "random", choices: %w(random recent)
228
+ settings.attribute :show_space, type: :boolean, default: true
229
+ end
230
+ end
231
+ end
232
+
233
+ def self.register_highlighted_results
234
+ return unless Decidim.module_installed?(:accountability)
235
+
236
+ Decidim.content_blocks.register(:participatory_process_homepage, :highlighted_results) do |content_block|
237
+ content_block.cell = "decidim/accountability/content_blocks/highlighted_results"
238
+ content_block.settings_form_cell = "decidim/content_blocks/highlighted_elements_for_component_settings_form"
239
+ content_block.public_name_key = "decidim.accountability.content_blocks.highlighted_results.results"
240
+ content_block.component_manifest_name = "accountability"
241
+
242
+ content_block.settings do |settings|
243
+ settings.attribute :order, type: :enum, default: "random", choices: %w(random recent)
244
+ settings.attribute :component_id, type: :select, default: nil
245
+ end
246
+ end
247
+
248
+ Decidim.content_blocks.register(:participatory_process_group_homepage, :highlighted_results) do |content_block|
249
+ content_block.cell = "decidim/accountability/content_blocks/highlighted_results"
250
+ content_block.settings_form_cell = "decidim/content_blocks/highlighted_elements_settings_form"
251
+ content_block.public_name_key = "decidim.accountability.content_blocks.highlighted_results.results"
252
+ content_block.component_manifest_name = "accountability"
253
+ content_block.default!
254
+
255
+ content_block.settings do |settings|
256
+ settings.attribute :order, type: :enum, default: "random", choices: %w(random recent)
257
+ settings.attribute :show_space, type: :boolean, default: true
258
+ end
259
+ end
260
+ end
261
+
262
+ def self.register_related_assemblies
263
+ return unless Decidim.module_installed?(:assemblies)
264
+
265
+ Decidim.content_blocks.register(:participatory_process_homepage, :related_assemblies) do |content_block|
266
+ content_block.cell = "decidim/assemblies/content_blocks/related_assemblies"
267
+ content_block.settings_form_cell = "decidim/assemblies/content_blocks/highlighted_assemblies_settings_form"
268
+ content_block.public_name_key = "decidim.assemblies.content_blocks.related_assemblies.name"
269
+
270
+ content_block.settings do |settings|
271
+ settings.attribute :max_results, type: :integer, default: 6
272
+ end
273
+ end
274
+ end
275
+ end
276
+ end
277
+ end
278
+ end
@@ -4,6 +4,8 @@ require "rails"
4
4
  require "active_support/all"
5
5
 
6
6
  require "decidim/core"
7
+ require "decidim/participatory_processes/menu"
8
+ require "decidim/participatory_processes/content_blocks/registry_manager"
7
9
  require "decidim/participatory_processes/query_extensions"
8
10
 
9
11
  module Decidim
@@ -31,8 +33,6 @@ module Decidim
31
33
  resources :participatory_process_groups, only: :show, path: "processes_groups"
32
34
  resources :participatory_processes, only: [:index, :show], param: :slug, path: "processes" do
33
35
  get "all-metrics", on: :member
34
- resources :participatory_process_steps, only: [:index], path: "steps"
35
- resource :widget, only: :show, path: "embed"
36
36
  end
37
37
 
38
38
  scope "/processes/:participatory_process_slug/f/:component_id" do
@@ -46,6 +46,14 @@ module Decidim
46
46
  end
47
47
  end
48
48
 
49
+ initializer "decidim_participatory_processes.register_icons" do
50
+ Decidim.icons.register(name: "Decidim::ParticipatoryProcess", icon: "treasure-map-line", description: "Participatory Process", category: "activity",
51
+ engine: :participatory_process)
52
+ Decidim.icons.register(name: "archive-line", icon: "archive-line", category: "system", description: "", engine: :participatory_process)
53
+ Decidim.icons.register(name: "grid-line", icon: "grid-line", category: "system", description: "", engine: :participatory_process)
54
+ Decidim.icons.register(name: "globe-line", icon: "globe-line", category: "system", description: "", engine: :participatory_process)
55
+ end
56
+
49
57
  initializer "decidim_participatory_processes.query_extensions" do
50
58
  Decidim::Api::QueryType.include Decidim::ParticipatoryProcesses::QueryExtensions
51
59
  end
@@ -56,110 +64,12 @@ module Decidim
56
64
  end
57
65
 
58
66
  initializer "decidim_participatory_processes.menu" do
59
- Decidim.menu :menu do |menu|
60
- menu.add_item :participatory_processes,
61
- I18n.t("menu.processes", scope: "decidim"),
62
- decidim_participatory_processes.participatory_processes_path,
63
- position: 2,
64
- if: Decidim::ParticipatoryProcess.where(organization: current_organization).published.any?,
65
- active: %r{^/process(es|_groups)}
66
- end
67
+ Decidim::ParticipatoryProcesses::Menu.register_menu!
68
+ Decidim::ParticipatoryProcesses::Menu.register_home_content_block_menu!
67
69
  end
68
70
 
69
71
  initializer "decidim_participatory_processes.content_blocks" do
70
- Decidim.content_blocks.register(:homepage, :highlighted_processes) do |content_block|
71
- content_block.cell = "decidim/participatory_processes/content_blocks/highlighted_processes"
72
- content_block.public_name_key = "decidim.participatory_processes.content_blocks.highlighted_processes.name"
73
- content_block.settings_form_cell = "decidim/participatory_processes/content_blocks/highlighted_processes_settings_form"
74
-
75
- content_block.settings do |settings|
76
- settings.attribute :max_results, type: :integer, default: 4
77
- end
78
- end
79
-
80
- Decidim.content_blocks.register(:participatory_process_group_homepage, :title) do |content_block|
81
- content_block.cell = "decidim/participatory_process_groups/content_blocks/title"
82
- content_block.public_name_key = "decidim.participatory_process_groups.content_blocks.title.name"
83
- content_block.default!
84
- end
85
-
86
- (1..3).each do |index|
87
- Decidim.content_blocks.register(:participatory_process_group_homepage, :"html_#{index}") do |content_block|
88
- content_block.cell = "decidim/participatory_process_groups/content_blocks/html"
89
- content_block.public_name_key = "decidim.participatory_process_groups.content_blocks.html_#{index}.name"
90
- content_block.settings_form_cell = "decidim/content_blocks/html_settings_form"
91
-
92
- content_block.settings do |settings|
93
- settings.attribute :html_content, type: :text, translated: true
94
- end
95
- content_block.default!
96
- end
97
- end
98
-
99
- Decidim.content_blocks.register(:participatory_process_group_homepage, :metadata) do |content_block|
100
- content_block.cell = "decidim/participatory_process_groups/content_blocks/metadata"
101
- content_block.public_name_key = "decidim.participatory_process_groups.content_blocks.metadata.name"
102
- content_block.default!
103
- end
104
-
105
- Decidim.content_blocks.register(:participatory_process_group_homepage, :cta) do |content_block|
106
- content_block.cell = "decidim/content_blocks/cta"
107
- content_block.settings_form_cell = "decidim/content_blocks/cta_settings_form"
108
- content_block.public_name_key = "decidim.content_blocks.cta.name"
109
-
110
- content_block.images = [
111
- {
112
- name: :background_image,
113
- uploader: "Decidim::HomepageImageUploader"
114
- }
115
- ]
116
-
117
- content_block.settings do |settings|
118
- settings.attribute :button_text, type: :text, translated: true
119
- settings.attribute :button_url, type: :string, required: true
120
- settings.attribute :description, type: :string, translated: true, editor: true
121
- end
122
-
123
- content_block.default!
124
- end
125
-
126
- Decidim.content_blocks.register(:participatory_process_group_homepage, :highlighted_proposals) do |content_block|
127
- content_block.cell = "decidim/proposals/content_blocks/highlighted_proposals"
128
- content_block.settings_form_cell = "decidim/content_blocks/highlighted_elements_settings_form"
129
- content_block.public_name_key = "decidim.proposals.content_blocks.highlighted_proposals.proposals"
130
-
131
- content_block.settings do |settings|
132
- settings.attribute :order, type: :enum, default: "random", choices: %w(random recent)
133
- end
134
- end
135
-
136
- Decidim.content_blocks.register(:participatory_process_group_homepage, :highlighted_results) do |content_block|
137
- content_block.cell = "decidim/accountability/content_blocks/highlighted_results"
138
- content_block.settings_form_cell = "decidim/content_blocks/highlighted_elements_settings_form"
139
- content_block.public_name_key = "decidim.accountability.content_blocks.highlighted_results.results"
140
-
141
- content_block.settings do |settings|
142
- settings.attribute :order, type: :enum, default: "random", choices: %w(random recent)
143
- end
144
- end
145
-
146
- Decidim.content_blocks.register(:participatory_process_group_homepage, :highlighted_meetings) do |content_block|
147
- content_block.cell = "decidim/meetings/content_blocks/highlighted_meetings"
148
- content_block.public_name_key = "decidim.meetings.content_blocks.upcoming_meetings.name"
149
- content_block.default!
150
- end
151
-
152
- Decidim.content_blocks.register(:participatory_process_group_homepage, :stats) do |content_block|
153
- content_block.cell = "decidim/participatory_process_groups/content_blocks/statistics"
154
- content_block.public_name_key = "decidim.participatory_process_groups.content_blocks.stats.name"
155
- content_block.default!
156
- end
157
-
158
- Decidim.content_blocks.register(:participatory_process_group_homepage, :participatory_processes) do |content_block|
159
- content_block.cell = "decidim/participatory_process_groups/content_blocks/highlighted_participatory_processes"
160
- content_block.public_name_key = "decidim.participatory_process_groups.content_blocks.participatory_processes.name"
161
- content_block.default!
162
- end
72
+ Decidim::ParticipatoryProcesses::ContentBlocks::RegistryManager.register!
163
73
  end
164
74
 
165
75
  initializer "decidim_participatory_processes.stats" do