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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 40a38d3c14ec379b2eff9e38321b9cd57233f80e6f81842b8bd84e68225558e8
4
- data.tar.gz: 3470aac3f37ab6a99136542b19edc742b46e6903848ac9a9f7d864b62242f823
3
+ metadata.gz: c20cba8c3db18a435e4fc579d65c157b7fb3090248ae43439f38a8b965c8e5f9
4
+ data.tar.gz: 0c891de5843b312c0b05b64278dc8f9b503f01a7e8ecc7a92d365ed196955af9
5
5
  SHA512:
6
- metadata.gz: 8f81b5d684e45bb3854beca6fad5defdf76a08c86023250eb35f24a6fd122cac0b6294dc7c3b044e122be2a49876cd21d180c44b42472e5cd3187bc90cc6ec8f
7
- data.tar.gz: 232317368ddab2ab5184a47b6f9724acda35fb8588df860c1dbfcf1f09a3e315967aeaa9a9623c965a39ee7bc2ce096d9fde0e3243a503a5ad3a5c95c9d14020
6
+ metadata.gz: 8ce2935928f0edaab57c9bd244f086468e3c89a595412d899f12c3257fe6ac1fd911b02ce3db187b5aba2c8c8a1781210f748b6dd472ed2fc3afe0b04bce8311
7
+ data.tar.gz: a02b2043ab072f42bc30ad1c3ab65992d624acbe57a74f98602218477b8d102a41033d3de14f49b76175096b8cd91629a193ed636b73c91d5d501a3d1e64b6bf
data/README.md CHANGED
@@ -25,7 +25,7 @@ This module provides:
25
25
 
26
26
  ## Installation
27
27
 
28
- This is on the default Decidim installation so you shouldn't change anything to use this participatory space.
28
+ This is on the default Decidim installation so you should not change anything to use this participatory space.
29
29
 
30
30
  ## Screenshots
31
31
 
@@ -6,7 +6,11 @@ module Decidim
6
6
  delegate :scoped_resource, to: :controller
7
7
 
8
8
  def edit_content_block_path
9
- decidim_participatory_processes.edit_participatory_process_group_landing_page_content_block_path(scoped_resource, manifest_name)
9
+ decidim_participatory_processes.edit_participatory_process_group_landing_page_content_block_path(scoped_resource, model)
10
+ end
11
+
12
+ def content_block_path
13
+ decidim_participatory_processes.participatory_process_group_landing_page_content_block_path(scoped_resource, model)
10
14
  end
11
15
 
12
16
  def decidim_participatory_processes
