decidim-participatory_processes 0.27.4 → 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 +5 -5
  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 +8 -8
  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 +20 -5
  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 -3
  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 +0 -52
  153. data/config/locales/bg.yml +0 -6
  154. data/config/locales/ca.yml +48 -68
  155. data/config/locales/cs.yml +51 -71
  156. data/config/locales/de.yml +53 -69
  157. data/config/locales/el.yml +8 -70
  158. data/config/locales/en.yml +52 -72
  159. data/config/locales/es-MX.yml +49 -65
  160. data/config/locales/es-PY.yml +49 -65
  161. data/config/locales/es.yml +48 -68
  162. data/config/locales/eu.yml +170 -146
  163. data/config/locales/fi-plain.yml +49 -65
  164. data/config/locales/fi.yml +52 -68
  165. data/config/locales/fr-CA.yml +51 -67
  166. data/config/locales/fr.yml +52 -71
  167. data/config/locales/ga-IE.yml +0 -13
  168. data/config/locales/gl.yml +0 -69
  169. data/config/locales/hu.yml +6 -72
  170. data/config/locales/id-ID.yml +0 -52
  171. data/config/locales/is-IS.yml +0 -20
  172. data/config/locales/it.yml +0 -70
  173. data/config/locales/ja.yml +53 -69
  174. data/config/locales/lb.yml +1 -46
  175. data/config/locales/lt.yml +52 -67
  176. data/config/locales/lv.yml +0 -55
  177. data/config/locales/nl.yml +0 -70
  178. data/config/locales/no.yml +0 -70
  179. data/config/locales/pl.yml +0 -69
  180. data/config/locales/pt-BR.yml +0 -74
  181. data/config/locales/pt.yml +0 -70
  182. data/config/locales/ro-RO.yml +4 -70
  183. data/config/locales/ru.yml +0 -45
  184. data/config/locales/sk.yml +0 -53
  185. data/config/locales/sl.yml +0 -7
  186. data/config/locales/sq-AL.yml +1 -0
  187. data/config/locales/sv.yml +17 -72
  188. data/config/locales/th-TH.yml +1 -0
  189. data/config/locales/tr-TR.yml +6 -69
  190. data/config/locales/uk.yml +0 -45
  191. data/config/locales/zh-CN.yml +1 -61
  192. data/config/locales/zh-TW.yml +3 -69
  193. data/db/migrate/20220315100140_change_steps_dates_to_datetime.rb +8 -0
  194. data/lib/decidim/api/participatory_process_step_type.rb +2 -2
  195. data/lib/decidim/participatory_processes/admin_engine.rb +20 -139
  196. data/lib/decidim/participatory_processes/content_blocks/registry_manager.rb +278 -0
  197. data/lib/decidim/participatory_processes/engine.rb +13 -103
  198. data/lib/decidim/participatory_processes/menu.rb +190 -0
  199. data/lib/decidim/participatory_processes/participatory_space.rb +7 -204
  200. data/lib/decidim/participatory_processes/query_extensions.rb +2 -2
  201. data/lib/decidim/participatory_processes/seeds.rb +164 -0
  202. data/lib/decidim/participatory_processes/test/factories.rb +25 -9
  203. data/lib/decidim/participatory_processes/version.rb +1 -1
  204. data/lib/tasks/decidim_participatory_processes.rake +8 -0
  205. metadata +63 -65
  206. data/app/cells/decidim/participatory_process_groups/content_blocks/highlighted_participatory_processes/filters.erb +0 -21
  207. data/app/cells/decidim/participatory_process_groups/content_blocks/highlighted_participatory_processes/filters_small_view.erb +0 -18
  208. data/app/cells/decidim/participatory_process_groups/content_blocks/highlighted_participatory_processes/participatory_space_filters.erb +0 -6
  209. data/app/cells/decidim/participatory_process_groups/content_blocks/highlighted_participatory_processes/show.erb +0 -8
  210. data/app/cells/decidim/participatory_process_groups/content_blocks/highlighted_participatory_processes/title_filter_order.erb +0 -8
  211. data/app/cells/decidim/participatory_process_groups/content_blocks/highlighted_participatory_processes_cell.rb +0 -60
  212. data/app/cells/decidim/participatory_process_groups/content_blocks/html/show.erb +0 -3
  213. data/app/cells/decidim/participatory_process_groups/content_blocks/html_cell.rb +0 -13
  214. data/app/cells/decidim/participatory_process_groups/content_blocks/metadata/show.erb +0 -28
  215. data/app/cells/decidim/participatory_process_groups/content_blocks/metadata_cell.rb +0 -15
  216. data/app/cells/decidim/participatory_process_groups/content_blocks/title/show.erb +0 -43
  217. data/app/cells/decidim/participatory_process_groups/content_blocks/title_cell.rb +0 -64
  218. data/app/cells/decidim/participatory_processes/content_blocks/highlighted_processes/_all_processes.erb +0 -9
  219. data/app/cells/decidim/participatory_processes/content_blocks/highlighted_processes/show.erb +0 -14
  220. data/app/cells/decidim/participatory_processes/content_blocks/highlighted_processes/single_process.erb +0 -48
  221. data/app/cells/decidim/participatory_processes/process_group_m/footer.erb +0 -8
  222. data/app/cells/decidim/participatory_processes/process_group_m_cell.rb +0 -60
  223. data/app/cells/decidim/participatory_processes/process_group_s/image.erb +0 -1
  224. data/app/cells/decidim/participatory_processes/process_group_s/show.erb +0 -8
  225. data/app/cells/decidim/participatory_processes/process_m/data.erb +0 -21
  226. data/app/cells/decidim/participatory_processes/process_m/footer.erb +0 -14
  227. data/app/cells/decidim/participatory_processes/process_m/tags.erb +0 -8
  228. data/app/cells/decidim/participatory_processes/process_m_cell.rb +0 -87
  229. data/app/cells/decidim/participatory_processes/process_s/image.erb +0 -1
  230. data/app/cells/decidim/participatory_processes/process_s/show.erb +0 -14
  231. data/app/commands/decidim/participatory_processes/admin/create_participatory_process_admin.rb +0 -58
  232. data/app/commands/decidim/participatory_processes/admin/destroy_participatory_process_admin.rb +0 -58
  233. data/app/commands/decidim/participatory_processes/admin/notify_role_assigned_to_participatory_process.rb +0 -22
  234. data/app/commands/decidim/participatory_processes/admin/publish_participatory_process.rb +0 -40
  235. data/app/commands/decidim/participatory_processes/admin/unpublish_participatory_process.rb +0 -40
  236. data/app/commands/decidim/participatory_processes/admin/update_participatory_process_admin.rb +0 -56
  237. data/app/controllers/decidim/participatory_processes/participatory_process_steps_controller.rb +0 -28
  238. data/app/controllers/decidim/participatory_processes/widgets_controller.rb +0 -27
  239. data/app/packs/src/decidim/participatory_processes/filters.js +0 -28
  240. data/app/views/decidim/participatory_process_steps/_participatory_process_step.html.erb +0 -16
  241. data/app/views/decidim/participatory_processes/participatory_process_steps/_timeline.html.erb +0 -7
  242. data/app/views/decidim/participatory_processes/participatory_process_steps/index.html.erb +0 -18
  243. data/app/views/decidim/participatory_processes/participatory_processes/_metrics.html.erb +0 -10
  244. data/app/views/decidim/participatory_processes/participatory_processes/_order_by_processes.html.erb +0 -1
  245. data/app/views/decidim/participatory_processes/participatory_processes/_participatory_process_group.html.erb +0 -4
  246. data/app/views/decidim/participatory_processes/participatory_processes/_promoted_process.html.erb +0 -39
  247. data/app/views/decidim/participatory_processes/participatory_processes/_promoted_process_group.html.erb +0 -31
  248. data/app/views/layouts/decidim/_process_header_steps.html.erb +0 -37
  249. data/app/views/layouts/decidim/_process_navigation.html.erb +0 -20
  250. data/config/environment.rb +0 -0
  251. data/db/seeds/Exampledocument.pdf +0 -0
  252. data/db/seeds/city.jpeg +0 -0
  253. data/db/seeds/city2.jpeg +0 -0
  254. data/db/seeds/homepage_image.jpg +0 -0
