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
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module ParticipatoryProcesses
5
- module Admin
6
- # A command to notify users when a role is assigned for a participatory process
7
- class NotifyRoleAssignedToParticipatoryProcess < Decidim::Command
8
- def send_notification(user)
9
- Decidim::EventsManager.publish(
10
- event: "decidim.events.participatory_process.role_assigned",
11
- event_class: Decidim::ParticipatoryProcessRoleAssignedEvent,
12
- resource: form.current_participatory_space,
13
- affected_users: [user],
14
- extra: {
15
- role: form.role
16
- }
17
- )
18
- end
19
- end
20
- end
21
- end
22
- end
@@ -1,40 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module ParticipatoryProcesses
5
- module Admin
6
- # A command that sets a participatory process as published.
7
- class PublishParticipatoryProcess < Decidim::Command
8
- # Public: Initializes the command.
9
- #
10
- # process - A ParticipatoryProcess that will be published
11
- # current_user - the user performing this action
12
- def initialize(process, current_user)
13
- @process = process
14
- @current_user = current_user
15
- end
16
-
17
- # Executes the command. Broadcasts these events:
18
- #
19
- # - :ok when everything is valid.
20
- # - :invalid if the data wasn't valid and we couldn't proceed.
21
- #
22
- # Returns nothing.
23
- def call
24
- return broadcast(:invalid) if process.nil? || process.published?
25
-
26
- transaction do
27
- Decidim.traceability.perform_action!("publish", process, current_user, visibility: "all") do
28
- process.publish!
29
- end
30
- end
31
- broadcast(:ok)
32
- end
33
-
34
- private
35
-
36
- attr_reader :process, :current_user
37
- end
38
- end
39
- end
40
- end
@@ -1,40 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module ParticipatoryProcesses
5
- module Admin
6
- # A command that sets a participatory process as unpublished.
7
- class UnpublishParticipatoryProcess < Decidim::Command
8
- # Public: Initializes the command.
9
- #
10
- # process - A ParticipatoryProcess that will be unpublished
11
- # current_user - the user performing this action
12
- def initialize(process, current_user)
13
- @process = process
14
- @current_user = current_user
15
- end
16
-
17
- # Executes the command. Broadcasts these events:
18
- #
19
- # - :ok when everything is valid.
20
- # - :invalid if the data wasn't valid and we couldn't proceed.
21
- #
22
- # Returns nothing.
23
- def call
24
- return broadcast(:invalid) if process.nil? || !process.published?
25
-
26
- transaction do
27
- Decidim.traceability.perform_action!("unpublish", process, current_user) do
28
- process.unpublish!
29
- end
30
- end
31
- broadcast(:ok)
32
- end
33
-
34
- private
35
-
36
- attr_reader :process, :current_user
37
- end
38
- end
39
- end
40
- end
@@ -1,56 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module ParticipatoryProcesses
5
- module Admin
6
- # A command with all the business logic when updated a participatory
7
- # process admin in the system.
8
- class UpdateParticipatoryProcessAdmin < NotifyRoleAssignedToParticipatoryProcess
9
- # Public: Initializes the command.
10
- #
11
- # form - A form object with the params.
12
- # participatory_process - The ParticipatoryProcess that will hold the
13
- # user role
14
- def initialize(form, user_role)
15
- @form = form
16
- @user_role = user_role
17
- end
18
-
19
- # Executes the command. Broadcasts these events:
20
- #
21
- # - :ok when everything is valid.
22
- # - :invalid if the form wasn't valid and we couldn't proceed.
23
- #
24
- # Returns nothing.
25
- def call
26
- return broadcast(:invalid) if form.invalid?
27
- return broadcast(:invalid) unless user_role
28
-
29
- update_role!
30
- broadcast(:ok)
31
- end
32
-
33
- private
34
-
35
- attr_reader :form, :user_role
36
-
37
- def update_role!
38
- extra_info = {
39
- resource: {
40
- title: user_role.user.name
41
- }
42
- }
43
-
44
- Decidim.traceability.update!(
45
- user_role,
46
- form.current_user,
47
- { role: form.role },
48
- extra_info
49
- )
50
-
51
- send_notification user_role.user
52
- end
53
- end
54
- end
55
- end
56
- end
@@ -1,28 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module ParticipatoryProcesses
5
- # A controller that holds the logic to show ParticipatoryProcessSteps in a
6
- # public layout.
7
- class ParticipatoryProcessStepsController < Decidim::ParticipatoryProcesses::ApplicationController
8
- include ParticipatorySpaceContext
9
- participatory_space_layout only: :index
10
-
11
- def index; end
12
-
13
- private
14
-
15
- def organization_participatory_processes
16
- @organization_participatory_processes ||= OrganizationParticipatoryProcesses.new(current_organization).query
17
- end
18
-
19
- def current_participatory_space
20
- return unless params[:participatory_process_slug]
21
-
22
- @current_participatory_space ||= organization_participatory_processes.where(slug: params[:participatory_process_slug]).or(
23
- organization_participatory_processes.where(id: params[:participatory_process_slug])
24
- ).first!
25
- end
26
- end
27
- end
28
- end
@@ -1,37 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module ParticipatoryProcesses
5
- class WidgetsController < Decidim::WidgetsController
6
- helper Decidim::SanitizeHelper
7
-
8
- def show
9
- enforce_permission_to :embed, :participatory_space, current_participatory_space: model
10
-
11
- super
12
- end
13
-
14
- private
15
-
16
- def model
17
- return unless params[:participatory_process_slug]
18
-
19
- @model ||= ParticipatoryProcess.where(organization: current_organization).public_spaces.where(slug: params[:participatory_process_slug]).or(
20
- ParticipatoryProcess.where(organization: current_organization).public_spaces.where(id: params[:participatory_process_slug])
21
- ).first!
22
- end
23
-
24
- def current_participatory_space
25
- model
26
- end
27
-
28
- def iframe_url
29
- @iframe_url ||= participatory_process_widget_url(model)
30
- end
31
-
32
- def permission_class_chain
33
- ::Decidim.permissions_registry.chain_for(::Decidim::ParticipatoryProcesses::ApplicationController)
34
- end
35
- end
36
- end
37
- end
@@ -1,28 +0,0 @@
1
- $(() => {
2
- const $processesGrid = $("#processes-grid");
3
- const $loading = $processesGrid.find(".loading");
4
- const filterLinksSelector = ".order-by__tabs a"
5
-
6
- $loading.hide();
7
-
8
- $processesGrid.on("click", filterLinksSelector, (event) => {
9
- const $processesGridCards = $processesGrid.find(".card-grid .column");
10
- let $target = $(event.target);
11
-
12
- // IE11 matches the <strong> element inside the filtering anchor element
13
- // as the `event.target` breaking the functionality below.
14
- if (!$target.is("a")) {
15
- $target = $target.parents("a");
16
- }
17
-
18
- $(filterLinksSelector).removeClass("is-active");
19
- $target.addClass("is-active");
20
-
21
- $processesGridCards.hide();
22
- $loading.show();
23
-
24
- if (window.history) {
25
- window.history.pushState(null, null, $target.attr("href"));
26
- }
27
- });
28
- });
@@ -1,16 +0,0 @@
1
- <li class="<%= "timeline__item #{step_status_class}" %>">
2
- <div class="timeline__phase">
3
- <span class="timeline__phase__number"><%= participatory_process_step.position + 1 %></span>
4
- </div>
5
- <div class="timeline__info">
6
- <div class="timeline__header">
7
- <span class="timeline__date text-small">
8
- <%= participatory_space_helpers.step_dates(participatory_process_step) %>
9
- </span>
10
- <h3 class="timeline__title heading4"><%= translated_attribute(participatory_process_step.title) %></h3>
11
- </div>
12
- <div class="timeline__content">
13
- <%= decidim_sanitize_editor_admin translated_attribute(participatory_process_step.description) %>
14
- </div>
15
- </div>
16
- </li>
@@ -1,7 +0,0 @@
1
- <ol class="timeline">
2
- <% past_step = true %>
3
- <% current_participatory_space.steps.each do |step| %>
4
- <%= render step, step_status_class: step_class(step, past_step) %>
5
- <% past_step = false if step.active? %>
6
- <% end %>
7
- </ol>
@@ -1,18 +0,0 @@
1
- <% add_decidim_page_title(t("participatory_process_steps.index.title", scope: "decidim")) %>
2
- <div class="steps">
3
- <div class="row column">
4
- <div class="row">
5
- <div class="columns mediumlarge-9 large-7">
6
- <div class="section">
7
- <%= link_to participatory_process_path(current_participatory_space), class: "small hollow" do %>
8
- <%= icon "chevron-left", class: "icon--small", role: "img", "aria-hidden": true %>
9
- <%= t(".back_to_process") %>
10
- <% end %>
11
-
12
- <h2 class="section-heading"><%= t("participatory_process_steps.index.process_steps", scope: "decidim") %></h2>
13
- <%= render partial: "timeline" %>
14
- </div>
15
- </div>
16
- </div>
17
- </div>
18
- </div>
@@ -1,10 +0,0 @@
1
- <div class="section" id="metrics">
2
- <h3 class="section-heading"><%= t("decidim.pages.participatory_space.metrics.headline", name: translated_attribute(current_participatory_space.title)) %></h3>
3
- <%= metrics.params %>
4
- <div class="row mb-sm">
5
- <%= metrics.highlighted %>
6
- </div>
7
- <div class="row column text-center">
8
- <%= link_to t("decidim.pages.participatory_space.metrics.link"), all_metrics_participatory_process_path(current_participatory_space) %>
9
- </div>
10
- </div>
@@ -1 +0,0 @@
1
- <%= cell "decidim/participatory_processes/process_filters", default_filter: default_date_filter %>
@@ -1,4 +0,0 @@
1
- <p>
2
- <span class="text-small text-uppercase text-muted mr-s"><%= t("belongs_to_group", scope: "decidim.participatory_processes.show") %></span>
3
- <%= link_to translated_attribute(participatory_process_group.title), participatory_process_group_path(participatory_process_group) %>
4
- </p>
@@ -1,39 +0,0 @@
1
- <div class="card card--full card--process">
2
- <div class="row collapse card--process__row">
3
- <div class="columns mediumlarge-8 large-6 card--process__column">
4
- <div class="card__content">
5
- <%= link_to participatory_process_path(promoted_process), class: "card__link" do %>
6
- <h2 class="card__title"><%= decidim_html_escape(translated_attribute(promoted_process.title)).html_safe %></h2>
7
- <% end %>
8
- <%= decidim_sanitize_editor html_truncate(translated_attribute(promoted_process.short_description), length: 630, separator: "...") %>
9
- <%= link_to participatory_process_path(promoted_process), class: "button small hollow card__button" do %>
10
- <span class="show-for-sr"><%= decidim_html_escape(translated_attribute(promoted_process.title)) %></span>
11
- <%= t("participatory_processes.promoted_process.more_info", scope: "layouts.decidim") %>
12
- <% end %>
13
- </div>
14
- </div>
15
- <div class="columns mediumlarge-8 large-6 card--process__column">
16
- <div class="card--full__image"
17
- style="background-image:url('<%= promoted_process.attached_uploader(:hero_image).path %>')">
18
- <div class="card__content row collapse">
19
- <div class="large-6 large-offset-6 columns">
20
- <%= link_to participatory_process_cta_path(promoted_process), class: "button expanded button--sc" do %>
21
- <% if translated_in_current_locale?(promoted_process.active_step&.cta_text) %>
22
- <span class="show-for-sr"><%= translated_attribute(promoted_process.active_step.cta_text) %></span>
23
- <span aria-hidden="true"><%= translated_attribute(promoted_process.active_step.cta_text) %></span>
24
- <% else %>
25
- <span class="show-for-sr"><%= t(promoted_process.cta_button_text_key_accessible, resource_name: translated_attribute(promoted_process.title), scope: "layouts.decidim.participatory_processes.promoted_process") %></span>
26
- <span aria-hidden="true"><%= t(promoted_process.cta_button_text_key, scope: "layouts.decidim.participatory_processes.promoted_process") %></span>
27
- <% end %>
28
- <% if promoted_process.active_step %>
29
- <span class="button__info">
30
- <%= t("participatory_processes.promoted_process.active_step", scope: "layouts.decidim") %> <%= translated_attribute promoted_process.active_step.title %>
31
- </span>
32
- <% end %>
33
- <% end %>
34
- </div>
35
- </div>
36
- </div>
37
- </div>
38
- </div>
39
- </div>
@@ -1,31 +0,0 @@
1
- <% cta_settings = participatory_process_group_cta_settings(promoted_process_group) %>
2
- <div class="card card--full card--process">
3
- <div class="row collapse card--process__row">
4
- <div class="columns mediumlarge-8 large-6 card--process__column">
5
- <div class="card__content">
6
- <%= link_to participatory_process_group_path(promoted_process_group), class: "card__link" do %>
7
- <h2 class="card__title"><%= decidim_html_escape(translated_attribute(promoted_process_group.title)).html_safe %></h2>
8
- <% end %>
9
- <%= decidim_sanitize_editor html_truncate(translated_attribute(promoted_process_group.description), length: 630, separator: "...") %>
10
- <%= link_to participatory_process_group_path(promoted_process_group), class: "button small hollow card__button" do %>
11
- <span class="show-for-sr"><%= decidim_html_escape(translated_attribute(promoted_process_group.title)) %></span>
12
- <%= t("participatory_processes.promoted_process_group.more_info", scope: "layouts.decidim") %>
13
- <% end %>
14
- </div>
15
- </div>
16
- <div class="columns mediumlarge-8 large-6 card--process__column">
17
- <div class="card--full__image" style="background-image:url('<%= promoted_process_group.attached_uploader(:hero_image).path %>')">
18
- <% if cta_settings.present? %>
19
- <div class="card__content row collapse">
20
- <div class="large-6 large-offset-6 columns">
21
- <%= link_to cta_settings.path, class: "button expanded button--sc" do %>
22
- <span class="show-for-sr"><%= cta_settings.text %></span>
23
- <span aria-hidden="true"><%= cta_settings.text %></span>
24
- <% end %>
25
- </div>
26
- </div>
27
- <% end %>
28
- </div>
29
- </div>
30
- </div>
31
- </div>
@@ -1,37 +0,0 @@
1
- <% if participatory_process.steps.any? %>
2
- <div class="columns mediumlarge-4">
3
- <div class="process-header__phase">
4
- <div class="process-header__progress">
5
- <ol>
6
- <% past_step = true %>
7
- <% participatory_process.steps.each_with_index do |step, index| %>
8
- <% if past_step %>
9
- <li class="phase-item--past"><span></span></li>
10
- <% else %>
11
- <li><span></span></li>
12
- <% end %>
13
- <% past_step = false if step.active? %>
14
- <% end %>
15
- </ol>
16
- <span class="phase-current"><%= t(".step", current: (participatory_process.active_step.position + 1), total: current_participatory_space.steps.count) %></span>
17
- </div>
18
- <div>
19
- <span class="phase-title"><%= translated_attribute participatory_process.active_step.title %></span>
20
- <span class="phase-date">
21
- <%= participatory_space_helpers.step_dates participatory_process.active_step %>
22
- </span>
23
- </div>
24
- <% cta_text = translated_attribute(participatory_process.active_step.cta_text) %>
25
- <% if participatory_process.active_step.cta_path.present? && cta_text.present? %>
26
- <%= link_to t(".view_steps"), decidim_participatory_processes.participatory_process_participatory_process_steps_path(current_participatory_space), class: "clear button secondary tiny show-for-medium" %>
27
- <%= link_to(
28
- cta_text,
29
- step_cta_url(participatory_process),
30
- class: "button small button--sc show-for-medium"
31
- ) %>
32
- <% else %>
33
- <%= link_to t(".view_steps"), decidim_participatory_processes.participatory_process_participatory_process_steps_path(current_participatory_space) %>
34
- <% end %>
35
- </div>
36
- </div>
37
- <% end %>
@@ -1,20 +0,0 @@
1
- <%
2
- components = participatory_space.components.published.or(Decidim::Component.where(id: self.try(:current_component)))
3
- %>
4
-
5
- <%=
6
- extended_navigation_bar([
7
- {
8
- name: t(".process_menu_item"),
9
- url: decidim_participatory_processes.participatory_process_path(participatory_space),
10
- active: is_active_link?(decidim_participatory_processes.participatory_process_path(participatory_space), :exclusive) ||
11
- is_active_link?(decidim_participatory_processes.all_metrics_participatory_process_path(participatory_space), :exclusive)
12
- }
13
- ] + components.map do |component|
14
- {
15
- name: translated_attribute(component.name),
16
- url: main_component_path(component),
17
- active: is_active_link?(main_component_path(component), :inclusive)
18
- }
19
- end)
20
- %>
@@ -1 +0,0 @@
1
- he:
Binary file
data/db/seeds/city.jpeg DELETED
Binary file
data/db/seeds/city2.jpeg DELETED
Binary file
Binary file
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- $LOAD_PATH.push File.expand_path("lib", __dir__)
4
-
5
- require "decidim/participatory_processes/version"
6
-
7
- Gem::Specification.new do |s|
8
- s.version = Decidim::ParticipatoryProcesses.version
9
- s.authors = ["Josep Jaume Rey Peroy", "Marc Riera Casals", "Oriol Gual Oliva"]
10
- s.email = ["josepjaume@gmail.com", "mrc2407@gmail.com", "oriolgual@gmail.com"]
11
- s.license = "AGPL-3.0"
12
- s.homepage = "https://github.com/decidim/decidim"
13
- s.required_ruby_version = "~> 3.0.0"
14
-
15
- s.name = "decidim-participatory_processes"
16
- s.summary = "Decidim participatory processes module"
17
- s.description = "Participatory processes component for decidim."
18
-
19
- s.files = Dir.chdir(__dir__) do
20
- `git ls-files -z`.split("\x0").select do |f|
21
- (File.expand_path(f) == __FILE__) ||
22
- f.start_with?(*%w(app/ config/ db/ lib/ Rakefile README.md))
23
- end
24
- end
25
-
26
- s.add_dependency "decidim-core", Decidim::ParticipatoryProcesses.version
27
-
28
- s.add_development_dependency "decidim-admin", Decidim::ParticipatoryProcesses.version
29
- s.add_development_dependency "decidim-dev", Decidim::ParticipatoryProcesses.version
30
- s.add_development_dependency "decidim-meetings", Decidim::ParticipatoryProcesses.version
31
- end