@@ -0,0 +1 @@
1
+ <%# This partial overrides the default one to render nothing %>
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module ParticipatoryProcessGroups
5
+ module ContentBlocks
6
+ class ExtraDataCell < Decidim::ContentBlocks::ParticipatorySpaceExtraDataCell
7
+ include Decidim::SanitizeHelper
8
+
9
+ delegate :developer_group, :target, :participatory_scope, :participatory_structure, to: :resource
10
+
11
+ private
12
+
13
+ def extra_data_items
14
+ [developer_group_item, target_item, participatory_scope_item, participatory_structure_item].compact
15
+ end
16
+
17
+ def developer_group_item
18
+ return if (text = decidim_sanitize translated_attribute(developer_group)).blank?
19
+
20
+ {
21
+ title: t("decidim.participatory_process_groups.content_blocks.extra_data.developer_group"),
22
+ icon: "question-line",
23
+ text:
24
+ }
25
+ end
26
+
27
+ def target_item
28
+ return if (text = decidim_sanitize translated_attribute(target)).blank?
29
+
30
+ {
31
+ title: t("decidim.participatory_process_groups.content_blocks.extra_data.target"),
32
+ icon: "question-line",
33
+ text:
34
+ }
35
+ end
36
+
37
+ def participatory_scope_item
38
+ return if (text = decidim_sanitize translated_attribute(participatory_scope)).blank?
39
+
40
+ {
41
+ title: t("decidim.participatory_process_groups.content_blocks.extra_data.participatory_scope"),
42
+ icon: "question-line",
43
+ text:
44
+ }
45
+ end
46
+
47
+ def participatory_structure_item
48
+ return if (text = decidim_sanitize translated_attribute(participatory_structure)).blank?
49
+
50
+ {
51
+ title: t("decidim.participatory_process_groups.content_blocks.extra_data.participatory_structure"),
52
+ icon: "question-line",
53
+ text:
54
+ }
55
+ end
56
+
57
+ def group_uri
58
+ @group_uri = URI.parse(group_url)
59
+ end
60
+
61
+ def group_url_text
62
+ group_uri.host + group_uri.path
63
+ end
64
+
65
+ def block_id
66
+ "participatory_process_group-extra_data"
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,30 @@
1
+ <h2 class="h2 decorator"><%= title_text %></h2>
2
+
3
+ <div class="editor-content content-block__description">
4
+ <%= description_text %>
5
+ </div>
6
+
7
+ <% group_attributes1 = [processes_count_item, meta_scope_item].compact %>
8
+ <% group_attributes2 = [hashtag_item, external_link_item].compact %>
9
+
10
+ <div class="participatory-space-group__content-block-metadata">
11
+ <% group_attributes1.each do |item| %>
12
+ <% next if item.blank? %>
13
+
14
+ <span>
15
+ <%= icon item[:icon] %>
16
+ <%= item[:text] %>
17
+ </span>
18
+ <% end %>
19
+ </div>
20
+
21
+ <div class="participatory-space-group__content-block-metadata">
22
+ <% group_attributes2.each do |item| %>
23
+ <% next if item.blank? %>
24
+
25
+ <span>
26
+ <%= icon item[:icon] %>
27
+ <%= item[:text] %>
28
+ </span>
29
+ <% end %>
30
+ </div>
@@ -0,0 +1,77 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module ParticipatoryProcessGroups
5
+ module ContentBlocks
6
+ class MainDataCell < Decidim::ContentBlocks::ParticipatorySpaceMainDataCell
7
+ include Decidim::SanitizeHelper
8
+ include Decidim::TwitterSearchHelper
9
+
10
+ delegate :title, :description, :hashtag, :group_url, :meta_scope, to: :resource
11
+
12
+ private
13
+
14
+ def extra_classes
15
+ "participatory-space-group__content-block"
16
+ end
17
+
18
+ def title_text
19
+ translated_attribute(title)
20
+ end
21
+
22
+ def description_text
23
+ decidim_sanitize_editor_admin translated_attribute(description)
24
+ end
25
+
26
+ def hashtag_item
27
+ return if hashtag_text.blank?
28
+
29
+ {
30
+ icon: "twitter-x-line",
31
+ text: link_to("##{hashtag_text}", twitter_hashtag_url(hashtag_text), target: "_blank", rel: "noopener")
32
+ }
33
+ end
34
+
35
+ def processes_count_item
36
+ {
37
+ icon: "grid-line",
38
+ text: t(
39
+ "decidim.participatory_process_groups.content_blocks.title.participatory_processes",
40
+ count: cell("decidim/participatory_process_groups/content_blocks/related_processes", model).total_count
41
+ )
42
+ }
43
+ end
44
+
45
+ def external_link_item
46
+ return if group_url.blank?
47
+
48
+ {
49
+ icon: "external-link-line",
50
+ text: link_to(group_url_text, group_url, target: "_blank", rel: "noopener")
51
+ }
52
+ end
53
+
54
+ def meta_scope_item
55
+ return if (scope_text = translated_attribute(meta_scope)).blank?
56
+
57
+ {
58
+ icon: "globe-line",
59
+ text: "<strong>#{t("decidim.participatory_process_groups.content_blocks.title.meta_scope")}</strong> #{scope_text}"
60
+ }
61
+ end
62
+
63
+ def hashtag_text
64
+ @hashtag_text ||= decidim_html_escape(hashtag || "")
65
+ end
66
+
67
+ def group_url_text
68
+ group_uri.host + group_uri.path
69
+ end
70
+
71
+ def group_uri
72
+ @group_uri = URI.parse(group_url)
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module ParticipatoryProcessGroups
5
+ module ContentBlocks
6
+ class RelatedProcessesCell < Decidim::ParticipatoryProcesses::ContentBlocks::RelatedProcessesCell
7
+ def related_processes
8
+ @related_processes ||=
9
+ Decidim::ParticipatoryProcesses::GroupPublishedParticipatoryProcesses.new(
10
+ resource,
11
+ current_user
12
+ ).query
13
+ end
14
+
15
+ def filtered_processes
16
+ return related_processes unless filter_active?
17
+
18
+ related_processes.active
19
+ end
20
+
21
+ def total_count
22
+ filtered_processes.size
23
+ end
24
+
25
+ private
26
+
27
+ def filter_active?
28
+ default_filter == "active"
29
+ end
30
+
31
+ def default_filter
32
+ return if model.blank?
33
+
34
+ model.settings.try(:default_filter)
35
+ end
36
+
37
+ def title
38
+ if filter_active?
39
+ t("active", scope: "decidim.participatory_process_groups.content_blocks.participatory_processes")
40
+ else
41
+ t("name", scope: "decidim.participatory_process_groups.content_blocks.participatory_processes")
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -3,11 +3,11 @@
3
3
  module Decidim
