decidim-admin 0.30.9 → 0.31.0.rc1

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 (269) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/admin/content_block/show.erb +1 -1
  3. data/app/commands/decidim/admin/content_blocks/update_content_block.rb +3 -12
  4. data/app/commands/decidim/admin/create_attachment.rb +0 -1
  5. data/app/commands/decidim/admin/destroy_participatory_space_private_user.rb +0 -10
  6. data/app/commands/decidim/admin/hide_menu_component.rb +1 -1
  7. data/app/commands/decidim/admin/publish_component.rb +0 -1
  8. data/app/commands/decidim/admin/unpublish_component.rb +0 -1
  9. data/app/commands/decidim/admin/unreport_user.rb +1 -1
  10. data/app/commands/decidim/admin/update_organization.rb +18 -3
  11. data/app/controllers/concerns/decidim/admin/content_blocks/landing_page_content_blocks.rb +1 -1
  12. data/app/controllers/concerns/decidim/admin/filterable.rb +1 -1
  13. data/app/controllers/decidim/admin/area_types_controller.rb +2 -2
  14. data/app/controllers/decidim/admin/areas_controller.rb +2 -2
  15. data/app/controllers/decidim/admin/block_user_controller.rb +2 -2
  16. data/app/controllers/decidim/admin/component_permissions_controller.rb +1 -1
  17. data/app/controllers/decidim/admin/components_controller.rb +2 -2
  18. data/app/controllers/decidim/admin/concerns/has_attachment_collections.rb +2 -2
  19. data/app/controllers/decidim/admin/concerns/has_attachments.rb +2 -2
  20. data/app/controllers/decidim/admin/concerns/has_private_users.rb +3 -3
  21. data/app/controllers/decidim/admin/concerns/has_private_users_csv_import.rb +1 -1
  22. data/app/controllers/decidim/admin/conflicts_controller.rb +1 -1
  23. data/app/controllers/decidim/admin/dashboard_controller.rb +0 -9
  24. data/app/controllers/decidim/admin/impersonations_controller.rb +1 -1
  25. data/app/controllers/decidim/admin/imports_controller.rb +1 -1
  26. data/app/controllers/decidim/admin/managed_users/promotions_controller.rb +1 -1
  27. data/app/controllers/decidim/admin/newsletters_controller.rb +4 -4
  28. data/app/controllers/decidim/admin/organization_appearance_controller.rb +1 -3
  29. data/app/controllers/decidim/admin/organization_controller.rb +32 -1
  30. data/app/controllers/decidim/admin/organization_external_domain_allowlist_controller.rb +1 -1
  31. data/app/controllers/decidim/admin/organization_homepage_controller.rb +4 -0
  32. data/app/controllers/decidim/admin/participatory_space/user_role_controller.rb +2 -2
  33. data/app/controllers/decidim/admin/reminders_controller.rb +1 -1
  34. data/app/controllers/decidim/admin/resource_permissions_controller.rb +1 -1
  35. data/app/controllers/decidim/admin/scope_types_controller.rb +2 -2
  36. data/app/controllers/decidim/admin/scopes_controller.rb +2 -2
  37. data/app/controllers/decidim/admin/share_tokens_controller.rb +2 -2
  38. data/app/controllers/decidim/admin/static_page_topics_controller.rb +2 -2
  39. data/app/controllers/decidim/admin/static_pages_controller.rb +2 -2
  40. data/app/controllers/decidim/admin/statistics_controller.rb +34 -0
  41. data/app/controllers/decidim/admin/taxonomies_controller.rb +2 -2
  42. data/app/controllers/decidim/admin/taxonomy_filters_controller.rb +2 -2
  43. data/app/controllers/decidim/admin/taxonomy_items_controller.rb +2 -2
  44. data/app/controllers/decidim/admin/users_controller.rb +1 -1
  45. data/app/forms/decidim/admin/block_user_form.rb +1 -1
  46. data/app/forms/decidim/admin/block_users_form.rb +1 -1
  47. data/app/forms/decidim/admin/organization_form.rb +35 -6
  48. data/app/helpers/decidim/admin/filterable_helper.rb +27 -8
  49. data/app/helpers/decidim/admin/icon_link_helper.rb +2 -3
  50. data/app/helpers/decidim/admin/icon_with_tooltip_helper.rb +1 -2
  51. data/app/helpers/decidim/admin/imports_helper.rb +0 -5
  52. data/app/helpers/decidim/admin/menu_helper.rb +3 -2
  53. data/app/helpers/decidim/admin/moderations/reports_helper.rb +2 -2
  54. data/app/helpers/decidim/admin/resource_permissions_helper.rb +13 -13
  55. data/app/helpers/decidim/admin/settings_helper.rb +12 -16
  56. data/app/jobs/decidim/admin/newsletter_job.rb +1 -0
  57. data/app/packs/entrypoints/decidim_admin.js +2 -3
  58. data/app/packs/entrypoints/decidim_admin.scss +1 -1
  59. data/app/packs/entrypoints/decidim_admin_overrides.scss +1 -1
  60. data/app/packs/src/decidim/admin/admin_autocomplete.js +12 -18
  61. data/app/packs/src/decidim/admin/application.js +11 -10
  62. data/app/packs/src/decidim/admin/budget_rule_toggler.component.js +84 -34
  63. data/app/packs/src/decidim/admin/controllers/slug/controller.js +25 -0
  64. data/app/packs/src/decidim/admin/controllers/slug/slug.test.js +239 -0
  65. data/app/packs/src/decidim/admin/css_preview.js +1 -1
  66. data/app/packs/src/decidim/admin/draggable-list.js +1 -1
  67. data/app/packs/src/decidim/admin/draggable-table.js +18 -36
  68. data/app/packs/src/decidim/admin/dynamic_fields.component.js +13 -12
  69. data/app/packs/src/decidim/admin/external_domain_allowlist.js +1 -1
  70. data/app/packs/src/decidim/admin/form.js +21 -4
  71. data/app/packs/src/decidim/admin/global_moderations.js +2 -2
  72. data/app/packs/src/decidim/admin/managed_moderated_users.js +2 -2
  73. data/app/packs/src/decidim/admin/moderations.js +1 -1
  74. data/app/packs/src/decidim/admin/newsletters.js +1 -1
  75. data/app/packs/src/decidim/admin/officializations.js +1 -1
  76. data/app/packs/src/decidim/admin/participatory_space_search.js +2 -2
  77. data/app/packs/src/decidim/admin/proposal_infinite_edit.js +1 -1
  78. data/app/packs/src/decidim/admin/resources_permissions.js +1 -1
  79. data/app/packs/src/decidim/admin/sort_list.component.js +2 -3
  80. data/app/packs/src/decidim/admin/sortable.js +1 -1
  81. data/app/packs/src/decidim/admin/sync_radio_buttons.js +1 -1
  82. data/app/packs/src/decidim/admin/tab_focus.js +1 -1
  83. data/app/packs/src/decidim/admin/text_copy.js +1 -1
  84. data/app/packs/src/decidim/admin/triadic_color_picker.js +1 -1
  85. data/app/packs/stylesheets/decidim/admin/_datepicker.scss +2 -2
  86. data/app/packs/stylesheets/decidim/admin/_dropdown.scss +12 -2
  87. data/app/packs/stylesheets/decidim/admin/_filters.scss +1 -57
  88. data/app/packs/stylesheets/decidim/admin/_forms.scss +14 -31
  89. data/app/packs/stylesheets/decidim/admin/_item_edit.scss +2 -10
  90. data/app/packs/stylesheets/decidim/admin/_item_show.scss +1 -5
  91. data/app/packs/stylesheets/decidim/admin/_legacy_foundation.scss +0 -412
  92. data/app/packs/stylesheets/decidim/admin/_main-nav.scss +75 -3
  93. data/app/packs/stylesheets/decidim/admin/_secondary-nav.scss +6 -10
  94. data/app/packs/stylesheets/decidim/admin/_select_picker.scss +1 -1
  95. data/app/packs/stylesheets/decidim/admin/_sidebar-menu.scss +4 -8
  96. data/app/packs/stylesheets/decidim/admin/_table-list.scss +26 -8
  97. data/app/packs/stylesheets/decidim/admin/_tabs.scss +4 -0
  98. data/app/packs/stylesheets/decidim/admin/_taxonomies.scss +7 -3
  99. data/app/packs/stylesheets/decidim/admin/application.scss +28 -29
  100. data/app/permissions/decidim/admin/permissions.rb +17 -5
  101. data/app/presenters/decidim/admin/dashboard_statistic_charts_presenter.rb +18 -0
  102. data/app/queries/decidim/admin/user_filter.rb +3 -3
  103. data/app/views/decidim/admin/area_types/index.html.erb +34 -11
  104. data/app/views/decidim/admin/areas/index.html.erb +32 -12
  105. data/app/views/decidim/admin/attachment_collections/index.html.erb +42 -14
  106. data/app/views/decidim/admin/attachments/index.html.erb +32 -13
  107. data/app/views/decidim/admin/block_user/bulk_new.html.erb +1 -1
  108. data/app/views/decidim/admin/block_user/new.html.erb +1 -1
  109. data/app/views/decidim/admin/components/_actions.html.erb +114 -54
  110. data/app/views/decidim/admin/components/_component_row.html.erb +5 -5
  111. data/app/views/decidim/admin/components/_components_table.html.erb +1 -1
  112. data/app/views/decidim/admin/components/_form.html.erb +4 -4
  113. data/app/views/decidim/admin/components/index.html.erb +12 -13
  114. data/app/views/decidim/admin/dashboard/show.html.erb +9 -21
  115. data/app/views/decidim/admin/exports/_dropdown.html.erb +16 -14
  116. data/app/views/decidim/admin/help_sections/_form.html.erb +1 -1
  117. data/app/views/decidim/admin/impersonatable_users/index.html.erb +68 -33
  118. data/app/views/decidim/admin/imports/_dropdown.html.erb +13 -11
  119. data/app/views/decidim/admin/imports/new.html.erb +13 -12
  120. data/app/views/decidim/admin/moderated_users/bulk_actions/_dropdown.html.erb +29 -32
  121. data/app/views/decidim/admin/moderated_users/index.html.erb +61 -21
  122. data/app/views/decidim/admin/moderations/_moderation-tr.html.erb +87 -32
  123. data/app/views/decidim/admin/moderations/_report.html.erb +2 -4
  124. data/app/views/decidim/admin/moderations/bulk_actions/_dropdown.html.erb +30 -34
  125. data/app/views/decidim/admin/moderations/index.html.erb +1 -1
  126. data/app/views/decidim/admin/moderations/reports/index.html.erb +1 -2
  127. data/app/views/decidim/admin/newsletters/index.html.erb +64 -21
  128. data/app/views/decidim/admin/officializations/index.html.erb +91 -37
  129. data/app/views/decidim/admin/organization/_form.html.erb +6 -92
  130. data/app/views/decidim/admin/organization/edit.html.erb +1 -5
  131. data/app/views/decidim/admin/organization/form/_admin_terms_of_service.html.erb +15 -0
  132. data/app/views/decidim/admin/organization/form/_basic_configuration.html.erb +31 -0
  133. data/app/views/decidim/admin/{organization_appearance → organization}/form/_colors.html.erb +9 -9
  134. data/app/views/decidim/admin/organization/form/_extra_features.html.erb +84 -0
  135. data/app/views/decidim/admin/{organization_appearance/form/_images.html.erb → organization/form/_logos.html.erb} +4 -4
  136. data/app/views/decidim/admin/organization/form/_welcome_notification.html.erb +25 -0
  137. data/app/views/decidim/admin/organization_external_domain_allowlist/_external_domain.html.erb +8 -6
  138. data/app/views/decidim/admin/participatory_space_private_users/index.html.erb +49 -22
  139. data/app/views/decidim/admin/resource_permissions/edit.html.erb +1 -1
  140. data/app/views/decidim/admin/scope_types/index.html.erb +31 -12
  141. data/app/views/decidim/admin/scopes/index.html.erb +40 -13
  142. data/app/views/decidim/admin/share_tokens/_form.html.erb +1 -1
  143. data/app/views/decidim/admin/share_tokens/edit.html.erb +1 -1
  144. data/app/views/decidim/admin/share_tokens/index.html.erb +69 -12
  145. data/app/views/decidim/admin/share_tokens/new.html.erb +1 -1
  146. data/app/views/decidim/admin/shared/_filters.html.erb +8 -10
  147. data/app/views/decidim/admin/shared/landing_page/_content_blocks.html.erb +14 -11
  148. data/app/views/decidim/admin/shared/landing_page_content_blocks/edit.html.erb +2 -4
  149. data/app/views/decidim/admin/static_page_topics/index.html.erb +31 -10
  150. data/app/views/decidim/admin/static_pages/_form.html.erb +1 -1
  151. data/app/views/decidim/admin/static_pages/_topic.html.erb +46 -16
  152. data/app/views/decidim/admin/statistics/_statistics.html.erb +13 -0
  153. data/app/views/decidim/admin/statistics/index.html.erb +6 -0
  154. data/app/views/decidim/admin/taxonomies/_form.html.erb +1 -1
  155. data/app/views/decidim/admin/taxonomies/_row.html.erb +24 -6
  156. data/app/views/decidim/admin/taxonomies/_table.html.erb +2 -2
  157. data/app/views/decidim/admin/taxonomies/_taxonomy_actions.html.erb +48 -15
  158. data/app/views/decidim/admin/taxonomies/edit.html.erb +10 -0
  159. data/app/views/decidim/admin/taxonomy_filters/_form.html.erb +1 -1
  160. data/app/views/decidim/admin/taxonomy_filters/_table.html.erb +52 -15
  161. data/app/views/decidim/admin/taxonomy_filters/new.html.erb +1 -1
  162. data/app/views/decidim/admin/taxonomy_filters_selector/_component_table.html.erb +38 -23
  163. data/app/views/decidim/admin/taxonomy_items/_form.html.erb +1 -1
  164. data/app/views/decidim/admin/users/index.html.erb +48 -24
  165. data/app/views/layouts/decidim/admin/_application.html.erb +3 -6
  166. data/app/views/layouts/decidim/admin/_header.html.erb +3 -1
  167. data/app/views/layouts/decidim/admin/_js_configuration.html.erb +11 -12
  168. data/app/views/layouts/decidim/admin/_sidebar_menu.html.erb +1 -1
  169. data/app/views/layouts/decidim/admin/_title_bar.html.erb +4 -4
  170. data/app/views/layouts/decidim/admin/_title_bar_responsive.html.erb +4 -4
  171. data/app/views/layouts/decidim/admin/insights.html.erb +6 -0
  172. data/config/assets.rb +2 -2
  173. data/config/locales/ar.yml +26 -96
  174. data/config/locales/bg.yml +37 -114
  175. data/config/locales/bs-BA.yml +7 -62
  176. data/config/locales/ca-IT.yml +79 -145
  177. data/config/locales/ca.yml +79 -145
  178. data/config/locales/cs.yml +61 -134
  179. data/config/locales/de.yml +82 -137
  180. data/config/locales/el.yml +28 -132
  181. data/config/locales/en.yml +66 -132
  182. data/config/locales/eo.yml +1 -8
  183. data/config/locales/es-MX.yml +78 -144
  184. data/config/locales/es-PY.yml +78 -144
  185. data/config/locales/es.yml +87 -153
  186. data/config/locales/eu.yml +98 -164
  187. data/config/locales/fi-plain.yml +71 -137
  188. data/config/locales/fi.yml +69 -135
  189. data/config/locales/fr-CA.yml +83 -185
  190. data/config/locales/fr.yml +83 -185
  191. data/config/locales/ga-IE.yml +14 -39
  192. data/config/locales/gl.yml +22 -103
  193. data/config/locales/he-IL.yml +1 -15
  194. data/config/locales/hu.yml +40 -108
  195. data/config/locales/id-ID.yml +10 -70
  196. data/config/locales/is-IS.yml +6 -43
  197. data/config/locales/it.yml +74 -122
  198. data/config/locales/ja.yml +80 -146
  199. data/config/locales/kaa.yml +3 -22
  200. data/config/locales/ko.yml +15 -77
  201. data/config/locales/lb.yml +25 -104
  202. data/config/locales/lt.yml +35 -108
  203. data/config/locales/lv.yml +13 -84
  204. data/config/locales/nl.yml +25 -104
  205. data/config/locales/no.yml +24 -103
  206. data/config/locales/pl.yml +38 -116
  207. data/config/locales/pt-BR.yml +26 -295
  208. data/config/locales/pt.yml +25 -104
  209. data/config/locales/ro-RO.yml +50 -112
  210. data/config/locales/ru.yml +11 -67
  211. data/config/locales/sk.yml +9 -842
  212. data/config/locales/sl.yml +1 -24
  213. data/config/locales/sq-AL.yml +14 -55
  214. data/config/locales/sr-CS.yml +14 -69
  215. data/config/locales/sv.yml +89 -144
  216. data/config/locales/th-TH.yml +1 -15
  217. data/config/locales/tr-TR.yml +37 -277
  218. data/config/locales/uk.yml +9 -52
  219. data/config/locales/val-ES.yml +0 -1
  220. data/config/locales/zh-CN.yml +11 -82
  221. data/config/locales/zh-TW.yml +33 -106
  222. data/config/routes.rb +5 -11
  223. data/lib/decidim/admin/engine.rb +5 -1
  224. data/lib/decidim/admin/form_builder.rb +4 -2
  225. data/lib/decidim/admin/menu.rb +32 -16
  226. data/lib/decidim/admin/test/admin_participatory_space_access_examples.rb +0 -20
  227. data/lib/decidim/admin/test/filterable_examples.rb +8 -18
  228. data/lib/decidim/admin/test/filters_participatory_space_users_examples.rb +1 -1
  229. data/lib/decidim/admin/test/invite_participatory_space_admins_shared_examples.rb +4 -4
  230. data/lib/decidim/admin/test/invite_participatory_space_collaborators_shared_examples.rb +2 -2
  231. data/lib/decidim/admin/test/invite_participatory_space_moderators_shared_examples.rb +9 -6
  232. data/lib/decidim/admin/test/invite_participatory_space_users_shared_context.rb +1 -0
  233. data/lib/decidim/admin/test/manage_attachment_collections_examples.rb +5 -1
  234. data/lib/decidim/admin/test/manage_attachments_examples.rb +4 -11
  235. data/lib/decidim/admin/test/manage_component_permissions_examples.rb +31 -4
  236. data/lib/decidim/admin/test/manage_hide_content_examples.rb +0 -1
  237. data/lib/decidim/admin/test/manage_moderations_examples.rb +12 -5
  238. data/lib/decidim/admin/test/manage_participatory_space_publications_examples.rb +12 -6
  239. data/lib/decidim/admin/test/manage_resource_soft_deletion_examples.rb +19 -4
  240. data/lib/decidim/admin/test/manage_taxonomy_filters_examples.rb +28 -8
  241. data/lib/decidim/admin/version.rb +1 -1
  242. metadata +22 -37
  243. data/app/commands/decidim/admin/process_user_group_verification_csv.rb +0 -44
  244. data/app/commands/decidim/admin/reject_user_group.rb +0 -42
  245. data/app/commands/decidim/admin/update_organization_appearance.rb +0 -39
  246. data/app/commands/decidim/admin/update_user_groups.rb +0 -44
  247. data/app/commands/decidim/admin/verify_user_group.rb +0 -43
  248. data/app/controllers/concerns/decidim/admin/user_groups/filterable.rb +0 -45
  249. data/app/controllers/concerns/decidim/admin/user_groups.rb +0 -24
  250. data/app/controllers/decidim/admin/metrics_controller.rb +0 -23
  251. data/app/controllers/decidim/admin/user_groups_controller.rb +0 -76
  252. data/app/controllers/decidim/admin/user_groups_csv_verifications_controller.rb +0 -36
  253. data/app/forms/decidim/admin/organization_appearance_form.rb +0 -88
  254. data/app/forms/decidim/admin/user_group_csv_verification_form.rb +0 -25
  255. data/app/jobs/decidim/admin/destroy_private_users_follows_job.rb +0 -37
  256. data/app/jobs/decidim/admin/verify_user_group_from_csv_job.rb +0 -30
  257. data/app/packs/src/decidim/admin/welcome_notification.js +0 -32
  258. data/app/packs/stylesheets/decidim/admin/_bulk_actions.scss +0 -16
  259. data/app/presenters/decidim/admin/dashboard_metric_charts_presenter.rb +0 -33
  260. data/app/queries/decidim/admin/user_groups_evaluation.rb +0 -56
  261. data/app/views/decidim/admin/metrics/_metrics.html.erb +0 -16
  262. data/app/views/decidim/admin/metrics/index.html.erb +0 -7
  263. data/app/views/decidim/admin/organization_appearance/_form.html.erb +0 -100
  264. data/app/views/decidim/admin/organization_appearance/edit.html.erb +0 -18
  265. data/app/views/decidim/admin/organization_appearance/form/_header_snippets.html.erb +0 -17
  266. data/app/views/decidim/admin/user_groups/index.html.erb +0 -68
  267. data/app/views/decidim/admin/user_groups_csv_verifications/new.html.erb +0 -31
  268. data/lib/decidim/admin/test/admin_participatory_space_component_access_examples.rb +0 -36
  269. /data/app/views/decidim/admin/{organization_appearance → organization}/form/_minimap.html.erb +0 -0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.30.9
