decidim-participatory_processes 0.27.10 → 0.28.0.rc4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
@@ -19,7 +19,7 @@ module Decidim
19
19
  # Executes the command. Broadcasts these events:
20
20
  #
21
21
  # - :ok when everything is valid.
22
- # - :invalid if the form wasn't valid and we couldn't proceed.
22
+ # - :invalid if the form was not valid and we could not proceed.
23
23
  #
24
24
  # Returns nothing.
25
25
  def call
@@ -17,7 +17,7 @@ module Decidim
17
17
  # Executes the command. Broadcasts these events:
18
18
  #
19
19
  # - :ok when everything is valid.
20
- # - :invalid if the form wasn't valid and we couldn't proceed.
20
+ # - :invalid if the form was not valid and we could not proceed.
21
21
  #
22
22
  # Returns nothing.
23
23
  def call
@@ -17,7 +17,7 @@ module Decidim
17
17
  # Executes the command. Broadcasts these events:
18
18
  #
19
19
  # - :ok when everything is valid.
20
- # - :invalid if the data wasn't valid and we couldn't proceed.
20
+ # - :invalid if the data was not valid and we could not proceed.
21
21
  #
22
22
  # Returns nothing.
23
23
  def call
@@ -20,7 +20,7 @@ module Decidim
20
20
  # Executes the command. Broadcasts these events:
21
21
  #
22
22
  # - :ok when everything is valid.
23
- # - :invalid if the form wasn't valid and we couldn't proceed.
23
+ # - :invalid if the form was not valid and we could not proceed.
24
24
  #
25
25
  # Returns nothing.
26
26
  def call
@@ -20,7 +20,7 @@ module Decidim
20
20
  # Executes the command. Broadcasts these events:
21
21
  #
22
22
  # - :ok when everything is valid.
23
- # - :invalid if the form wasn't valid and we couldn't proceed.
23
+ # - :invalid if the form was not valid and we could not proceed.
24
24
  #
25
25
  # Returns nothing.
26
26
  def call
@@ -57,7 +57,7 @@ module Decidim
57
57
  description: form.description,
58
58
  hashtag: form.hashtag,
59
59
  group_url: form.group_url,
60
- participatory_processes: participatory_processes,
60
+ participatory_processes:,
61
61
  developer_group: form.developer_group,
62
62
  local_area: form.local_area,
63
63
  meta_scope: form.meta_scope,
@@ -20,7 +20,7 @@ module Decidim
20
20
  # Executes the command. Broadcasts these events:
21
21
  #
22
22
  # - :ok when everything is valid.
23
- # - :invalid if the form wasn't valid and we couldn't proceed.
23
+ # - :invalid if the form was not valid and we could not proceed.
24
24
  #
25
25
  # Returns nothing.
26
26
  def call
@@ -19,7 +19,7 @@ module Decidim
19
19
  # Executes the command. Broadcasts these events:
20
20
  #
21
21
  # - :ok when everything is valid.
22
- # - :invalid if the form wasn't valid and we couldn't proceed.
22
+ # - :invalid if the form was not valid and we could not proceed.
23
23
  #
24
24
  # Returns nothing.
25
25
  def call
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Decidim
4
4
  module ParticipatoryProcesses
5
- # This class infers the current participatory process we're scoped to by
5
+ # This class infers the current participatory process we are scoped to by
6
6
  # looking at the request parameters and the organization in the request
7
7
  # environment, and injects it into the environment.
8
8
  class CurrentParticipatoryProcess
@@ -11,6 +11,8 @@ module Decidim
11
11
 
12
12
  private
13
13
 
14
+ helper_method :tabs
15
+
14
16
  def permissions_context