4
4
  module ParticipatoryProcessGroups
5
5
  module ContentBlocks
6
- class StatisticsCell < Decidim::StatisticsCell
6
+ class StatisticsCell < Decidim::ContentBlocks::ParticipatorySpaceStatsCell
7
7
  def stats
8
8
  @stats ||= begin
9
9
  participatory_process_group = Decidim::ParticipatoryProcessGroup.find(model.scoped_resource_id)
10
- Decidim::ParticipatoryProcesses::ParticipatoryProcessGroupStatsPresenter.new(participatory_process_group: participatory_process_group).collection
10
+ Decidim::ParticipatoryProcesses::ParticipatoryProcessGroupStatsPresenter.new(participatory_process_group:).collection
11
11
  end
12
12
  end
13
13
  end
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module ParticipatoryProcessGroups
5
5
  # This cell renders the filter tabs of participatory processes
6
- # in a group. It's inherited from ProcessFiltersCell of participatory
6
+ # in a group. It is inherited from ProcessFiltersCell of participatory
7
7
  # processes index but is based in the group processes
8
8
  #
9
9
  # The `model` must be a Decidim::ParticipatoryProcessGroup`
@@ -57,10 +57,10 @@ module Decidim
57
57
  {
58
58
  with_date: date_filter,
59
59
  with_any_scope: get_filter(:with_any_scope),
60
- with_area: get_filter(:with_area),
61
- with_type: filter_with_type ? get_filter(:with_type) : nil
60
+ with_any_area: get_filter(:with_any_area),
61
+ with_any_type: filter_with_type ? get_filter(:with_any_type) : nil
62
62
  },
63
- current_user: current_user,
63
+ current_user:,
64
64
  organization: current_organization
65
65
  ).result
66
66
 
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module ParticipatoryProcesses
5
+ class ContentBlockCell < Decidim::Admin::ContentBlockCell
6
+ delegate :scoped_resource, to: :controller
7
+
8
+ def edit_content_block_path
9
+ decidim_participatory_processes.edit_participatory_process_landing_page_content_block_path(scoped_resource, model)
10
+ end
11
+
12
+ def content_block_path
13
+ decidim_participatory_processes.participatory_process_landing_page_content_block_path(scoped_resource, model)
14
+ end
15
+
16
+ def decidim_participatory_processes
17
+ Decidim::ParticipatoryProcesses::AdminEngine.routes.url_helpers
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1 @@
1
+ <button data-dialog-open="process-steps-modal"><%= active_step_name %></button>
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module ParticipatoryProcesses
5
+ module ContentBlocks
6
+ class ExtraDataCell < Decidim::ContentBlocks::ParticipatorySpaceExtraDataCell
7
+ include ParticipatorySpaceContentBlocksHelper
8
+
9
+ delegate :steps, :active_step, :start_date, :end_date, :participatory_process_group, to: :resource
10
+
11
+ private
12
+
13
+ def extra_data_items
14
+ [step_item, dates_item, group_item].compact
15
+ end
16
+
17
+ def active_step_name
18
+ translated_attribute active_step.title
19
+ end
20
+
21
+ def step_item
22
+ return if active_step.blank?
23
+
24
+ {
25
+ title: t("active_step", scope: "layouts.decidim.participatory_processes.participatory_process"),
26
+ icon: "direction-line",
27
+ partial: "active_step"
28
+ }
29
+ end
30
+
31
+ def dates_item
32
+ {
33
+ title: [
34
+ t("start_date", scope: "activemodel.attributes.participatory_process_step"),
35
+ t("end_date", scope: "activemodel.attributes.participatory_process_step")
36
+ ].join(" / "),
37
+ icon: "calendar-todo-line",
38
+ text: [
39
+ start_date.present? ? l(start_date, format: :decidim_short_with_month_name_short) : "?",
40
+ end_date.present? ? l(end_date, format: :decidim_short_with_month_name_short) : "?"
41
+ ].join(" / ")
42
+ }
43
+ end
44
+
45
+ def group_item
46
+ return if participatory_process_group.blank?
47
+
48
+ {
49
+ title: t("belongs_to_group", scope: "decidim.participatory_processes.show"),
50
+ icon: "archive-line",
51
+ text: link_to(
52
+ translated_attribute(participatory_process_group.title),
53
+ decidim_participatory_processes.participatory_process_group_path(participatory_process_group)
54
+ )
55
+ }
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module ParticipatoryProcesses
5
+ module ContentBlocks
6
+ class HeroCell < Decidim::ContentBlocks::ParticipatorySpaceHeroCell
7
+ include Decidim::ApplicationHelper
8
+
9
+ delegate :active_step, to: :resource
10
+
11
+ def decidim_participatory_processes
12
+ Decidim::ParticipatoryProcesses::Engine.routes.url_helpers
13
+ end
14
+
15
+ def cta_text
16
+ return if active_step.blank?
17
+
18
+ @cta_text ||= translated_attribute(active_step.cta_text).presence
19
+ end
20
+
21
+ def cta_path
22
+ return if active_step.blank?
23
+
24
+ @cta_path ||= active_step.cta_path.presence && step_cta_url(resource)
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -3,46 +3,33 @@
3
3
  module Decidim