4
+ version: 0.31.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey Peroy
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2026-05-12 00:00:00.000000000 Z
13
+ date: 2025-09-25 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: active_link_to
@@ -32,14 +32,14 @@ dependencies:
32
32
  requirements:
33
33
  - - '='
34
34
  - !ruby/object:Gem::Version
35
- version: 0.30.9
35
+ version: 0.31.0.rc1
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - '='
41
41
  - !ruby/object:Gem::Version
42
- version: 0.30.9
42
+ version: 0.31.0.rc1
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: devise
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -94,28 +94,28 @@ dependencies:
94
94
  requirements:
95
95
  - - '='
96
96
  - !ruby/object:Gem::Version
97
- version: 0.30.9
97
+ version: 0.31.0.rc1
98
98
  type: :development
99
99
  prerelease: false
100
100
  version_requirements: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - '='
103
103
  - !ruby/object:Gem::Version
104
- version: 0.30.9
104
+ version: 0.31.0.rc1
105
105
  - !ruby/object:Gem::Dependency
106
106
  name: decidim-participatory_processes
107
107
  requirement: !ruby/object:Gem::Requirement
108
108
  requirements:
109
109
  - - '='
110
110
  - !ruby/object:Gem::Version
111
- version: 0.30.9
111
+ version: 0.31.0.rc1
112
112
  type: :development
