decidim-participatory_processes 0.27.8 → 0.28.0.rc4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (254) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/app/cells/decidim/participatory_process_groups/content_block_cell.rb +5 -1
  4. data/app/cells/decidim/participatory_process_groups/content_blocks/extra_data/recent_users.erb +1 -0
  5. data/app/cells/decidim/participatory_process_groups/content_blocks/extra_data_cell.rb +71 -0
  6. data/app/cells/decidim/participatory_process_groups/content_blocks/main_data/content.erb +30 -0
  7. data/app/cells/decidim/participatory_process_groups/content_blocks/main_data_cell.rb +77 -0
  8. data/app/cells/decidim/participatory_process_groups/content_blocks/related_processes_cell.rb +47 -0
  9. data/app/cells/decidim/participatory_process_groups/content_blocks/statistics_cell.rb +2 -2
  10. data/app/cells/decidim/participatory_process_groups/process_filters_cell.rb +4 -4
  11. data/app/cells/decidim/participatory_processes/content_block_cell.rb +21 -0
  12. data/app/cells/decidim/participatory_processes/content_blocks/extra_data/active_step.erb +1 -0
  13. data/app/cells/decidim/participatory_processes/content_blocks/extra_data_cell.rb +60 -0
  14. data/app/cells/decidim/participatory_processes/content_blocks/hero_cell.rb +29 -0
  15. data/app/cells/decidim/participatory_processes/content_blocks/highlighted_processes_cell.rb +14 -27
  16. data/app/cells/decidim/participatory_processes/content_blocks/highlighted_processes_settings_form/show.erb +1 -1
  17. data/app/cells/decidim/participatory_processes/content_blocks/main_data_cell.rb +34 -0
  18. data/app/cells/decidim/participatory_processes/content_blocks/metadata_cell.rb +23 -0
  19. data/app/cells/decidim/participatory_processes/content_blocks/metrics_cell.rb +25 -0
  20. data/app/cells/decidim/participatory_processes/content_blocks/processes_settings_form/show.erb +3 -0
  21. data/app/cells/decidim/participatory_processes/content_blocks/processes_settings_form_cell.rb +28 -0
  22. data/app/cells/decidim/participatory_processes/content_blocks/related_processes/content.erb +1 -0
  23. data/app/cells/decidim/participatory_processes/content_blocks/related_processes_cell.rb +53 -0
  24. data/app/cells/decidim/participatory_processes/content_blocks/stats_cell.rb +17 -0
  25. data/app/cells/decidim/participatory_processes/filtered_participatory_processes_cell.rb +1 -1
  26. data/app/cells/decidim/participatory_processes/process_cell.rb +2 -2
  27. data/app/cells/decidim/participatory_processes/process_dropdown_metadata/metadata.erb +22 -0
  28. data/app/cells/decidim/participatory_processes/process_dropdown_metadata_cell.rb +39 -0
  29. data/app/cells/decidim/participatory_processes/process_filters/show.erb +4 -5
  30. data/app/cells/decidim/participatory_processes/process_filters/type_filter.erb +1 -1
  31. data/app/cells/decidim/participatory_processes/process_filters_cell.rb +6 -6
  32. data/app/cells/decidim/participatory_processes/process_g_cell.rb +31 -0
  33. data/app/cells/decidim/participatory_processes/process_group_cell.rb +2 -2
  34. data/app/cells/decidim/participatory_processes/process_group_g_cell.rb +23 -0
  35. data/app/cells/decidim/participatory_processes/process_group_metadata_cell.rb +46 -0
  36. data/app/cells/decidim/participatory_processes/process_group_s_cell.rb +5 -13
  37. data/app/cells/decidim/participatory_processes/process_metadata_cell.rb +44 -0
  38. data/app/cells/decidim/participatory_processes/process_metadata_g_cell.rb +15 -0
  39. data/app/cells/decidim/participatory_processes/process_s_cell.rb +5 -25
  40. data/app/cells/decidim/participatory_processes/process_step/show.erb +48 -0
  41. data/app/cells/decidim/participatory_processes/process_step_cell.rb +30 -0
  42. data/app/cells/decidim/participatory_processes/processes/show.erb +16 -0
  43. data/app/cells/decidim/participatory_processes/processes_cell.rb +24 -0
  44. data/app/commands/decidim/participatory_processes/admin/activate_participatory_process_step.rb +1 -1
  45. data/app/commands/decidim/participatory_processes/admin/copy_participatory_process.rb +2 -2
  46. data/app/commands/decidim/participatory_processes/admin/create_participatory_process.rb +3 -1
  47. data/app/commands/decidim/participatory_processes/admin/create_participatory_process_group.rb +4 -2
  48. data/app/commands/decidim/participatory_processes/admin/create_participatory_process_step.rb +1 -1
  49. data/app/commands/decidim/participatory_processes/admin/create_participatory_process_type.rb +1 -1
  50. data/app/commands/decidim/participatory_processes/admin/destroy_participatory_process_group.rb +1 -1
  51. data/app/commands/decidim/participatory_processes/admin/destroy_participatory_process_step.rb +1 -1
  52. data/app/commands/decidim/participatory_processes/admin/destroy_participatory_process_type.rb +1 -1
  53. data/app/commands/decidim/participatory_processes/admin/import_participatory_process.rb +1 -1
  54. data/app/commands/decidim/participatory_processes/admin/reorder_participatory_process_steps.rb +1 -1
  55. data/app/commands/decidim/participatory_processes/admin/update_participatory_process.rb +1 -1
  56. data/app/commands/decidim/participatory_processes/admin/update_participatory_process_group.rb +2 -2
  57. data/app/commands/decidim/participatory_processes/admin/update_participatory_process_step.rb +1 -1
  58. data/app/commands/decidim/participatory_processes/admin/update_participatory_process_type.rb +1 -1
  59. data/app/constraints/decidim/participatory_processes/current_participatory_process.rb +1 -1
  60. data/app/controllers/decidim/participatory_processes/admin/application_controller.rb +29 -0
  61. data/app/controllers/decidim/participatory_processes/admin/categories_controller.rb +2 -0
  62. data/app/controllers/decidim/participatory_processes/admin/concerns/participatory_process_admin.rb +3 -1
  63. data/app/controllers/decidim/participatory_processes/admin/moderations/reports_controller.rb +1 -1
  64. data/app/controllers/decidim/participatory_processes/admin/moderations_controller.rb +1 -1
  65. data/app/controllers/decidim/participatory_processes/admin/participatory_process_attachment_collections_controller.rb +5 -0
  66. data/app/controllers/decidim/participatory_processes/admin/participatory_process_attachments_controller.rb +5 -0
  67. data/app/controllers/decidim/participatory_processes/admin/participatory_process_group_landing_page_content_blocks_controller.rb +1 -5
  68. data/app/controllers/decidim/participatory_processes/admin/participatory_process_group_landing_page_controller.rb +24 -7
  69. data/app/controllers/decidim/participatory_processes/admin/participatory_process_groups_controller.rb +16 -0
  70. data/app/controllers/decidim/participatory_processes/admin/participatory_process_imports_controller.rb +14 -0
  71. data/app/controllers/decidim/participatory_processes/admin/participatory_process_landing_page_content_blocks_controller.rb +37 -0
  72. data/app/controllers/decidim/participatory_processes/admin/participatory_process_landing_page_controller.rb +37 -0
  73. data/app/controllers/decidim/participatory_processes/admin/participatory_process_publications_controller.rb +9 -29
  74. data/app/controllers/decidim/participatory_processes/admin/participatory_process_step_activations_controller.rb +1 -1
  75. data/app/controllers/decidim/participatory_processes/admin/participatory_process_steps_controller.rb +16 -4
  76. data/app/controllers/decidim/participatory_processes/admin/participatory_process_types_controller.rb +19 -0
  77. data/app/controllers/decidim/participatory_processes/admin/participatory_process_user_roles_controller.rb +8 -91
  78. data/app/controllers/decidim/participatory_processes/admin/participatory_processes_controller.rb +3 -0
  79. data/app/controllers/decidim/participatory_processes/participatory_process_groups_controller.rb +14 -1
  80. data/app/controllers/decidim/participatory_processes/participatory_processes_controller.rb +19 -4
  81. data/app/events/decidim/participatory_process_role_assigned_event.rb +6 -6
  82. data/app/events/decidim/participatory_process_step_activated_event.rb +5 -4
  83. data/app/events/decidim/participatory_process_step_changed_event.rb +5 -4
  84. data/app/forms/decidim/participatory_processes/admin/participatory_process_copy_form.rb +1 -1
  85. data/app/forms/decidim/participatory_processes/admin/participatory_process_form.rb +1 -1
  86. data/app/forms/decidim/participatory_processes/admin/participatory_process_import_form.rb +1 -1
  87. data/app/forms/decidim/participatory_processes/admin/participatory_process_step_form.rb +2 -2
  88. data/app/forms/decidim/participatory_processes/admin/participatory_process_user_role_form.rb +2 -18
  89. data/app/helpers/decidim/participatory_processes/admin/participatory_process_helper.rb +1 -0
  90. data/app/helpers/decidim/participatory_processes/application_helper.rb +5 -0
  91. data/app/helpers/decidim/participatory_processes/participatory_process_helper.rb +37 -9
  92. data/app/helpers/decidim/participatory_processes/participatory_space_content_blocks_helper.rb +17 -0
  93. data/app/jobs/decidim/participatory_processes/change_active_step_job.rb +35 -0
  94. data/app/models/decidim/participatory_process.rb +5 -5
  95. data/app/models/decidim/participatory_process_group.rb +4 -0
  96. data/app/models/decidim/participatory_process_user_role.rb +5 -34
  97. data/app/packs/entrypoints/decidim_participatory_processes.js +0 -2
  98. data/app/packs/src/decidim/participatory_processes/admin/participatory_processes.js +2 -2
  99. data/app/permissions/decidim/participatory_processes/permissions.rb +11 -15
  100. data/app/presenters/decidim/participatory_processes/admin_log/participatory_process_group_presenter.rb +2 -2
  101. data/app/presenters/decidim/participatory_processes/admin_log/participatory_process_presenter.rb +2 -2
  102. data/app/presenters/decidim/participatory_processes/admin_log/participatory_process_type_presenter.rb +2 -2
  103. data/app/presenters/decidim/participatory_processes/admin_log/participatory_process_user_role_presenter.rb +2 -2
  104. data/app/presenters/decidim/participatory_processes/admin_log/step_presenter.rb +2 -2
  105. data/app/presenters/decidim/participatory_processes/participatory_process_group_stats_presenter.rb +4 -40
  106. data/app/presenters/decidim/participatory_processes/participatory_process_metric_charts_presenter.rb +0 -68
  107. data/app/presenters/decidim/participatory_processes/participatory_process_presenter.rb +6 -0
  108. data/app/presenters/decidim/participatory_processes/participatory_process_stats_presenter.rb +3 -42
  109. data/app/queries/decidim/participatory_processes/admin/admin_users.rb +1 -1
  110. data/app/queries/decidim/participatory_processes/admin/moderators.rb +1 -1
  111. data/app/serializers/decidim/participatory_processes/participatory_process_importer.rb +4 -4
  112. data/app/views/decidim/participatory_processes/admin/participatory_process_copies/_form.html.erb +24 -29
  113. data/app/views/decidim/participatory_processes/admin/participatory_process_copies/new.html.erb +16 -5
  114. data/app/views/decidim/participatory_processes/admin/participatory_process_groups/_form.html.erb +72 -50
  115. data/app/views/decidim/participatory_processes/admin/participatory_process_groups/edit.html.erb +15 -9
  116. data/app/views/decidim/participatory_processes/admin/participatory_process_groups/index.html.erb +49 -54
  117. data/app/views/decidim/participatory_processes/admin/participatory_process_groups/new.html.erb +28 -5
  118. data/app/views/decidim/participatory_processes/admin/participatory_process_imports/_form.html.erb +33 -39
  119. data/app/views/decidim/participatory_processes/admin/participatory_process_imports/new.html.erb +18 -5
  120. data/app/views/decidim/participatory_processes/admin/participatory_process_steps/_form.html.erb +18 -25
  121. data/app/views/decidim/participatory_processes/admin/participatory_process_steps/edit.html.erb +16 -5
  122. data/app/views/decidim/participatory_processes/admin/participatory_process_steps/index.html.erb +54 -54
  123. data/app/views/decidim/participatory_processes/admin/participatory_process_steps/new.html.erb +18 -5
  124. data/app/views/decidim/participatory_processes/admin/participatory_process_steps/show.html.erb +2 -2
  125. data/app/views/decidim/participatory_processes/admin/participatory_process_types/_form.html.erb +6 -8
  126. data/app/views/decidim/participatory_processes/admin/participatory_process_types/edit.html.erb +14 -6
  127. data/app/views/decidim/participatory_processes/admin/participatory_process_types/index.html.erb +47 -50
  128. data/app/views/decidim/participatory_processes/admin/participatory_process_types/new.html.erb +14 -6
  129. data/app/views/decidim/participatory_processes/admin/participatory_process_user_roles/_form.html.erb +14 -18
  130. data/app/views/decidim/participatory_processes/admin/participatory_process_user_roles/edit.html.erb +17 -6
  131. data/app/views/decidim/participatory_processes/admin/participatory_process_user_roles/index.html.erb +59 -60
  132. data/app/views/decidim/participatory_processes/admin/participatory_process_user_roles/new.html.erb +16 -5
  133. data/app/views/decidim/participatory_processes/admin/participatory_processes/_form.html.erb +193 -146
  134. data/app/views/decidim/participatory_processes/admin/participatory_processes/edit.html.erb +25 -11
  135. data/app/views/decidim/participatory_processes/admin/participatory_processes/index.html.erb +111 -128
  136. data/app/views/decidim/participatory_processes/admin/participatory_processes/new.html.erb +16 -9
  137. data/app/views/decidim/participatory_processes/participatory_process_groups/show.html.erb +6 -10
  138. data/app/views/decidim/participatory_processes/participatory_processes/_collection.html.erb +8 -0
  139. data/app/views/decidim/participatory_processes/participatory_processes/all_metrics.html.erb +21 -8
  140. data/app/views/decidim/participatory_processes/participatory_processes/index.html.erb +19 -17
  141. data/app/views/decidim/participatory_processes/participatory_processes/index.js.erb +1 -8
  142. data/app/views/decidim/participatory_processes/participatory_processes/show.html.erb +14 -128
  143. data/app/views/layouts/decidim/_process_header.html.erb +15 -26
  144. data/app/views/layouts/decidim/_process_nav_item.html.erb +6 -0
  145. data/app/views/layouts/decidim/admin/_manage_processes.html.erb +36 -0
  146. data/app/views/layouts/decidim/admin/participatory_process.html.erb +12 -14
  147. data/app/views/layouts/decidim/admin/participatory_process_group.html.erb +23 -13
  148. data/app/views/layouts/decidim/admin/participatory_process_groups.html.erb +13 -0
  149. data/app/views/layouts/decidim/admin/participatory_process_type.html.erb +13 -11
  150. data/app/views/layouts/decidim/admin/participatory_processes.html.erb +14 -8
  151. data/app/views/layouts/decidim/participatory_process.html.erb +7 -14
  152. data/config/locales/ar.yml +1 -55
  153. data/config/locales/bg.yml +0 -518
  154. data/config/locales/ca.yml +50 -70
  155. data/config/locales/cs.yml +51 -71
  156. data/config/locales/de.yml +52 -72
  157. data/config/locales/el.yml +8 -64
  158. data/config/locales/en.yml +52 -72
  159. data/config/locales/es-MX.yml +49 -69
  160. data/config/locales/es-PY.yml +49 -69
  161. data/config/locales/es.yml +49 -69
  162. data/config/locales/eu.yml +89 -112
  163. data/config/locales/fi-plain.yml +50 -70
  164. data/config/locales/fi.yml +51 -71
  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 +15 -66
  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: 52dab06a5f97b175ccca101b0d2ab93b385e36f0187172ae9e27480cd9a012e1
4
- data.tar.gz: 5a325dcc579308daca3f9ba6f7778086fd902011bfc2b5309bef4103208d4292
3
+ metadata.gz: c20cba8c3db18a435e4fc579d65c157b7fb3090248ae43439f38a8b965c8e5f9
4
+ data.tar.gz: 0c891de5843b312c0b05b64278dc8f9b503f01a7e8ecc7a92d365ed196955af9
5
5
  SHA512:
6
- metadata.gz: 6bb941bec8aa0354c9f09e931c1322183cfec21e01dd5c08e1972c6727289b532cfbf37d115f4014c4594704484d9338cc2982e93759faea651ec056b5f8b04f
7
- data.tar.gz: 3e9693f5deb9f4809d1365abd56631ca2877e707a8aa617bbc3efb6352801a6ae86f59cf6715f233cef79f9d5107c654922405e44ce116722ff2855460265c22
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