4
4
  module ParticipatoryProcesses
5
5
  module ContentBlocks
6
- class HighlightedProcessesCell < Decidim::ViewModel
7
- include Decidim::ApplicationHelper
8
- include Decidim::SanitizeHelper
9
- include Decidim::CardHelper
10
- include Cell::ViewModel::Partial
11
- include ParticipatoryProcessHelper
12
- include Decidim::ParticipatoryProcesses::Engine.routes.url_helpers
13
-
6
+ class HighlightedProcessesCell < Decidim::ContentBlocks::HighlightedParticipatorySpacesCell
14
7
  delegate :current_user, to: :controller
15
8
 
16
- def show
17
- if single_item?
18
- render "single_process"
19
- elsif highlighted_items.any?
20
- render
21
- end
22
- end
23
-
24
- def single_item?
25
- highlighted_items.length == 1
26
- end
27
-
28
- def max_results
29
- model.settings.max_results
9
+ def highlighted_spaces
10
+ @highlighted_spaces ||= promoted_groups + highlighted_processes
30
11
  end
31
12
 
32
- def highlighted_items
33
- @highlighted_items ||= promoted_groups + highlighted_processes
34
- end
13
+ alias limited_highlighted_spaces highlighted_spaces
35
14
 
36
15
  def i18n_scope
37
16
  "decidim.participatory_processes.pages.home.highlighted_processes"
38
17
  end
39
18
 
40
- def decidim_participatory_processes
41
- Decidim::ParticipatoryProcesses::Engine.routes.url_helpers
19
+ def all_path
20
+ Decidim::ParticipatoryProcesses::Engine.routes.url_helpers.participatory_processes_path
21
+ end
22
+
23
+ def max_results
24
+ model.settings.max_results
42
25
  end
43
26
 
44
27
  private
45
28
 
29
+ def block_id
30
+ "highlighted-processes"
31
+ end
32
+
46
33
  def highlighted_processes
47
34
  @highlighted_processes ||= if highlighted_processes_max_results.zero?
48
35
  []
@@ -1,3 +1,3 @@
1
1
  <% form.fields_for :settings, form.object.settings do |settings_fields| %>