113
113
  prerelease: false
114
114
  version_requirements: !ruby/object:Gem::Requirement
115
115
  requirements:
116
116
  - - '='
117
117
  - !ruby/object:Gem::Version
118
- version: 0.30.9
118
+ version: 0.31.0.rc1
119
119
  description: Organization administration to manage a single organization.
120
120
  email:
121
121
  - josepjaume@gmail.com
@@ -182,11 +182,9 @@ files:
182
182
  - app/commands/decidim/admin/participatory_space/unpublish.rb
183
183
  - app/commands/decidim/admin/participatory_space/update_admin.rb
184
184
  - app/commands/decidim/admin/process_participatory_space_private_user_import_csv.rb
185
- - app/commands/decidim/admin/process_user_group_verification_csv.rb
186
185
  - app/commands/decidim/admin/promote_managed_user.rb
187
186
  - app/commands/decidim/admin/publish_all_participatory_space_private_users.rb
188
187
  - app/commands/decidim/admin/publish_component.rb
189
- - app/commands/decidim/admin/reject_user_group.rb
190
188
  - app/commands/decidim/admin/remove_admin.rb
191
189
  - app/commands/decidim/admin/reorder_components.rb
192
190
  - app/commands/decidim/admin/reorder_taxonomies.rb
@@ -208,7 +206,6 @@ files:
208
206
  - app/commands/decidim/admin/update_help_sections.rb