@@ -1,48 +0,0 @@
1
- <% process = highlighted_items.first %>
2
- <% title_id = "process_title" %>
3
- <section class="wrapper-home home-section">
4
- <div class="row" id="highlighted-processes">
5
- <h3 class="section-heading"><%= t("active_processes", scope: i18n_scope) %></h3>
6
- <div class="row collapse">
7
- <% if process.is_a? Decidim::ParticipatoryProcessGroup %>
8
- <%= render partial: "decidim/participatory_processes/participatory_processes/promoted_process_group.html", locals: { promoted_process_group: process } %>
9
- <% else %>
10
- <div class="card card--full card--process">
11
- <div class="row collapse card--process__row">
12
- <div class="column large-6 card--process__column">
13
- <div class="card__content">
14
- <%= link_to decidim_participatory_processes.participatory_process_path(process), class: "card__link" do %>
15
- <h2 class="card__title" id="<%= title_id %>"><%= decidim_html_escape(translated_attribute(process.title)) %></h2>
16
- <% end %>
17
- <%= decidim_sanitize_editor translated_attribute(process.short_description) %>
18
- <%= link_to decidim_participatory_processes.participatory_process_path(process), class: "button small hollow" do %>
19
- <span class="show-for-sr"><%= decidim_html_escape(translated_attribute(process.title)) %></span>
20
- <%= t("more_information", scope: i18n_scope) %>
21
- <% end %>
22
- </div>
23
- </div>
24
- <div class="column large-6 card--process__column">
25
- <div class="card--full__image" style="background-image:url('<%= process.attached_uploader(:hero_image).path %>')">
26
- <div class="card__content row collapse">
27
- <div class="large-6 large-offset-6 columns">
28
- <%= link_to decidim_participatory_processes.participatory_process_path(process), class: "button expanded button--sc" do %>
29
- <span class="show-for-sr"><%= t("participate_in", resource_name: translated_attribute(process.title), scope: i18n_scope) %></span>
30
- <span aria-hidden="true"><%= t("participate", scope: i18n_scope) %></span>
31
- <% if process.active_step %>
32
- <span class="button__info">
33
- <%= t("active_step", scope: i18n_scope) %>
34
- <strong><%= translated_attribute process.active_step.title %></strong>
35
- </span>
36
- <% end %>
37
- <% end %>
38
- </div>
39
- </div>
40
- </div>
41
- </div>
42
- </div>
43
- </div>
44
- <% end %>
45
- </div>
46
- </div>
47
- <%= render "_all_processes" %>
48
- </section>
@@ -1,8 +0,0 @@
1
- <div class="card__footer card__footer--spaces">
2
- <div class="card__support">
3
- <%= link_to(resource_path, class: "card__button button button--sc small") do %>
4
- <span class="show-for-sr"><%= t("browse_resource", resource_name: title, scope: "layouts.decidim.participatory_process_groups.participatory_process_group") %></span>
5
- <%= t("layouts.decidim.participatory_process_groups.participatory_process_group.browse") %>
6
- <% end %>
7
- </div>
8
- </div>
@@ -1,60 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module ParticipatoryProcesses
5
- # This cell renders the Medium (:m) process group card
6
- # for an given instance of a ProcessGroup
7
- class ProcessGroupMCell < Decidim::CardMCell
8
- private
9
-
10
- def has_image?
11
- true
12
- end
13
-
14
- def resource_image_path
15
- model.attached_uploader(:hero_image).path
16
- end
17
-
18
- def title
19
- translated_attribute model.title
20
- end
21
-
22
- def resource_path
23
- Decidim::ParticipatoryProcesses::Engine.routes.url_helpers.participatory_process_group_path(model)
24
- end
25
-
26
- def step_title
27
- translated_attribute model.active_step.title
28
- end
29
-
30
- def card_classes
31
- ["card--process", "card--stack"].join(" ")
32
- end
33
-
34
- def statuses
35
- super << :processes_count
36
- end
37
-
38
- def processes_count_status
39
- # rubocop: disable Style/StringConcatenation
40
- content_tag(
41
- :strong,
42
- t("layouts.decidim.participatory_process_groups.participatory_process_group.processes_count")
43
- ) + " " + processes_visible_for_user
44
- # rubocop: enable Style/StringConcatenation
45
- end
46
-
47
- def processes_visible_for_user
48
- processes = model.participatory_processes.published
49
-
50
- if current_user
51
- return processes.count.to_s if current_user.admin
52
-
53
- processes.visible_for(current_user).count.to_s
54
- else
55
- processes.public_spaces.count.to_s
56
- end
57
- end
58
- end
59
- end
60
- end
@@ -1 +0,0 @@
1
- <div aria-hidden="true" class="card__image-top" style="background-image:url('<%= resource_image_path %>')"></div>
@@ -1,8 +0,0 @@
1
- <div class="column" id="<%= dom_id(model) %>">
2
- <%= link_to resource_path, class: "card card--process card--stack card--mini" do %>
3
- <%= render :image if has_image? %>
4
- <div class="card__content">
5
- <span class="card__title card__link"><%= title %></span>
6
- </div>
7
- <% end %>
8
- </div>
@@ -1,21 +0,0 @@
1
- <div class="card__icondata">
2
- <ul class="card-data">
3
- <li class="card-data__item">
4
- <%= icon "datetime", class: "icon--big", role: "img", aria_label: t("decidim.participatory_processes.show.dates") %>
5
- </li>
6
- <li class="card-data__item">
7
- <div class="card-data__item--centerblock">
8
- <strong><%= t("activemodel.attributes.participatory_process.start_date") %></strong>
9
- <br>
10
- <%= start_date ? l(start_date, format: :decidim_short) : t("decidim.participatory_processes.show.unspecified") %>
11
- </div>
12
- </li>
13
- <li class="card-data__item">
14
- <div class="card-data__item--centerblock">
15
- <strong><%= t("activemodel.attributes.participatory_process.end_date") %></strong>
16
- <br>
17
- <%= end_date ? l(end_date, format: :decidim_short) : t("decidim.participatory_processes.show.unspecified") %>
18
- </div>
19
- </li>
20
- </ul>
21
- </div>
@@ -1,14 +0,0 @@
1
- <div class="card__footer card__footer--spaces">
2
- <div class="card__support">
3
- <% if has_step? %>
4
- <div class="card__support__data--left">
5
- <div><%= t("layouts.decidim.participatory_processes.participatory_process.active_step") %></div>
6
- <div class="text-ellipsis"><strong><%= step_title %></strong></div>
7
- </div>
8
- <% end %>
9
- <%= link_to(step_cta_path, class: "card__button button button--sc small") do %>
10
- <span class="show-for-sr"><%= step_cta_text %></span>
11
- <%= step_cta_text %>
12
- <% end %>
13
- </div>
14
- </div>
@@ -1,8 +0,0 @@
1
- <% if model.hashtag.present? %>
2
- <%= link_to(
3
- "##{decidim_html_escape(model.hashtag)}",
4
- twitter_hashtag_url(decidim_html_escape(model.hashtag)),
5
- class: "card__text--category",
6
- target: "_blank"
7
- ) %>
8
- <% end %>
@@ -1,87 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module ParticipatoryProcesses
5
- # This cell renders the Medium (:m) process card
6
- # for an given instance of a Process
7
- class ProcessMCell < Decidim::CardMCell
8
- include Decidim::SanitizeHelper
9
- include Decidim::TranslationsHelper
10
- include Decidim::TwitterSearchHelper
11
-
12
- private
13
-
14
- def has_image?
15
- true
16
- end
17
-
18
- def has_state?
19
- model.past?
20
- end
21
-
22
- def has_badge?
23
- false
24
- end
25
-
26
- def has_step?
27
- model.active_step.present?
28
- end
29
-
30
- def state_classes
31
- return unless model.past?
32
-
33
- ["alert"]
34
- end
35
-
36
- def resource_path
37
- Decidim::ParticipatoryProcesses::Engine.routes.url_helpers.participatory_process_path(model)
38
- end
39
-
40
- def resource_image_path
41
- model.attached_uploader(:hero_image).path
42
- end
43
-
44
- def step_cta_text
45
- if translated_in_current_locale?(model.active_step&.cta_text)
46
- translated_attribute(model.active_step.cta_text)
47
- else
48
- t(model.cta_button_text_key_accessible, resource_name: title, scope: "layouts.decidim.participatory_processes.participatory_process")
49
- end
50
- end
51
-
52
- def step_cta_path
53
- if model.active_step&.cta_path.present?
54
- path, params = resource_path.split("?")
55
-
56
- "#{path}/#{model.active_step.cta_path}" + (params.present? ? "?#{params}" : "")
57
- else
58
- resource_path
59
- end
60
- end
61
-
62
- def step_title
63
- translated_attribute model.active_step.title
64
- end
65
-
66
- def base_card_class
67
- "card--process"
68
- end
69
-
70
- def statuses
71
- [:creation_date, :follow]
72
- end
73
-
74
- def resource_icon
75
- icon "processes", class: "icon--big"
76
- end
77
-
78
- def start_date
79
- model.start_date
80
- end
81
-
82
- def end_date
83
- model.end_date
84
- end
85
- end
86
- end
87
- end
@@ -1 +0,0 @@
1
- <div aria-hidden="true" class="card__image-top" style="background-image:url('<%= resource_image_path %>')"></div>
@@ -1,14 +0,0 @@
1
- <div class="column" id="<%= dom_id(model) %>">
2
- <%= link_to resource_path, class: "card card--process card--mini" do %>
3
- <%= render :image if has_image? %>
4
- <div class="card__content">
5
- <span class="card__title card__link"><%= title %></span>
6
- <% if has_step? %>
7
- <span class="card--process__small">
8
- <%= t("active_step", scope: i18n_scope) %>
9
- <strong><%= step_title %></strong>
10
- </span>
11
- <% end %>
12
- </div>
13
- <% end %>
14
- </div>
@@ -1,58 +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 creating a new participatory
7
- # process admin in the system.
8
- class CreateParticipatoryProcessAdmin < NotifyRoleAssignedToParticipatoryProcess
9
- include ::Decidim::Admin::CreateParticipatorySpaceAdminUserActions
10
-
11
- # Public: Initializes the command.
12
- #
13
- # form - A form object with the params.
14
- # current_user - the user performing this action
15
- # participatory_process - The ParticipatoryProcess that will hold the
16
- # user role
17
- def initialize(form, current_user, participatory_process)
18
- @form = form
19
- @current_user = current_user
20
- @participatory_space = participatory_process
21
- end
22
-
23
- private
24
-
25
- attr_reader :form, :participatory_space, :current_user, :user
26
-
27
- def create_role
28
- extra_info = {
29
- resource: {
30
- title: user.name
31
- }
32
- }
33
- role_params = {
34
- role: form.role.to_sym,
35
- user: user,
36
- participatory_process: participatory_space
37
- }
38
-
39
- Decidim.traceability.create!(
40
- Decidim::ParticipatoryProcessUserRole,
41
- current_user,
42
- role_params,
43
- extra_info
44
- )
45
- send_notification user
46
- end
47
-
48
- def existing_role
49
- Decidim::ParticipatoryProcessUserRole.exists?(
50
- role: form.role.to_sym,
51
- user: user,
52
- participatory_process: participatory_space
53
- )
54
- end
55
- end
56
- end
57
- end
58
- end
@@ -1,58 +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 destroying a participatory
7
- # process admin in the system.
8
- class DestroyParticipatoryProcessAdmin < Decidim::Command
9
- # Public: Initializes the command.
10
- #
11
- # role - the ParticipatoryProcessUserRole to destroy
12
- # current_user - the user performing this action
13
- def initialize(role, current_user)
14
- @role = role
15
- @current_user = current_user
16
- end
17
-
18
- # Executes the command. Broadcasts these events:
19
- #
20
- # - :ok when everything is valid.
21
- # - :invalid if the form wasn't valid and we couldn't proceed.
22
- #
23
- # Returns nothing.
24
- def call
25
- destroy_role!
26
- dispatch_system_event
27
- broadcast(:ok)
28
- end
29
-
30
- private
31
-
32
- attr_reader :role, :current_user
33
-
34
- def dispatch_system_event
35
- ActiveSupport::Notifications.publish("decidim.system.participatory_space.admin.destroyed", role.class.name, role.id)
36
- end
37
-
38
- def destroy_role!
39
- extra_info = {
40
- resource: {
41
- title: role.user.name
42
- }
43
- }
44
-
45
- Decidim.traceability.perform_action!(
46
- "delete",
47
- role,
48
- current_user,
49
- extra_info
50
- ) do
51
- role.destroy!
52
- role
53
- end
54
- end
55
- end
56
- end
57
- end
58
- end
@@ -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,27 +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
- private
9
-
10
- def model
11
- return unless params[:participatory_process_slug]
12
-
13
- @model ||= ParticipatoryProcess.where(slug: params[:participatory_process_slug]).or(
14
- ParticipatoryProcess.where(id: params[:participatory_process_slug])
15
- ).first!
16
- end
17
-
18
- def current_participatory_space
19
- model
20
- end
21
-
22
- def iframe_url
23
- @iframe_url ||= participatory_process_widget_url(model)
24
- end
25
- end
26
- end
27
- 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>