2
- <%= settings_fields.select :max_results, [4, 8, 12], prompt: "", label: label %>
2
+ <%= settings_fields.select :max_results, [6, 9, 12], prompt: "", label: %>
3
3
  <% end %>
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module ParticipatoryProcesses
5
+ module ContentBlocks
6
+ class MainDataCell < Decidim::ContentBlocks::ParticipatorySpaceMainDataCell
7
+ include ParticipatorySpaceContentBlocksHelper
8
+ include ParticipatoryProcessHelper
9
+ include Decidim::ComponentPathHelper
10
+ include ActiveLinkTo
11
+
12
+ delegate :short_description, :description, to: :resource
13
+
14
+ private
15
+
16
+ def title_text
17
+ t("title", scope: "decidim.participatory_processes.participatory_processes.show")
18
+ end
19
+
20
+ def short_description_text
21
+ decidim_sanitize_editor_admin translated_attribute(short_description)
22
+ end
23
+
24
+ def description_text
25
+ decidim_sanitize_editor_admin translated_attribute(description)
26
+ end
27
+
28
+ def nav_items
29
+ process_nav_items(resource)
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module ParticipatoryProcesses
5
+ module ContentBlocks
6
+ class MetadataCell < Decidim::ContentBlocks::ParticipatorySpaceMetadataCell
7
+ private
8
+
9
+ def metadata_items
10
+ %w(participatory_scope target participatory_structure area_name meta_scope local_area developer_group)
11
+ end
12
+
13
+ def space_presenter
14
+ ParticipatoryProcessPresenter
15
+ end
16
+
17
+ def translations_scope
18
+ "decidim.participatory_processes.participatory_processes.description"
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module ParticipatoryProcesses
5
+ module ContentBlocks
6
+ class MetricsCell < Decidim::ContentBlocks::ParticipatorySpaceMetricsCell
7
+ include ParticipatorySpaceContentBlocksHelper
8
+
9
+ private
10
+
11
+ def metrics
12
+ @metrics ||= ParticipatoryProcessMetricChartsPresenter.new(participatory_process: resource)
13
+ end
14
+
15
+ def scope
16
+ "participatory_process"
17
+ end
18
+
19
+ def show_all_path
20
+ decidim_participatory_processes.all_metrics_participatory_process_path(resource)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,3 @@
1
+ <% form.fields_for :settings, form.object.settings do |settings_fields| %>
2
+ <%= settings_fields.select(:default_filter, default_filter_options, prompt: "", label: default_filter_label) if include_default_filter_setting? %>
3
+ <% end %>
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module ParticipatoryProcesses
5
+ module ContentBlocks
6
+ class ProcessesSettingsFormCell < Decidim::ViewModel
7
+ alias form model
8
+
9
+ def content_block
10
+ options[:content_block]
11
+ end
12
+
13
+ def include_default_filter_setting?
14
+ form.object.settings.attribute_names.include? "default_filter"
15
+ end
16
+
17
+ def default_filter_label
18
+ I18n.t("decidim.participatory_processes.admin.content_blocks.highlighted_processes.selection_criteria")
19
+ end
20
+
21
+ def default_filter_options
22
+ [[I18n.t("decidim.participatory_processes.admin.content_blocks.highlighted_processes.active"), "active"],
23
+ [I18n.t("decidim.participatory_processes.admin.content_blocks.highlighted_processes.all"), "all"]]
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1 @@
1
+ <%= cell "decidim/participatory_processes/processes", filtered_processes, total_count:, title: %>
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module ParticipatoryProcesses
5
+ module ContentBlocks
6
+ class RelatedProcessesCell < Decidim::ContentBlocks::BaseCell
7
+ def show
8
+ render if total_count.positive?
9
+ end
10
+
11
+ def related_processes
12
+ @related_processes ||=
13
+ resource
14
+ .linked_participatory_space_resources(:participatory_processes, link_name)
15
+ .published
16
+ .all
17
+ end
18
+
19
+ def filtered_processes
20
+ return related_processes unless limit?
21
+
22
+ related_processes.limit(limit)
23
+ end
24
+
25
+ def total_count
26
+ related_processes.size
27
+ end
28
+
29
+ private
30
+
31
+ def link_name
32
+ resource.is_a?(Decidim::ParticipatoryProcess) ? "related_processes" : "included_participatory_processes"
33
+ end
34
+
35
+ def resource
36
+ options[:resource] || super
37
+ end
38
+
39
+ def limit
40
+ @limit ||= model.settings.try(:max_results)
41
+ end
42
+
43
+ def limit?
44
+ limit.to_i.positive?
45
+ end
46
+
47
+ def title
48
+ t("related_processes", scope: "decidim.participatory_processes.show")
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end