209
207
  - app/commands/decidim/admin/update_newsletter.rb
210
208
  - app/commands/decidim/admin/update_organization.rb
211
- - app/commands/decidim/admin/update_organization_appearance.rb
212
209
  - app/commands/decidim/admin/update_organization_tos_version.rb
213
210
  - app/commands/decidim/admin/update_participatory_space_private_user.rb
214
211
  - app/commands/decidim/admin/update_resource_permissions.rb
@@ -219,8 +216,6 @@ files:
219
216
  - app/commands/decidim/admin/update_static_page_topic.rb
220
217
  - app/commands/decidim/admin/update_taxonomy.rb
221
218
  - app/commands/decidim/admin/update_taxonomy_filter.rb
222
- - app/commands/decidim/admin/update_user_groups.rb
223
- - app/commands/decidim/admin/verify_user_group.rb
224
219
  - app/constraints/decidim/admin/organization_dashboard_constraint.rb
225
220
  - app/controllers/concerns/decidim/admin/component_taxonomies_helper.rb
226
221
  - app/controllers/concerns/decidim/admin/content_blocks/landing_page.rb
@@ -235,8 +230,6 @@ files:
235
230
  - app/controllers/concerns/decidim/admin/participatory_space_admin_context.rb
236
231
  - app/controllers/concerns/decidim/admin/participatory_space_export.rb