15
17
  super.merge(
16
18
  current_participatory_space: try(:current_participatory_space)
@@ -20,6 +22,33 @@ module Decidim
20
22
  def permission_class_chain
21
23
  ::Decidim.permissions_registry.chain_for(::Decidim::ParticipatoryProcesses::Admin::ApplicationController)
22
24
  end
25
+
26
+ def tabs
27
+ @tabs ||= items.map { |item| item.slice(:id, :text, :icon) }
28
+ end
29
+
30
+ def panels
31
+ @panels ||= items.map { |item| item.slice(:id, :method, :args) }
32
+ end
33
+
34
+ def items
35
+ @items ||= [
36
+ {
37
+ id: "images",
38
+ text: t("decidim.application.photos.photos"),
39
+ icon: "upload-line",
40
+ method: :cell,
41
+ args: ["decidim/images_panel", @current_initiative]
42
+ },
43
+ {
44
+ id: "documents",
45
+ text: t("decidim.application.documents.documents"),
46
+ icon: "upload-line",
47
+ method: :cell,
48
+ args: ["decidim/documents_panel", @current_initiative]
49
+ }
50
+ ].select { |item| item[:enabled] }
51
+ end
23
52
  end
24
53
  end
25
54
  end
@@ -7,6 +7,8 @@ module Decidim
7
7
  #
8
8
  class CategoriesController < Decidim::Admin::CategoriesController
9
9
  include Concerns::ParticipatoryProcessAdmin
10
+
11
+ add_breadcrumb_item_from_menu :admin_participatory_process_menu
10
12
  end
11
13
  end
12
14
  end
@@ -20,6 +20,8 @@ module Decidim
20
20
  included do
21
21
  include Decidim::Admin::ParticipatorySpaceAdminContext
22
22
  helper_method :current_participatory_process
23
+ add_breadcrumb_item_from_menu :admin_participatory_process_menu
24
+
23
25
  participatory_space_admin_layout
24
26
 
25
27
  def organization_processes
@@ -32,7 +34,7 @@ module Decidim
32
34
  end
33
35
 
34
36
  def permissions_context
35
- super.merge(current_participatory_space: current_participatory_space)
37
+ super.merge(current_participatory_space:)
36
38
  end
37
39
 
38
40
  alias_method :current_participatory_process, :current_participatory_space
@@ -9,7 +9,7 @@ module Decidim
9
9
  include Concerns::ParticipatoryProcessAdmin
10
10
 
11
11
  def permissions_context
12
- super.merge(current_participatory_space: current_participatory_space)
12
+ super.merge(current_participatory_space:)
13
13
  end
14
14
  end
15
15
  end
@@ -8,7 +8,7 @@ module Decidim
8
8
  include Concerns::ParticipatoryProcessAdmin
9
9
 
10
10
  def permissions_context
11
- super.merge(current_participatory_space: current_participatory_space)
11
+ super.merge(current_participatory_space:)
12
12
  end
13
13
  end
14
14
  end
@@ -9,6 +9,7 @@ module Decidim
9
9
  class ParticipatoryProcessAttachmentCollectionsController < Decidim::Admin::ApplicationController
10
10
  include Decidim::Admin::Concerns::HasAttachmentCollections
11
11
  include Concerns::ParticipatoryProcessAdmin
12
+ include Decidim::Admin::Concerns::HasTabbedMenu
12
13
 
13
14
  def after_destroy_path
14
15
  participatory_process_attachment_collections_path(current_participatory_process)
@@ -17,6 +18,10 @@ module Decidim
17
18
  def collection_for
18
19
  current_participatory_process
19
20
  end
21
+
22
+ private
23
+
24
+ def tab_menu_name = :participatory_process_admin_attachments_menu
20
25
  end
21
26
  end
22
27
  end
@@ -9,6 +9,7 @@ module Decidim
9
9
  class ParticipatoryProcessAttachmentsController < Decidim::Admin::ApplicationController
10
10
  include Concerns::ParticipatoryProcessAdmin
11
11
  include Decidim::Admin::Concerns::HasAttachments
12
+ include Decidim::Admin::Concerns::HasTabbedMenu
12
13
 
13
14
  def after_destroy_path
14
15
  participatory_process_attachments_path(current_participatory_process)
@@ -17,6 +18,10 @@ module Decidim
17
18
  def attached_to
18
19
  current_participatory_process
19
20
  end
21
+
22
+ private
23
+
24
+ def tab_menu_name = :participatory_process_admin_attachments_menu
20
25
  end
21
26
  end
22
27
  end
@@ -5,7 +5,7 @@ module Decidim
5
5
  module Admin
6
6
  # Controller that allows to manage the content from the participatory process landing page content blocks
7
7
  class ParticipatoryProcessGroupLandingPageContentBlocksController < Decidim::ParticipatoryProcesses::Admin::ApplicationController
8
- include Decidim::Admin::LandingPageContentBlocks
8
+ include Decidim::Admin::ContentBlocks::LandingPageContentBlocks
9
9
 
10
10
  layout "decidim/admin/participatory_process_group"
11
11
 
@@ -33,10 +33,6 @@ module Decidim
33
33
  participatory_process_group_landing_page_content_block_path(scoped_resource, params[:id])
34
34
  end
35
35
 
36
- def submit_button_text
37
- t("participatory_process_group_landing_page_content_blocks.edit.update", scope: "decidim.admin")
38
- end
39
-
40
36
  alias participatory_process_group scoped_resource
41
37
 
42
38
  def collection
@@ -6,7 +6,11 @@ module Decidim
6
6
  # Controller that allows managing the participatory process group landing
7
7
  # page
8
8
  class ParticipatoryProcessGroupLandingPageController < Decidim::ParticipatoryProcesses::Admin::ApplicationController
9
- include Decidim::Admin::LandingPage
9
+ include Decidim::Admin::ContentBlocks::LandingPage
10
+ include Decidim::TranslatableAttributes
11
+
12
+ before_action :set_context_breadcrumb
13
+ add_breadcrumb_item_from_menu :admin_participatory_process_group_menu
10
14
 
11
15
  layout "decidim/admin/participatory_process_group"
12
16
 
@@ -28,12 +32,9 @@ module Decidim
28
32
  participatory_process_group_landing_page_path(scoped_resource)
29
33
  end
30
34
 
31
- def active_content_blocks_title
32
- t("participatory_process_group_landing_page.edit.active_content_blocks", scope: "decidim.admin")
33
- end
34
-
35
- def inactive_content_blocks_title
36
- t("participatory_process_group_landing_page.edit.inactive_content_blocks", scope: "decidim.admin")
35
+ def resource_create_url(manifest_name)
36
+ participatory_process_group_landing_page_content_blocks_path(participatory_process_group_id: params[:participatory_process_group_id],
37
+ manifest_name:)
37
38
  end
38
39
 
39
40
  def resource_content_block_cell
@@ -47,6 +48,22 @@ module Decidim
47
48
  def collection
48
49
  @collection ||= OrganizationParticipatoryProcessGroups.new(current_user.organization).query
49
50
  end
51
+
52
+ def set_context_breadcrumb
53
+ @context_breadcrumb_items ||= [
54
+ {
55
+ label: I18n.t("menu.participatory_process_groups", scope: "decidim.admin"),
56
+ url: decidim_admin_participatory_processes.participatory_process_groups_path,
57
+ active: false
58
+ },
59
+ {
60
+ label: translated_attribute(scoped_resource.title),
61
+ url: edit_participatory_process_group_path(scoped_resource),
62
+ active: false,
63
+ resource: scoped_resource
64
+ }
65
+ ]
66
+ end
50
67
  end
51
68
  end
52
69
  end
@@ -6,8 +6,13 @@ module Decidim
6
6
  # Controller that allows managing participatory process groups.
7
7
  #
8
8
  class ParticipatoryProcessGroupsController < Decidim::ParticipatoryProcesses::Admin::ApplicationController
9
+ include Decidim::TranslatableAttributes
10
+
9
11
  helper ProcessesForSelectHelper
10
12
 
13
+ before_action :set_controller_breadcrumb
14
+ add_breadcrumb_item_from_menu :admin_participatory_processes_menu
15
+
11
16
  helper_method :collection, :participatory_process_group
12
17
 
13
18
  def index
@@ -80,6 +85,17 @@ module Decidim
80
85
 
81
86
  private
82
87
 
88
+ def set_controller_breadcrumb
89
+ return unless collection.exists?(params[:id])
90
+
91
+ controller_breadcrumb_items.append(
92
+ label: translated_attribute(participatory_process_group.title),
93
+ url: edit_participatory_process_group_path(participatory_process_group),
94
+ active: true,
95
+ resource: participatory_process_group
96
+ )
97
+ end
98
+
83
99
  def participatory_process_group
84
100
  @participatory_process_group ||= collection.find(params[:id])
85
101
  end
@@ -4,6 +4,10 @@ module Decidim
4
4
  module ParticipatoryProcesses
5
5
  module Admin
6
6
  class ParticipatoryProcessImportsController < Decidim::ParticipatoryProcesses::Admin::ApplicationController
7
+ before_action :set_controller_breadcrumb
8
+
9
+ layout "decidim/admin/participatory_processes"
10
+
7
11
  def new
8
12
  enforce_permission_to :import, :process
9
13
  @form = form(ParticipatoryProcessImportForm).instance
@@ -25,6 +29,16 @@ module Decidim
25
29
  end
26
30
  end
27
31
  end
32
+
33
+ private
34
+
35
+ def set_controller_breadcrumb
36
+ controller_breadcrumb_items << {
37
+ label: t("import", scope: "decidim.admin.actions"),
38
+ url: new_import_path,
39
+ active: true
40
+ }
41
+ end
28
42
  end
29
43
  end
30
44
  end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module ParticipatoryProcesses
5
+ module Admin
6
+ # Controller that allows to manage the content from the participatory process landing page content blocks
7
+ class ParticipatoryProcessLandingPageContentBlocksController < Decidim::ParticipatoryProcesses::Admin::ApplicationController
8
+ include Decidim::Admin::ContentBlocks::LandingPageContentBlocks
9
+ include Concerns::ParticipatoryProcessAdmin
10
+
11
+ layout "decidim/admin/participatory_process"
12
+
13
+ private
14
+
15
+ def content_block_scope
16
+ :participatory_process_homepage
17
+ end
18
+
19
+ alias scoped_resource current_participatory_space
20
+
21
+ def enforce_permission_to_update_resource
22
+ enforce_permission_to :update, :process, process: scoped_resource
23
+ end
24
+
25
+ def edit_resource_landing_page_path
26
+ edit_participatory_process_landing_page_path(scoped_resource)
27
+ end
28
+
29
+ def resource_landing_page_content_block_path
30
+ participatory_process_landing_page_content_block_path(scoped_resource, params[:id])
31
+ end
32
+
33
+ def content_block_destroy_error_text = t("destroy.error", scope: i18n_scope)
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module ParticipatoryProcesses
5
+ module Admin
6
+ # Controller that allows managing the participatory process landing page
7
+ class ParticipatoryProcessLandingPageController < Decidim::ParticipatoryProcesses::Admin::ApplicationController
8
+ include Decidim::Admin::ContentBlocks::LandingPage
9
+ include Concerns::ParticipatoryProcessAdmin
10
+
11
+ layout "decidim/admin/participatory_process"
12
+
13
+ def content_block_scope
14
+ current_participatory_space_manifest.content_blocks_scope_name
15
+ end
16
+
17
+ alias scoped_resource current_participatory_space
18
+
19
+ def enforce_permission_to_update_resource
20
+ enforce_permission_to :update, :process, process: scoped_resource
21
+ end
22
+
23
+ def resource_sort_url
24
+ participatory_process_landing_page_path(scoped_resource)
25
+ end
26
+
27
+ def resource_create_url(manifest_name)
28
+ participatory_process_landing_page_content_blocks_path(slug: params[:slug], manifest_name:)
29
+ end
30
+
31
+ def resource_content_block_cell
32
+ "decidim/participatory_processes/content_block"
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -5,40 +5,20 @@ module Decidim
5
5
  module Admin
6
6
  # Controller that allows managing participatory process publications.
7
7
  #
8
- class ParticipatoryProcessPublicationsController < Decidim::Admin::ApplicationController
8
+ # i18n-tasks-use t('decidim.admin.participatory_process_publications.create.error')
9
+ # i18n-tasks-use t('decidim.admin.participatory_process_publications.create.success')
10
+ # i18n-tasks-use t('decidim.admin.participatory_process_publications.destroy.error')
11
+ # i18n-tasks-use t('decidim.admin.participatory_process_publications.destroy.success')
12
+ class ParticipatoryProcessPublicationsController < Decidim::Admin::SpacePublicationsController
9
13
  include Concerns::ParticipatoryProcessAdmin
10
14
 
11
- def create
12
- enforce_permission_to :publish, :process, process: current_participatory_process
15
+ private
13
16
 
14
- PublishParticipatoryProcess.call(current_participatory_process, current_user) do
15
- on(:ok) do
16
- flash[:notice] = I18n.t("participatory_process_publications.create.success", scope: "decidim.admin")
17
- end
17
+ def enforce_permission_to_publish = enforce_permission_to(:publish, :process, process: current_participatory_process)
18
18
 
19
- on(:invalid) do
20
- flash.now[:alert] = I18n.t("participatory_process_publications.create.error", scope: "decidim.admin")
21
- end
19
+ def i18n_scope = "decidim.admin.participatory_process_publications"
22
20
 
23
- redirect_back(fallback_location: participatory_processes_path)
24
- end
25
- end
26
-
27
- def destroy
28
- enforce_permission_to :publish, :process, process: current_participatory_process
29
-
30
- UnpublishParticipatoryProcess.call(current_participatory_process, current_user) do
31
- on(:ok) do
32
- flash[:notice] = I18n.t("participatory_process_publications.destroy.success", scope: "decidim.admin")
33
- end
34
-
35
- on(:invalid) do
36
- flash.now[:alert] = I18n.t("participatory_process_publications.destroy.error", scope: "decidim.admin")
37
- end
38
-
39
- redirect_back(fallback_location: participatory_processes_path)
40
- end
41
- end
21
+ def fallback_location = participatory_processes_path
42
22
  end
43
23
  end
44
24
  end
@@ -9,7 +9,7 @@ module Decidim
9
9
  include Concerns::ParticipatoryProcessAdmin
10
10
 
11
11
  def create
12
- enforce_permission_to :activate, :process_step, process_step: process_step
12
+ enforce_permission_to(:activate, :process_step, process_step:)
13
13
 
14
14
  ActivateParticipatoryProcessStep.call(process_step, current_user) do
15
15
  on(:ok) do
@@ -8,6 +8,9 @@ module Decidim
8
8
  class ParticipatoryProcessStepsController < Decidim::Admin::ApplicationController
9
9
  include Concerns::ParticipatoryProcessAdmin
10
10
 
11
+ before_action :find_participatory_process_step, except: [:index, :new, :create]
12
+ before_action :set_controller_breadcrumb
13
+
11
14
  def index
12
15
  enforce_permission_to :read, :process_step
13
16
  end
@@ -35,13 +38,11 @@ module Decidim
35
38
  end
36
39
 
37
40
  def edit
38
- @participatory_process_step = collection.find(params[:id])
39
41
  enforce_permission_to :update, :process_step, process_step: @participatory_process_step
40
42
  @form = form(ParticipatoryProcessStepForm).from_model(@participatory_process_step)
41
43
  end
42
44
 
43
45
  def update
44
- @participatory_process_step = collection.find(params[:id])
45
46
  enforce_permission_to :update, :process_step, process_step: @participatory_process_step
46
47
  @form = form(ParticipatoryProcessStepForm).from_params(params)
47
48
 
@@ -59,12 +60,10 @@ module Decidim
59
60
  end
60
61
 
61
62
  def show
62
- @participatory_process_step = collection.find(params[:id])
63
63
  enforce_permission_to :read, :process_step, process_step: @participatory_process_step
64
64
  end
65
65
 
66
66
  def destroy
67
- @participatory_process_step = collection.find(params[:id])
68
67
  enforce_permission_to :destroy, :process_step, process_step: @participatory_process_step
69
68
 
70
69
  DestroyParticipatoryProcessStep.call(@participatory_process_step, current_user) do
@@ -85,6 +84,19 @@ module Decidim
85
84
  def collection
86
85
  @collection ||= current_participatory_process.steps
87
86
  end
87
+
88
+ def find_participatory_process_step
89
+ @participatory_process_step = collection.find(params[:id])
90
+ end
91
+
92
+ def set_controller_breadcrumb
93
+ return if @participatory_process_step.blank?
94
+
95
+ controller_breadcrumb_items << {
96
+ label: translated_attribute(@participatory_process_step.title),
97
+ active: true
98
+ }
99
+ end
88
100
  end
89
101
  end
90
102
  end
@@ -6,6 +6,9 @@ module Decidim
6
6
  # Controller used to manage participatory process types for the current
7
7
  # organization
8
8
  class ParticipatoryProcessTypesController < Decidim::ParticipatoryProcesses::Admin::ApplicationController
9
+ include Decidim::TranslatableAttributes
10
+ before_action :set_controller_breadcrumb
11
+
9
12
  helper_method :collection, :current_participatory_process_type
10
13
  layout "decidim/admin/participatory_process_type"
11
14
 
@@ -81,6 +84,22 @@ module Decidim
81
84
 
82
85
  private
83
86
 
87
+ def set_controller_breadcrumb
88
+ controller_breadcrumb_items << {
89
+ label: t("participatory_process_types", scope: "decidim.admin.menu"),
90
+ url: participatory_process_types_path,
91
+ active: false
92
+ }
93
+
94
+ return if params[:id].blank?
95
+
96
+ controller_breadcrumb_items << {
97
+ label: translated_attribute(current_participatory_process_type.title),
98
+ url: edit_participatory_process_type_path(current_participatory_process_type),
99
+ active: true
100
+ }
101
+ end
102
+
84
103
  def participatory_process_type_form
85
104
  form(Decidim::ParticipatoryProcesses::Admin::ParticipatoryProcessTypeForm)
86
105
  end