237
232
  - app/controllers/concerns/decidim/admin/taxonomies/filterable.rb
238
- - app/controllers/concerns/decidim/admin/user_groups.rb
239
- - app/controllers/concerns/decidim/admin/user_groups/filterable.rb
240
233
  - app/controllers/concerns/decidim/admin/verification_conflicts/filterable.rb
241
234
  - app/controllers/concerns/decidim/moderated_users/admin/filterable.rb
242
235
  - app/controllers/concerns/decidim/moderations/admin/filterable.rb
@@ -269,7 +262,6 @@ files:
269
262
  - app/controllers/decidim/admin/logs_controller.rb
270
263
  - app/controllers/decidim/admin/managed_users/impersonation_logs_controller.rb
271
264
  - app/controllers/decidim/admin/managed_users/promotions_controller.rb
272
- - app/controllers/decidim/admin/metrics_controller.rb
273
265
  - app/controllers/decidim/admin/moderated_users_controller.rb
274
266
  - app/controllers/decidim/admin/moderations/reports_controller.rb
275
267
  - app/controllers/decidim/admin/moderations_controller.rb
@@ -291,12 +283,11 @@ files:
291
283
  - app/controllers/decidim/admin/static_page_content_blocks_controller.rb
292
284
  - app/controllers/decidim/admin/static_page_topics_controller.rb
293
285
  - app/controllers/decidim/admin/static_pages_controller.rb
286
+ - app/controllers/decidim/admin/statistics_controller.rb
294
287
  - app/controllers/decidim/admin/taxonomies_controller.rb
295
288
  - app/controllers/decidim/admin/taxonomy_filters_controller.rb
296
289
  - app/controllers/decidim/admin/taxonomy_filters_selector_controller.rb
297
290
  - app/controllers/decidim/admin/taxonomy_items_controller.rb
298
- - app/controllers/decidim/admin/user_groups_controller.rb
299
- - app/controllers/decidim/admin/user_groups_csv_verifications_controller.rb
300
291
  - app/controllers/decidim/admin/users_controller.rb
301
292
  - app/events/decidim/attachment_created_event.rb
302
293
  - app/events/decidim/component_published_event.rb
@@ -320,7 +311,6 @@ files:
320
311
  - app/forms/decidim/admin/managed_user_promotion_form.rb
321
312
  - app/forms/decidim/admin/newsletter_form.rb
322
313
  - app/forms/decidim/admin/officialization_form.rb
323
- - app/forms/decidim/admin/organization_appearance_form.rb
324
314
  - app/forms/decidim/admin/organization_external_domain_allowlist_form.rb
325
315
  - app/forms/decidim/admin/organization_form.rb
326
316
  - app/forms/decidim/admin/participatory_space_admin_user_form.rb
@@ -339,7 +329,6 @@ files:
339
329
  - app/forms/decidim/admin/taxonomy_form.rb
340
330
  - app/forms/decidim/admin/taxonomy_item_form.rb
341
331
  - app/forms/decidim/admin/transfer_user_form.rb
342
- - app/forms/decidim/admin/user_group_csv_verification_form.rb
343
332
  - app/helpers/decidim/admin/admin_terms_helper.rb
344
333
  - app/helpers/decidim/admin/application_helper.rb
345
334
  - app/helpers/decidim/admin/areas_helper.rb
@@ -366,12 +355,10 @@ files:
366
355
  - app/helpers/decidim/admin/user_moderations_helper.rb
367
356
  - app/helpers/decidim/admin/user_roles_helper.rb
368
357
  - app/jobs/decidim/admin/application_job.rb
369
- - app/jobs/decidim/admin/destroy_private_users_follows_job.rb
370
358
  - app/jobs/decidim/admin/expire_impersonation_job.rb
371
359
  - app/jobs/decidim/admin/import_participatory_space_private_user_csv_job.rb
372
360
  - app/jobs/decidim/admin/newsletter_delivery_job.rb
373
361
  - app/jobs/decidim/admin/newsletter_job.rb
374
- - app/jobs/decidim/admin/verify_user_group_from_csv_job.rb
375
362
  - app/models/decidim/admin/fake_newsletter.rb
376
363
  - app/packs/entrypoints/decidim_admin.js
377
364
  - app/packs/entrypoints/decidim_admin.scss
@@ -383,6 +370,8 @@ files:
383
370
  - app/packs/src/decidim/admin/auto_label_by_position.component.js
384
371
  - app/packs/src/decidim/admin/budget_rule_toggler.component.js
385
372
  - app/packs/src/decidim/admin/choose_language.js
373
+ - app/packs/src/decidim/admin/controllers/slug/controller.js
374
+ - app/packs/src/decidim/admin/controllers/slug/slug.test.js
386
375
  - app/packs/src/decidim/admin/css_preview.js
387
376
  - app/packs/src/decidim/admin/draggable-list.js
388
377
  - app/packs/src/decidim/admin/draggable-table.js
@@ -409,8 +398,6 @@ files:
409
398
  - app/packs/src/decidim/admin/text_copy.js
410
399
  - app/packs/src/decidim/admin/toggle_nav.js
411
400
  - app/packs/src/decidim/admin/triadic_color_picker.js
412
- - app/packs/src/decidim/admin/welcome_notification.js
413
- - app/packs/stylesheets/decidim/admin/_bulk_actions.scss
414
401
  - app/packs/stylesheets/decidim/admin/_cards.scss
415
402
  - app/packs/stylesheets/decidim/admin/_color_picker.scss
416
403
  - app/packs/stylesheets/decidim/admin/_component-show.scss
@@ -442,7 +429,7 @@ files:
442
429
  - app/permissions/decidim/admin/permissions.rb
443
430
  - app/permissions/decidim/admin/user_manager_permissions.rb
444
431
  - app/presenters/decidim/admin/aside_menu_presenter.rb
445
- - app/presenters/decidim/admin/dashboard_metric_charts_presenter.rb
432
+ - app/presenters/decidim/admin/dashboard_statistic_charts_presenter.rb
446
433
  - app/presenters/decidim/admin/secondary_menu_presenter.rb
447
434
  - app/presenters/decidim/admin/simple_menu_presenter.rb
448
435
  - app/queries/decidim/admin/active_users_counter.rb
@@ -450,7 +437,6 @@ files:
450
437
  - app/queries/decidim/admin/moderation_stats.rb
451
438
  - app/queries/decidim/admin/newsletter_recipients.rb
452
439
  - app/queries/decidim/admin/user_filter.rb
453
- - app/queries/decidim/admin/user_groups_evaluation.rb
454
440
  - app/views/decidim/admin/admin_terms/show.html.erb
455
441
  - app/views/decidim/admin/area_types/_form.html.erb
456
442
  - app/views/decidim/admin/area_types/edit.html.erb
@@ -505,8 +491,6 @@ files:
505
491
  - app/views/decidim/admin/managed_users/impersonation_logs/index.html.erb
506
492
  - app/views/decidim/admin/managed_users/promotions/_form.html.erb
507
493
  - app/views/decidim/admin/managed_users/promotions/new.html.erb
508
- - app/views/decidim/admin/metrics/_metrics.html.erb
509
- - app/views/decidim/admin/metrics/index.html.erb
510
494
  - app/views/decidim/admin/moderated_users/_bulk-actions.html.erb
511
495
  - app/views/decidim/admin/moderated_users/_report.html.erb
512
496
  - app/views/decidim/admin/moderated_users/bulk_actions/_block.html.erb
@@ -540,12 +524,13 @@ files:
540
524
  - app/views/decidim/admin/officializations/show_email.html.erb
541
525
  - app/views/decidim/admin/organization/_form.html.erb
542
526
  - app/views/decidim/admin/organization/edit.html.erb
543
- - app/views/decidim/admin/organization_appearance/_form.html.erb
544
- - app/views/decidim/admin/organization_appearance/edit.html.erb
545
- - app/views/decidim/admin/organization_appearance/form/_colors.html.erb
546
- - app/views/decidim/admin/organization_appearance/form/_header_snippets.html.erb
547
- - app/views/decidim/admin/organization_appearance/form/_images.html.erb
548
- - app/views/decidim/admin/organization_appearance/form/_minimap.html.erb
527
+ - app/views/decidim/admin/organization/form/_admin_terms_of_service.html.erb
528
+ - app/views/decidim/admin/organization/form/_basic_configuration.html.erb
529
+ - app/views/decidim/admin/organization/form/_colors.html.erb
530
+ - app/views/decidim/admin/organization/form/_extra_features.html.erb
531
+ - app/views/decidim/admin/organization/form/_logos.html.erb
532
+ - app/views/decidim/admin/organization/form/_minimap.html.erb
533
+ - app/views/decidim/admin/organization/form/_welcome_notification.html.erb
549
534
  - app/views/decidim/admin/organization_external_domain_allowlist/_external_domain.html.erb
550
535
  - app/views/decidim/admin/organization_external_domain_allowlist/_form.html.erb
551
536
  - app/views/decidim/admin/organization_external_domain_allowlist/edit.html.erb
@@ -587,6 +572,8 @@ files:
587
572
  - app/views/decidim/admin/static_pages/edit.html.erb
588
573
  - app/views/decidim/admin/static_pages/index.html.erb
589
574
  - app/views/decidim/admin/static_pages/new.html.erb
575
+ - app/views/decidim/admin/statistics/_statistics.html.erb
576
+ - app/views/decidim/admin/statistics/index.html.erb
590
577
  - app/views/decidim/admin/taxonomies/_filters.html.erb
591
578
  - app/views/decidim/admin/taxonomies/_form.html.erb
592
579
  - app/views/decidim/admin/taxonomies/_row.html.erb
@@ -611,8 +598,6 @@ files:
611
598
  - app/views/decidim/admin/taxonomy_items/_form.html.erb
612
599
  - app/views/decidim/admin/taxonomy_items/edit.html.erb
613
600
  - app/views/decidim/admin/taxonomy_items/new.html.erb
614
- - app/views/decidim/admin/user_groups/index.html.erb
615
- - app/views/decidim/admin/user_groups_csv_verifications/new.html.erb
616
601
  - app/views/decidim/admin/users/_form.html.erb
617
602
  - app/views/decidim/admin/users/index.html.erb
618
603
  - app/views/decidim/admin/users/new.html.erb
@@ -628,6 +613,7 @@ files:
628
613
  - app/views/layouts/decidim/admin/_title_bar_responsive.html.erb
629
614
  - app/views/layouts/decidim/admin/application.html.erb
630
615
  - app/views/layouts/decidim/admin/global_moderations.html.erb
616
+ - app/views/layouts/decidim/admin/insights.html.erb
631
617
  - app/views/layouts/decidim/admin/newsletters.erb
632
618
  - app/views/layouts/decidim/admin/settings.html.erb
633
619
  - app/views/layouts/decidim/admin/taxonomy_filters.html.erb
@@ -744,7 +730,6 @@ files:
744
730
  - lib/decidim/admin/search_form_builder.rb
745
731
  - lib/decidim/admin/test.rb
746
732
  - lib/decidim/admin/test/admin_participatory_space_access_examples.rb
747
- - lib/decidim/admin/test/admin_participatory_space_component_access_examples.rb
748
733
  - lib/decidim/admin/test/commands/create_attachment_collection_examples.rb
749
734
  - lib/decidim/admin/test/commands/publish_participatory_space_examples.rb
750
735
  - lib/decidim/admin/test/commands/update_attachment_collection_examples.rb
@@ -1,44 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "csv"
4
-
5
- module Decidim
6
- module Admin
7
- # A command with all the business logic when processing the CSV to verify
8
- # user groups.
9
- class ProcessUserGroupVerificationCsv < Decidim::Command
10
- include Decidim::Admin::CustomImport
11
-
12
- # Public: Initializes the command.
13
- #
14
- # form - the form object containing the uploaded file
15
- def initialize(form)
16
- @form = form
17
- end
18
-
19
- # Executes the command. Broadcasts these events:
20
- #
21
- # - :ok when everything is valid.
22
- # - :invalid if the form was not valid and we could not proceed.
23
- #
24
- # Returns nothing.
25
- def call
26
- return broadcast(:invalid) unless @form.valid?
27
-
28
- process_csv
29
- broadcast(:ok)
30
- end
31
-
32
- private
33
-
34
- def process_csv
35
- verifier = @form.current_user
36
- organization = @form.current_organization
37
-
38
- process_import_file(@form.file) do |(email)|
39
- VerifyUserGroupFromCsvJob.perform_later(email, verifier, organization) if email.present?
40
- end
41
- end
42
- end
43
- end
44
- end
@@ -1,42 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Admin
5
- # A command with all the business logic when rejecting a user_group.
6
- class RejectUserGroup < Decidim::Command
7
- # Public: Initializes the command.
8
- #
9
- # user_group - The user_group to reject
10
- # current_user - The user performing the action
11
- def initialize(user_group, current_user)
12
- @user_group = user_group
13
- @current_user = current_user
14
- end
15
-
16
- # Executes the command. Broadcasts these events:
17
- #
18
- # - :ok when everything is valid.
19
- # - :invalid if the form was not valid and we could not proceed.
20
- #
21
- # Returns nothing.
22
- def call
23
- return broadcast(:invalid) unless @user_group.valid?
24
-
25
- reject_user_group
26
- broadcast(:ok)
27
- end
28
-
29
- private
30
-
31
- def reject_user_group
32
- Decidim.traceability.perform_action!(
33
- "reject",
34
- @user_group,
35
- @current_user
36
- ) do
37
- @user_group.reject!
38
- end
39
- end
40
- end
41
- end
42
- end
@@ -1,39 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Admin
5
- # A command with all the business logic for updating the current
6
- # organization appearance.
7
- class UpdateOrganizationAppearance < Decidim::Commands::UpdateResource
8
- fetch_file_attributes :logo, :highlighted_content_banner_image, :favicon, :official_img_footer
9
-
10
- fetch_form_attributes :cta_button_path, :cta_button_text, :description, :official_url,
11
- :highlighted_content_banner_enabled, :highlighted_content_banner_action_url,
12
- :highlighted_content_banner_title, :highlighted_content_banner_short_description,
13
- :highlighted_content_banner_action_title,
14
- :highlighted_content_banner_action_subtitle, :enable_omnipresent_banner, :omnipresent_banner_url,
15
- :omnipresent_banner_title, :omnipresent_banner_short_description
16
-
17
- private
18
-
19
- def attributes
20
- super
21
- .merge(colors_attributes)
22
- .delete_if { |_k, val| val.is_a?(Decidim::ApplicationUploader) }
23
- .tap do |attributes|
24
- attributes[:header_snippets] = form.header_snippets if Decidim.enable_html_header_snippets
25
- end
26
- end
27
-
28
- def colors_attributes
29
- {
30
- colors: {
31
- primary: form.primary_color,
32
- secondary: form.secondary_color,
33
- tertiary: form.tertiary_color
34
- }.compact_blank
35
- }
36
- end
37
- end
38
- end
39
- end
@@ -1,44 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Admin
5
- # A command with all the business logic when updating a usergroup.
6
- class UpdateUserGroups < Decidim::Command
7
- # Public: Initializes the command.
8
- #
9
- # scope - The Scope to update
10
- # form - A form object with the params.
11
- def initialize(user_group)
12
- @user_group = user_group
13
- @form = form
14
- end
15
-
16
- # Executes the command. Broadcasts these events:
17
- #
18
- # - :ok when everything is valid.
19
- # - :invalid if the form was not valid and we could not proceed.
20
- #
21
- # Returns nothing.
22
- def call
23
- return broadcast(:invalid) if form.invalid?
24
-
25
- update_scope
26
- broadcast(:ok)
27
- end
28
-
29
- private
30
-
31
- attr_reader :form
32
-
33
- def update_scope
34
- @scope.update!(attributes)
35
- end
36
-
37
- def attributes
38
- {
39
- name: form.name
40
- }
41
- end
42
- end
43
- end
44
- end
@@ -1,43 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Admin
5
- # A command with all the business logic when verifying a user_group.
6
- class VerifyUserGroup < Decidim::Command
7
- # Public: Initializes the command.
8
- #
9
- # user_group - The user_group to verify
10
- # current_user - the user performing the action
11
- def initialize(user_group, current_user, via_csv: false)
12
- @user_group = user_group
13
- @current_user = current_user
14
- @via_csv = via_csv
15
- end
16
-
17
- # Executes the command. Broadcasts these events:
18
- #
19
- # - :ok when everything is valid.
20
- #
21
- # Returns nothing.
22
- def call
23
- return broadcast(:invalid) unless @user_group.valid?
24
-
25
- verify_user_group
26
- broadcast(:ok)
27
- end
28
-
29
- private
30
-
31
- def verify_user_group
32
- action = @via_csv ? "verify_via_csv" : "verify"
33
- Decidim.traceability.perform_action!(
34
- action,
35
- @user_group,
36
- @current_user
37
- ) do
38
- @user_group.verify!
39
- end
40
- end
41
- end
42
- end
43
- end
@@ -1,45 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "active_support/concern"
4
-
5
- module Decidim
6
- module Admin
7
- module UserGroups
8
- module Filterable
9
- extend ActiveSupport::Concern
10
-
11
- included do
12
- include Decidim::Admin::Filterable
13
-
14
- private
15
-
16
- def base_query
17
- collection
18
- end
19
-
20
- def search_field_predicate
21
- :name_or_nickname_or_email_cont
22
- end
23
-
24
- def filters
25
- [
26
- :state_eq
27
- ]
28
- end
29
-
30
- def filters_with_values
31
- {
32
- state_eq: user_groups_states
33
- }
34
- end
35
-
36
- protected
37
-
38
- def user_groups_states
39
- %w(all pending rejected verified)
40
- end
41
- end
42
- end
43
- end
44
- end
45
- end
@@ -1,24 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "active_support/concern"
4
-
5
- module Decidim
6
- module Admin
7
- # The UserGroups concern must be included in all controllers related
8
- # to UserGroups feature. It adds a method to enforce that the feature
9
- # is enabled.
10
- module UserGroups
11
- extend ActiveSupport::Concern
12
-
13
- included do
14
- delegate :user_groups_enabled?, to: :current_organization
15
-
16
- helper_method :user_groups_enabled?
17
- end
18
-
19
- def enforce_user_groups_enabled
20
- raise Decidim::ActionForbidden unless current_organization.user_groups_enabled?
21
- end
22
- end
23
- end
24
- end
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Admin
5
- class MetricsController < Decidim::Admin::ApplicationController
6
- helper_method :metrics_presenter
7
-
8
- def index
9
- enforce_permission_to :read, :metrics
10
- end
11
-
12
- private
13
-
14
- def metrics_presenter
15
- @metrics_presenter ||= Decidim::Admin::DashboardMetricChartsPresenter.new(
16
- summary: false,
17
- organization: current_organization,
18
- view_context:
19
- )
20
- end
21
- end
22
- end
23
- end
@@ -1,76 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Admin
5
- # Controller that allows managing user groups at the admin panel.
6
- #
7
- class UserGroupsController < Decidim::Admin::ApplicationController
8
- include UserGroups
9
- include Decidim::Admin::UserGroups::Filterable
10
-
11
- before_action :enforce_user_groups_enabled
12
-
13
- layout "decidim/admin/users"
14
-
15
- add_breadcrumb_item_from_menu :admin_user_menu
16
-
17
- def index
18
- enforce_permission_to :index, :user_group
19
-
20
- @user_groups = filtered_collection
21
- end
22
-
23
- def verify
24
- @user_group = collection.find(params[:id])
25
- enforce_permission_to :verify, :user_group, user_group: @user_group
26
-
27
- VerifyUserGroup.call(@user_group, current_user) do
28
- on(:ok) do
29
- flash[:notice] = I18n.t("user_group.verify.success", scope: "decidim.admin")
30
- redirect_back(fallback_location: decidim_admin.user_groups_path)
31
- end
32
-
33
- on(:invalid) do
34
- flash[:alert] = I18n.t("user_group.verify.invalid", scope: "decidim.admin")
35
- redirect_back(fallback_location: decidim_admin.user_groups_path)
36
- end
37
- end
38
- end
39
-
40
- def reject
41
- @user_group = collection.find(params[:id])
42
- enforce_permission_to :reject, :user_group, user_group: @user_group
43
-
44
- RejectUserGroup.call(@user_group, current_user) do
45
- on(:ok) do
46
- flash[:notice] = I18n.t("user_group.reject.success", scope: "decidim.admin")
47
- redirect_back(fallback_location: decidim_admin.user_groups_path)
48
- end
49
-
50
- on(:invalid) do
51
- flash[:alert] = I18n.t("user_group.reject.invalid", scope: "decidim.admin")
52
- redirect_back(fallback_location: decidim_admin.user_groups_path)
53
- end
54
- end
55
- end
56
-
57
- private
58
-
59
- def filtered_collection
60
- paginate(query.result)
61
- end
62
-
63
- def base_query
64
- Decidim::Admin::UserGroupsEvaluation.for(collection, @query, @state)
65
- end
66
-
67
- def collection
68
- UserGroup
69
- .left_outer_joins(:memberships)
70
- .select("decidim_users.*, COUNT(decidim_user_group_memberships.decidim_user_group_id) as users_count")
71
- .where(decidim_user_group_memberships: { decidim_user_id: current_organization.users })
72
- .group(Arel.sql("decidim_users.id"))
73
- end
74
- end
75
- end
76
- end
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Admin
5
- # Controller that allows batch verifying user groups by uploading a CSV file.
6
- class UserGroupsCsvVerificationsController < Decidim::Admin::ApplicationController
7
- include UserGroups
8
-
9
- before_action :enforce_user_groups_enabled
10
-
11
- layout "decidim/admin/users"
12
-
13
- def new
14
- enforce_permission_to :csv_verify, :user_group
15
- @form = form(UserGroupCsvVerificationForm).instance
16
- end
17
-
18
- def create
19
- enforce_permission_to :csv_verify, :user_group
20
- @form = form(UserGroupCsvVerificationForm).from_params(params)
21
-
22
- ProcessUserGroupVerificationCsv.call(@form) do
23
- on(:ok) do
24
- flash[:notice] = I18n.t("user_group.csv_verify.success", scope: "decidim.admin")
25
- redirect_to decidim_admin.user_groups_path
26
- end
27
-
28
- on(:invalid) do
29
- flash[:alert] = I18n.t("user_group.csv_verify.invalid", scope: "decidim.admin")
30
- render :new
31
- end
32
- end
33
- end
34
- end
35
- end
36
- end