decidim-admin 0.27.10 → 0.28.0.rc4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of decidim-admin might be problematic. Click here for more details.

Files changed (513) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/app/cells/decidim/admin/attachments_privacy_warning/show.erb +1 -1
  4. data/app/cells/decidim/admin/content_block/show.erb +11 -6
  5. data/app/cells/decidim/admin/content_block_cell.rb +21 -7
  6. data/app/cells/decidim/admin/homepage_content_block_cell.rb +19 -0
  7. data/app/cells/decidim/admin/results_per_page/show.erb +1 -1
  8. data/app/cells/decidim/admin/static_page_content_block_cell.rb +21 -0
  9. data/app/commands/decidim/admin/block_user.rb +15 -11
  10. data/app/commands/decidim/admin/close_session_managed_user.rb +1 -1
  11. data/app/commands/decidim/admin/content_blocks/create_content_block.rb +50 -0
  12. data/app/commands/decidim/admin/content_blocks/destroy_content_block.rb +36 -0
  13. data/app/commands/decidim/admin/content_blocks/reorder_content_blocks.rb +88 -0
  14. data/app/commands/decidim/admin/content_blocks/update_content_block.rb +81 -0
  15. data/app/commands/decidim/admin/create_area.rb +1 -1
  16. data/app/commands/decidim/admin/create_area_type.rb +1 -1
  17. data/app/commands/decidim/admin/create_attachment.rb +1 -1
  18. data/app/commands/decidim/admin/create_attachment_collection.rb +1 -1
  19. data/app/commands/decidim/admin/create_category.rb +1 -1
  20. data/app/commands/decidim/admin/create_newsletter.rb +1 -1
  21. data/app/commands/decidim/admin/create_participatory_space_private_user.rb +3 -3
  22. data/app/commands/decidim/admin/create_scope.rb +1 -1
  23. data/app/commands/decidim/admin/create_scope_type.rb +1 -1
  24. data/app/commands/decidim/admin/create_static_page.rb +1 -1
  25. data/app/commands/decidim/admin/create_static_page_topic.rb +1 -1
  26. data/app/commands/decidim/admin/destroy_area.rb +1 -1
  27. data/app/commands/decidim/admin/destroy_category.rb +2 -2
  28. data/app/commands/decidim/admin/destroy_participatory_space_private_user.rb +1 -1
  29. data/app/commands/decidim/admin/destroy_scope.rb +1 -1
  30. data/app/commands/decidim/admin/destroy_share_token.rb +1 -1
  31. data/app/commands/decidim/admin/destroy_static_page_topic.rb +1 -1
  32. data/app/commands/decidim/admin/hide_resource.rb +9 -35
  33. data/app/commands/decidim/admin/impersonate_user.rb +1 -1
  34. data/app/commands/decidim/admin/invite_admin.rb +1 -1
  35. data/app/commands/decidim/admin/participatory_space/create_admin.rb +132 -0
  36. data/app/commands/decidim/admin/participatory_space/destroy_admin.rb +61 -0
  37. data/app/commands/decidim/admin/participatory_space/publish.rb +41 -0
  38. data/app/commands/decidim/admin/participatory_space/unpublish.rb +41 -0
  39. data/app/commands/decidim/admin/participatory_space/update_admin.rb +72 -0
  40. data/app/commands/decidim/admin/process_participatory_space_private_user_import_csv.rb +4 -6
  41. data/app/commands/decidim/admin/process_user_group_verification_csv.rb +4 -7
  42. data/app/commands/decidim/admin/promote_managed_user.rb +1 -1
  43. data/app/commands/decidim/admin/reject_user_group.rb +1 -1
  44. data/app/commands/decidim/admin/update_area.rb +1 -1
  45. data/app/commands/decidim/admin/update_area_type.rb +1 -1
  46. data/app/commands/decidim/admin/update_attachment.rb +1 -1
  47. data/app/commands/decidim/admin/update_attachment_collection.rb +1 -1
  48. data/app/commands/decidim/admin/update_category.rb +1 -1
  49. data/app/commands/decidim/admin/update_component_permissions.rb +2 -2
  50. data/app/commands/decidim/admin/update_newsletter.rb +1 -1
  51. data/app/commands/decidim/admin/update_organization.rb +2 -2
  52. data/app/commands/decidim/admin/update_organization_appearance.rb +5 -7
  53. data/app/commands/decidim/admin/update_organization_tos_version.rb +3 -3
  54. data/app/commands/decidim/admin/update_resource_permissions.rb +1 -1
  55. data/app/commands/decidim/admin/update_scope.rb +1 -1
  56. data/app/commands/decidim/admin/update_scope_type.rb +1 -1
  57. data/app/commands/decidim/admin/update_static_page.rb +1 -1
  58. data/app/commands/decidim/admin/update_static_page_topic.rb +1 -1
  59. data/app/commands/decidim/admin/update_user_groups.rb +1 -1
  60. data/app/controllers/concerns/decidim/admin/content_blocks/landing_page.rb +130 -0
  61. data/app/controllers/concerns/decidim/admin/content_blocks/landing_page_content_blocks.rb +158 -0
  62. data/app/controllers/concerns/decidim/admin/filterable.rb +3 -3
  63. data/app/controllers/concerns/decidim/admin/global_moderation_context.rb +1 -20
  64. data/app/controllers/concerns/decidim/admin/logs/filterable.rb +31 -0
  65. data/app/controllers/concerns/decidim/admin/participatory_space_admin_breadcrumb.rb +38 -0
  66. data/app/controllers/concerns/decidim/admin/participatory_space_admin_context.rb +3 -2
  67. data/app/controllers/decidim/admin/admin_terms_controller.rb +3 -3
  68. data/app/controllers/decidim/admin/application_controller.rb +6 -2
  69. data/app/controllers/decidim/admin/area_types_controller.rb +10 -3
  70. data/app/controllers/decidim/admin/areas_controller.rb +10 -3
  71. data/app/controllers/decidim/admin/authorization_workflows_controller.rb +1 -3
  72. data/app/controllers/decidim/admin/block_user_controller.rb +4 -3
  73. data/app/controllers/decidim/admin/categories_controller.rb +20 -12
  74. data/app/controllers/decidim/admin/component_permissions_controller.rb +2 -2
  75. data/app/controllers/decidim/admin/components/base_controller.rb +16 -1
  76. data/app/controllers/decidim/admin/components_controller.rb +13 -1
  77. data/app/controllers/decidim/admin/concerns/has_attachment_collections.rb +4 -10
  78. data/app/controllers/decidim/admin/concerns/has_attachments.rb +10 -16
  79. data/app/controllers/decidim/admin/concerns/has_breadcrumb_items.rb +27 -0
  80. data/app/controllers/decidim/admin/concerns/has_content_blocks.rb +23 -0
  81. data/app/controllers/decidim/admin/concerns/has_private_users.rb +4 -4
  82. data/app/controllers/decidim/admin/concerns/has_private_users_csv_import.rb +2 -2
  83. data/app/controllers/decidim/admin/concerns/has_tabbed_menu.rb +21 -0
  84. data/app/controllers/decidim/admin/conflicts_controller.rb +3 -9
  85. data/app/controllers/decidim/admin/dashboard_controller.rb +8 -3
  86. data/app/controllers/decidim/admin/exports_controller.rb +21 -4
  87. data/app/controllers/decidim/admin/help_sections_controller.rb +3 -1
  88. data/app/controllers/decidim/admin/impersonatable_users_controller.rb +3 -1
  89. data/app/controllers/decidim/admin/impersonations_controller.rb +8 -9
  90. data/app/controllers/decidim/admin/imports_controller.rb +24 -6
  91. data/app/controllers/decidim/admin/logs_controller.rb +20 -8
  92. data/app/controllers/decidim/admin/managed_users/impersonation_logs_controller.rb +1 -3
  93. data/app/controllers/decidim/admin/managed_users/promotions_controller.rb +2 -2
  94. data/app/controllers/decidim/admin/metrics_controller.rb +1 -1
  95. data/app/controllers/decidim/admin/moderated_users_controller.rb +7 -4
  96. data/app/controllers/decidim/admin/newsletters_controller.rb +16 -7
  97. data/app/controllers/decidim/admin/officializations_controller.rb +3 -3
  98. data/app/controllers/decidim/admin/organization_appearance_controller.rb +3 -0
  99. data/app/controllers/decidim/admin/organization_controller.rb +6 -7
  100. data/app/controllers/decidim/admin/organization_external_domain_whitelist_controller.rb +2 -0
  101. data/app/controllers/decidim/admin/organization_homepage_content_blocks_controller.rb +12 -41
  102. data/app/controllers/decidim/admin/organization_homepage_controller.rb +15 -33
  103. data/app/controllers/decidim/admin/participatory_space/user_role_controller.rb +119 -0
  104. data/app/controllers/decidim/admin/reminders_controller.rb +1 -1
  105. data/app/controllers/decidim/admin/resource_permissions_controller.rb +1 -1
  106. data/app/controllers/decidim/admin/scope_types_controller.rb +10 -3
  107. data/app/controllers/decidim/admin/scopes_controller.rb +10 -3
  108. data/app/controllers/decidim/admin/share_tokens_controller.rb +1 -1
  109. data/app/controllers/decidim/admin/space_publications_controller.rb +53 -0
  110. data/app/controllers/decidim/admin/static_page_content_blocks_controller.rb +40 -0
  111. data/app/controllers/decidim/admin/static_page_topics_controller.rb +18 -7
  112. data/app/controllers/decidim/admin/static_pages_controller.rb +33 -6
  113. data/app/controllers/decidim/admin/users_controller.rb +2 -2
  114. data/app/events/decidim/attachment_created_event.rb +1 -1
  115. data/app/events/decidim/component_published_event.rb +1 -12
  116. data/app/events/decidim/resource_hidden_event.rb +2 -6
  117. data/app/forms/decidim/admin/area_form.rb +1 -1
  118. data/app/forms/decidim/admin/block_user_form.rb +1 -0
  119. data/app/forms/decidim/admin/category_form.rb +1 -1
  120. data/app/forms/decidim/admin/managed_user_promotion_form.rb +1 -1
  121. data/app/forms/decidim/admin/organization_appearance_form.rb +7 -12
  122. data/app/forms/decidim/admin/organization_form.rb +2 -2
  123. data/app/forms/decidim/admin/participatory_space_admin_user_form.rb +16 -0
  124. data/app/forms/decidim/admin/participatory_space_private_user_csv_import_form.rb +3 -5
  125. data/app/forms/decidim/admin/scope_form.rb +1 -1
  126. data/app/forms/decidim/admin/selective_newsletter_form.rb +1 -1
  127. data/app/forms/decidim/admin/static_page_form.rb +3 -3
  128. data/app/helpers/decidim/admin/admin_terms_helper.rb +10 -10
  129. data/app/helpers/decidim/admin/application_helper.rb +1 -14
  130. data/app/helpers/decidim/admin/attributes_display_helper.rb +1 -1
  131. data/app/helpers/decidim/admin/bulk_actions_helper.rb +2 -2
  132. data/app/helpers/decidim/admin/dashboard_helper.rb +3 -3
  133. data/app/helpers/decidim/admin/exports_helper.rb +26 -2
  134. data/app/helpers/decidim/admin/filterable_helper.rb +2 -2
  135. data/app/helpers/decidim/admin/icon_link_helper.rb +12 -11
  136. data/app/helpers/decidim/admin/icon_with_tooltip_helper.rb +22 -0
  137. data/app/helpers/decidim/admin/imports_helper.rb +1 -1
  138. data/app/helpers/decidim/admin/logs_helper.rb +18 -0
  139. data/app/helpers/decidim/admin/menu_helper.rb +61 -1
  140. data/app/helpers/decidim/admin/moderations/reports_helper.rb +3 -2
  141. data/app/helpers/decidim/admin/newsletters_helper.rb +4 -4
  142. data/app/helpers/decidim/admin/paginable/per_page_helper.rb +1 -1
  143. data/app/helpers/decidim/admin/resource_permissions_helper.rb +2 -2
  144. data/app/helpers/decidim/admin/search_form_helper.rb +19 -0
  145. data/app/helpers/decidim/admin/settings_helper.rb +9 -8
  146. data/app/jobs/decidim/admin/application_job.rb +1 -1
  147. data/app/jobs/decidim/admin/expire_impersonation_job.rb +1 -1
  148. data/app/jobs/decidim/admin/import_participatory_space_private_user_csv_job.rb +2 -2
  149. data/app/jobs/decidim/admin/newsletter_job.rb +1 -1
  150. data/app/mailers/decidim/admin/application_mailer.rb +12 -0
  151. data/app/packs/entrypoints/decidim_admin.js +2 -23
  152. data/app/packs/entrypoints/decidim_admin.scss +1 -1
  153. data/app/packs/src/decidim/admin/application.js +0 -12
  154. data/app/packs/src/decidim/admin/officializations.js +21 -3
  155. data/app/packs/src/decidim/admin/participatory_space_search.js +268 -0
  156. data/app/packs/src/decidim/admin/scope_picker_enabler.component.js +2 -2
  157. data/app/packs/src/decidim/admin/sortable.js +0 -2
  158. data/app/packs/src/decidim/admin/tab_focus.js +3 -3
  159. data/app/packs/src/decidim/admin/toggle_nav.js +1 -1
  160. data/app/packs/src/decidim/admin/triadic_color_picker.js +128 -0
  161. data/app/packs/stylesheets/decidim/admin/_bulk_actions.scss +16 -0
  162. data/app/packs/stylesheets/decidim/admin/_cards.scss +171 -0
  163. data/app/packs/stylesheets/decidim/admin/_color_picker.scss +61 -0
  164. data/app/packs/stylesheets/decidim/admin/_component-show.scss +95 -0
  165. data/app/packs/stylesheets/decidim/admin/_data_picker.scss +55 -0
  166. data/app/packs/stylesheets/decidim/admin/_dropdown.scss +35 -0
  167. data/app/packs/stylesheets/decidim/admin/_filters.scss +94 -0
  168. data/app/packs/stylesheets/decidim/admin/_forms.scss +81 -0
  169. data/app/packs/stylesheets/decidim/admin/_item_edit.scss +122 -0
  170. data/app/packs/stylesheets/decidim/admin/_item_show.scss +69 -0
  171. data/app/packs/stylesheets/decidim/admin/_layout.scss +79 -0
  172. data/app/packs/stylesheets/decidim/admin/_legacy_foundation.scss +482 -0
  173. data/app/packs/stylesheets/decidim/admin/_logs.scss +80 -0
  174. data/app/packs/stylesheets/decidim/admin/_main-nav.scss +93 -0
  175. data/app/packs/stylesheets/decidim/admin/_minimap.scss +59 -0
  176. data/app/packs/stylesheets/decidim/admin/_moderations.scss +36 -0
  177. data/app/packs/stylesheets/decidim/admin/_secondary-nav.scss +111 -0
  178. data/app/packs/stylesheets/decidim/admin/_show_email.scss +19 -0
  179. data/app/packs/stylesheets/decidim/admin/_sidebar-menu.scss +66 -0
  180. data/app/packs/stylesheets/decidim/admin/_table-list.scss +155 -0
  181. data/app/packs/stylesheets/decidim/admin/_tabs.scss +74 -0
  182. data/app/packs/stylesheets/decidim/admin/_title-bar.scss +62 -0
  183. data/app/packs/stylesheets/decidim/admin/_user-login.scss +9 -0
  184. data/app/packs/stylesheets/decidim/admin/application.scss +37 -21
  185. data/app/permissions/decidim/admin/permissions.rb +2 -2
  186. data/app/presenters/decidim/admin/aside_menu_presenter.rb +25 -0
  187. data/app/presenters/decidim/admin/dashboard_metric_charts_presenter.rb +0 -26
  188. data/app/presenters/decidim/admin/secondary_menu_presenter.rb +5 -9
  189. data/app/presenters/decidim/admin/simple_menu_presenter.rb +2 -2
  190. data/app/queries/decidim/admin/active_users_counter.rb +1 -1
  191. data/app/queries/decidim/admin/invites.rb +58 -0
  192. data/app/queries/decidim/admin/moderation_stats.rb +53 -0
  193. data/app/views/decidim/admin/admin_terms/show.html.erb +15 -10
  194. data/app/views/decidim/admin/area_types/_form.html.erb +11 -6
  195. data/app/views/decidim/admin/area_types/edit.html.erb +14 -12
  196. data/app/views/decidim/admin/area_types/index.html.erb +35 -33
  197. data/app/views/decidim/admin/area_types/new.html.erb +14 -12
  198. data/app/views/decidim/admin/areas/_form.html.erb +12 -8
  199. data/app/views/decidim/admin/areas/edit.html.erb +14 -12
  200. data/app/views/decidim/admin/areas/index.html.erb +40 -38
  201. data/app/views/decidim/admin/areas/new.html.erb +14 -12
  202. data/app/views/decidim/admin/attachment_collections/_form.html.erb +12 -14
  203. data/app/views/decidim/admin/attachment_collections/edit.html.erb +17 -5
  204. data/app/views/decidim/admin/attachment_collections/index.html.erb +35 -40
  205. data/app/views/decidim/admin/attachment_collections/new.html.erb +16 -5
  206. data/app/views/decidim/admin/attachments/_form.html.erb +18 -22
  207. data/app/views/decidim/admin/attachments/edit.html.erb +17 -5
  208. data/app/views/decidim/admin/attachments/index.html.erb +45 -48
  209. data/app/views/decidim/admin/attachments/new.html.erb +16 -5
  210. data/app/views/decidim/admin/authorization_workflows/index.html.erb +7 -0
  211. data/app/views/decidim/admin/block_user/new.html.erb +39 -18
  212. data/app/views/decidim/admin/categories/_form.html.erb +13 -15
  213. data/app/views/decidim/admin/categories/edit.html.erb +16 -5
  214. data/app/views/decidim/admin/categories/index.html.erb +44 -55
  215. data/app/views/decidim/admin/categories/new.html.erb +16 -5
  216. data/app/views/decidim/admin/components/_actions.html.erb +17 -16
  217. data/app/views/decidim/admin/components/_component.html.erb +5 -3
  218. data/app/views/decidim/admin/components/_form.html.erb +87 -47
  219. data/app/views/decidim/admin/components/_resource_action.html.erb +9 -0
  220. data/app/views/decidim/admin/components/_settings_fields.html.erb +11 -8
  221. data/app/views/decidim/admin/components/edit.html.erb +16 -5
  222. data/app/views/decidim/admin/components/index.html.erb +23 -18
  223. data/app/views/decidim/admin/components/new.html.erb +16 -5
  224. data/app/views/decidim/admin/conflicts/edit.html.erb +24 -26
  225. data/app/views/decidim/admin/conflicts/index.html.erb +23 -26
  226. data/app/views/decidim/admin/dashboard/_pending_moderations.html.erb +12 -0
  227. data/app/views/decidim/admin/dashboard/show.html.erb +26 -20
  228. data/app/views/decidim/admin/devise/mailers/password_change.html.erb +1 -1
  229. data/app/views/decidim/admin/devise/mailers/reset_password_instructions.html.erb +2 -2
  230. data/app/views/decidim/admin/exports/_dropdown.html.erb +11 -4
  231. data/app/views/decidim/admin/help_sections/_form.html.erb +34 -18
  232. data/app/views/decidim/admin/impersonatable_users/index.html.erb +46 -53
  233. data/app/views/decidim/admin/impersonations/_form.html.erb +53 -35
  234. data/app/views/decidim/admin/impersonations/new.html.erb +21 -19
  235. data/app/views/decidim/admin/imports/_dropdown.html.erb +5 -2
  236. data/app/views/decidim/admin/imports/new.html.erb +54 -43
  237. data/app/views/decidim/admin/logs/_filters.html.erb +37 -0
  238. data/app/views/decidim/admin/logs/_logs_list.html.erb +4 -3
  239. data/app/views/decidim/admin/logs/index.html.erb +3 -6
  240. data/app/views/decidim/admin/managed_users/impersonation_logs/index.html.erb +27 -28
  241. data/app/views/decidim/admin/managed_users/promotions/_form.html.erb +8 -2
  242. data/app/views/decidim/admin/managed_users/promotions/new.html.erb +17 -15
  243. data/app/views/decidim/admin/metrics/_metrics.html.erb +1 -6
  244. data/app/views/decidim/admin/metrics/index.html.erb +1 -1
  245. data/app/views/decidim/admin/moderated_users/_report.html.erb +1 -5
  246. data/app/views/decidim/admin/moderated_users/index.html.erb +58 -75
  247. data/app/views/decidim/admin/moderations/index.html.erb +91 -101
  248. data/app/views/decidim/admin/moderations/reports/index.html.erb +91 -92
  249. data/app/views/decidim/admin/moderations/reports/show.html.erb +51 -49
  250. data/app/views/decidim/admin/newsletter_templates/index.html.erb +12 -11
  251. data/app/views/decidim/admin/newsletter_templates/show.html.erb +8 -6
  252. data/app/views/decidim/admin/newsletters/_form.html.erb +10 -4
  253. data/app/views/decidim/admin/newsletters/edit.html.erb +21 -12
  254. data/app/views/decidim/admin/newsletters/index.html.erb +57 -57
  255. data/app/views/decidim/admin/newsletters/new.html.erb +20 -12
  256. data/app/views/decidim/admin/newsletters/select_recipients_to_deliver.html.erb +53 -55
  257. data/app/views/decidim/admin/newsletters/show.html.erb +24 -17
  258. data/app/views/decidim/admin/officializations/_show_email_modal.html.erb +20 -21
  259. data/app/views/decidim/admin/officializations/index.html.erb +55 -62
  260. data/app/views/decidim/admin/officializations/new.html.erb +24 -16
  261. data/app/views/decidim/admin/officializations/show_email.html.erb +0 -1
  262. data/app/views/decidim/admin/organization/_form.html.erb +76 -90
  263. data/app/views/decidim/admin/organization/edit.html.erb +19 -11
  264. data/app/views/decidim/admin/organization_appearance/_form.html.erb +72 -57
  265. data/app/views/decidim/admin/organization_appearance/edit.html.erb +17 -6
  266. data/app/views/decidim/admin/organization_appearance/form/_colors.html.erb +63 -24
  267. data/app/views/decidim/admin/organization_appearance/form/_header_snippets.html.erb +17 -0
  268. data/app/views/decidim/admin/organization_appearance/form/_images.html.erb +39 -40
  269. data/app/views/decidim/admin/organization_appearance/form/_minimap.html.erb +5 -14
  270. data/app/views/decidim/admin/organization_external_domain_whitelist/_external_domain.html.erb +18 -13
  271. data/app/views/decidim/admin/organization_external_domain_whitelist/_form.html.erb +8 -10
  272. data/app/views/decidim/admin/organization_external_domain_whitelist/edit.html.erb +17 -6
  273. data/app/views/decidim/admin/participatory_space_private_users/_form.html.erb +10 -14
  274. data/app/views/decidim/admin/participatory_space_private_users/index.html.erb +59 -60
  275. data/app/views/decidim/admin/participatory_space_private_users/new.html.erb +17 -5
  276. data/app/views/decidim/admin/participatory_space_private_users_csv_imports/new.html.erb +28 -11
  277. data/app/views/decidim/admin/reminders/new.html.erb +18 -16
  278. data/app/views/decidim/admin/resource_permissions/edit.html.erb +46 -47
  279. data/app/views/decidim/admin/scope_types/_form.html.erb +9 -6
  280. data/app/views/decidim/admin/scope_types/edit.html.erb +17 -11
  281. data/app/views/decidim/admin/scope_types/index.html.erb +40 -34
  282. data/app/views/decidim/admin/scope_types/new.html.erb +17 -11
  283. data/app/views/decidim/admin/scopes/_form.html.erb +11 -9
  284. data/app/views/decidim/admin/scopes/edit.html.erb +17 -11
  285. data/app/views/decidim/admin/scopes/index.html.erb +39 -41
  286. data/app/views/decidim/admin/scopes/new.html.erb +17 -11
  287. data/app/views/decidim/admin/share_tokens/_share_tokens.html.erb +3 -15
  288. data/app/views/decidim/admin/shared/_admin_confirm_modal.html.erb +18 -0
  289. data/app/views/decidim/admin/shared/_filters.html.erb +6 -10
  290. data/app/views/decidim/admin/shared/_gallery.html.erb +8 -19
  291. data/app/views/decidim/admin/shared/_js-callout.html.erb +4 -2
  292. data/app/views/decidim/admin/shared/landing_page/_content_blocks.html.erb +68 -0
  293. data/app/views/decidim/admin/shared/landing_page/edit.html.erb +1 -47
  294. data/app/views/decidim/admin/shared/landing_page_content_blocks/edit.html.erb +24 -14
  295. data/app/views/decidim/admin/static_page_topics/_form.html.erb +2 -2
  296. data/app/views/decidim/admin/static_page_topics/edit.html.erb +21 -11
  297. data/app/views/decidim/admin/static_page_topics/index.html.erb +41 -0
  298. data/app/views/decidim/admin/static_page_topics/new.html.erb +21 -11
  299. data/app/views/decidim/admin/static_pages/_form.html.erb +41 -26
  300. data/app/views/decidim/admin/static_pages/_form_notable_changes.html.erb +2 -3
  301. data/app/views/decidim/admin/static_pages/_topic.html.erb +40 -44
  302. data/app/views/decidim/admin/static_pages/edit.html.erb +22 -12
  303. data/app/views/decidim/admin/static_pages/index.html.erb +14 -2
  304. data/app/views/decidim/admin/static_pages/new.html.erb +15 -11
  305. data/app/views/decidim/admin/user_groups/index.html.erb +58 -58
  306. data/app/views/decidim/admin/user_groups_csv_verifications/new.html.erb +28 -17
  307. data/app/views/decidim/admin/users/_form.html.erb +14 -8
  308. data/app/views/decidim/admin/users/index.html.erb +52 -54
  309. data/app/views/decidim/admin/users/new.html.erb +15 -12
  310. data/app/views/layouts/decidim/admin/_admin_timeout_modal.html.erb +24 -0
  311. data/app/views/layouts/decidim/admin/_application.html.erb +50 -12
  312. data/app/views/layouts/decidim/admin/_breadcrumb.html.erb +26 -0
  313. data/app/views/layouts/decidim/admin/_callouts_full.html.erb +2 -13
  314. data/app/views/layouts/decidim/admin/_header.html.erb +2 -6
  315. data/app/views/layouts/decidim/admin/_js_configuration.html.erb +3 -6
  316. data/app/views/layouts/decidim/admin/_sidebar_menu.html.erb +24 -0
  317. data/app/views/layouts/decidim/admin/_title_bar.html.erb +36 -37
  318. data/app/views/layouts/decidim/admin/_title_bar_responsive.html.erb +46 -0
  319. data/app/views/layouts/decidim/admin/global_moderations.html.erb +1 -3
  320. data/app/views/layouts/decidim/admin/newsletters.erb +0 -11
  321. data/app/views/layouts/decidim/admin/settings.html.erb +2 -3
  322. data/app/views/layouts/decidim/admin/users.html.erb +1 -3
  323. data/config/locales/ar-SA.yml +0 -3
  324. data/config/locales/ar.yml +9 -83
  325. data/config/locales/bg.yml +3 -990
  326. data/config/locales/ca.yml +121 -89
  327. data/config/locales/cs-CZ.yml +0 -3
  328. data/config/locales/cs.yml +120 -86
  329. data/config/locales/de.yml +123 -91
  330. data/config/locales/el.yml +90 -78
  331. data/config/locales/en.yml +123 -91
  332. data/config/locales/eo.yml +0 -2
  333. data/config/locales/es-MX.yml +121 -89
  334. data/config/locales/es-PY.yml +121 -89
  335. data/config/locales/es.yml +124 -92
  336. data/config/locales/eu.yml +126 -94
  337. data/config/locales/fi-pl.yml +0 -3
  338. data/config/locales/fi-plain.yml +112 -80
  339. data/config/locales/fi.yml +115 -83
  340. data/config/locales/fr-CA.yml +119 -87
  341. data/config/locales/fr-LU.yml +0 -3
  342. data/config/locales/fr.yml +119 -87
  343. data/config/locales/ga-IE.yml +4 -12
  344. data/config/locales/gl.yml +7 -99
  345. data/config/locales/hu.yml +93 -98
  346. data/config/locales/id-ID.yml +0 -64
  347. data/config/locales/is-IS.yml +0 -53
  348. data/config/locales/it.yml +9 -103
  349. data/config/locales/ja.yml +117 -88
  350. data/config/locales/kaa.yml +6 -13
  351. data/config/locales/ko.yml +0 -720
  352. data/config/locales/lb-LU.yml +0 -3
  353. data/config/locales/lb.yml +9 -104
  354. data/config/locales/lt.yml +90 -72
  355. data/config/locales/lv.yml +0 -79
  356. data/config/locales/nl.yml +14 -109
  357. data/config/locales/no.yml +8 -115
  358. data/config/locales/pl.yml +7 -158
  359. data/config/locales/pt-BR.yml +87 -106
  360. data/config/locales/pt.yml +9 -104
  361. data/config/locales/ro-RO.yml +86 -85
  362. data/config/locales/ru.yml +0 -55
  363. data/config/locales/sk-SK.yml +3 -6
  364. data/config/locales/sk.yml +0 -76
  365. data/config/locales/sl.yml +0 -8
  366. data/config/locales/sq-AL.yml +4 -486
  367. data/config/locales/sr-CS.yml +0 -60
  368. data/config/locales/sv.yml +99 -192
  369. data/config/locales/th-TH.yml +0 -100
  370. data/config/locales/tr-TR.yml +1 -89
  371. data/config/locales/uk.yml +0 -48
  372. data/config/locales/zh-CN.yml +0 -79
  373. data/config/locales/zh-TW.yml +74 -72
  374. data/config/routes.rb +12 -4
  375. data/lib/decidim/admin/components.rb +1 -1
  376. data/lib/decidim/admin/custom_import.rb +29 -0
  377. data/lib/decidim/admin/engine.rb +54 -216
  378. data/lib/decidim/admin/import/importer.rb +3 -3
  379. data/lib/decidim/admin/import/importer_factory.rb +1 -1
  380. data/lib/decidim/admin/import/readers/base.rb +1 -1
  381. data/lib/decidim/admin/import/readers/csv.rb +2 -2
  382. data/lib/decidim/admin/import/verifier.rb +4 -4
  383. data/lib/decidim/admin/menu.rb +281 -0
  384. data/lib/decidim/admin/search_form_builder.rb +39 -0
  385. data/lib/decidim/admin/test/admin_participatory_space_access_examples.rb +3 -2
  386. data/lib/decidim/admin/test/commands/create_attachment_collection_examples.rb +3 -3
  387. data/lib/decidim/admin/test/commands/create_category_examples.rb +2 -2
  388. data/lib/decidim/admin/test/commands/destroy_category_examples.rb +4 -13
  389. data/lib/decidim/admin/test/commands/publish_participatory_space_examples.rb +102 -0
  390. data/lib/decidim/admin/test/commands/update_attachment_collection_examples.rb +4 -4
  391. data/lib/decidim/admin/test/commands/update_category_examples.rb +3 -3
  392. data/lib/decidim/admin/test/destroy_admin_examples.rb +39 -0
  393. data/lib/decidim/admin/test/filterable_examples.rb +8 -8
  394. data/lib/decidim/admin/test/filters_participatory_space_user_roles_examples.rb +12 -43
  395. data/lib/decidim/admin/test/filters_participatory_space_users_examples.rb +34 -43
  396. data/lib/decidim/admin/test/forms/attachment_collection_form_examples.rb +1 -1
  397. data/lib/decidim/admin/test/forms/attachment_form_examples.rb +1 -1
  398. data/lib/decidim/admin/test/forms/category_form_examples.rb +1 -1
  399. data/lib/decidim/admin/test/manage_attachment_collections_examples.rb +21 -22
  400. data/lib/decidim/admin/test/manage_attachments_examples.rb +12 -12
  401. data/lib/decidim/admin/test/manage_categories_examples.rb +16 -19
  402. data/lib/decidim/admin/test/manage_component_permissions_examples.rb +24 -24
  403. data/lib/decidim/admin/test/manage_hide_content_examples.rb +59 -0
  404. data/lib/decidim/admin/test/manage_moderations_examples.rb +39 -21
  405. data/lib/decidim/admin/test/manage_paginated_collection_examples.rb +2 -2
  406. data/lib/decidim/admin/test/manage_participatory_space_publications_examples.rb +54 -0
  407. data/lib/decidim/admin/test/needs_admin_tos_accepted_examples.rb +1 -1
  408. data/lib/decidim/admin/test.rb +4 -0
  409. data/lib/decidim/admin/version.rb +1 -1
  410. data/lib/decidim/admin.rb +2 -0
  411. metadata +92 -117
  412. data/app/commands/decidim/admin/create_participatory_space_admin_user_actions.rb +0 -94
  413. data/app/commands/decidim/admin/reorder_content_blocks.rb +0 -100
  414. data/app/commands/decidim/admin/update_content_block.rb +0 -79
  415. data/app/controllers/concerns/decidim/admin/landing_page.rb +0 -105
  416. data/app/controllers/concerns/decidim/admin/landing_page_content_blocks.rb +0 -118
  417. data/app/packs/images/decidim/admin/.keep +0 -0
  418. data/app/packs/stylesheets/decidim/admin/_decidim.scss +0 -23
  419. data/app/packs/stylesheets/decidim/admin/_variables.scss +0 -18
  420. data/app/packs/stylesheets/decidim/admin/bundle.scss +0 -2
  421. data/app/packs/stylesheets/decidim/admin/components/_accordion.scss +0 -41
  422. data/app/packs/stylesheets/decidim/admin/components/_dropdown-menu.scss +0 -3
  423. data/app/packs/stylesheets/decidim/admin/components/_sortable.scss +0 -5
  424. data/app/packs/stylesheets/decidim/admin/extra/_action-icon.scss +0 -32
  425. data/app/packs/stylesheets/decidim/admin/extra/_block_user.scss +0 -5
  426. data/app/packs/stylesheets/decidim/admin/extra/_cards.scss +0 -24
  427. data/app/packs/stylesheets/decidim/admin/extra/_categories.scss +0 -5
  428. data/app/packs/stylesheets/decidim/admin/extra/_dropdown_inverted.scss +0 -47
  429. data/app/packs/stylesheets/decidim/admin/extra/_editor.scss +0 -1
  430. data/app/packs/stylesheets/decidim/admin/extra/_email_preview.scss +0 -5
  431. data/app/packs/stylesheets/decidim/admin/extra/_label-required.scss +0 -3
  432. data/app/packs/stylesheets/decidim/admin/extra/_login.scss +0 -37
  433. data/app/packs/stylesheets/decidim/admin/extra/_logs.scss +0 -122
  434. data/app/packs/stylesheets/decidim/admin/extra/_newsletter-templates-gallery.scss +0 -3
  435. data/app/packs/stylesheets/decidim/admin/extra/_organization-appearance.scss +0 -141
  436. data/app/packs/stylesheets/decidim/admin/extra/_quill.scss +0 -12
  437. data/app/packs/stylesheets/decidim/admin/extra/_select_multiple.scss +0 -3
  438. data/app/packs/stylesheets/decidim/admin/extra/_show_email.scss +0 -31
  439. data/app/packs/stylesheets/decidim/admin/extra/_sort.scss +0 -13
  440. data/app/packs/stylesheets/decidim/admin/extra/_title_bar.scss +0 -80
  441. data/app/packs/stylesheets/decidim/admin/modules/_action-icon.scss +0 -30
  442. data/app/packs/stylesheets/decidim/admin/modules/_agenda.scss +0 -34
  443. data/app/packs/stylesheets/decidim/admin/modules/_autocomplete.scss +0 -5
  444. data/app/packs/stylesheets/decidim/admin/modules/_buttons.scss +0 -86
  445. data/app/packs/stylesheets/decidim/admin/modules/_callouts.scss +0 -45
  446. data/app/packs/stylesheets/decidim/admin/modules/_card-grid.scss +0 -25
  447. data/app/packs/stylesheets/decidim/admin/modules/_cards.scss +0 -126
  448. data/app/packs/stylesheets/decidim/admin/modules/_char-counter.scss +0 -22
  449. data/app/packs/stylesheets/decidim/admin/modules/_component-counter.scss +0 -26
  450. data/app/packs/stylesheets/decidim/admin/modules/_draggable-list.scss +0 -27
  451. data/app/packs/stylesheets/decidim/admin/modules/_dropdown.scss +0 -20
  452. data/app/packs/stylesheets/decidim/admin/modules/_filters.scss +0 -83
  453. data/app/packs/stylesheets/decidim/admin/modules/_forms.scss +0 -164
  454. data/app/packs/stylesheets/decidim/admin/modules/_icons.scss +0 -68
  455. data/app/packs/stylesheets/decidim/admin/modules/_layout.scss +0 -75
  456. data/app/packs/stylesheets/decidim/admin/modules/_loading-spinner.scss +0 -19
  457. data/app/packs/stylesheets/decidim/admin/modules/_main-nav.scss +0 -45
  458. data/app/packs/stylesheets/decidim/admin/modules/_moderations.scss +0 -39
  459. data/app/packs/stylesheets/decidim/admin/modules/_modules.scss +0 -44
  460. data/app/packs/stylesheets/decidim/admin/modules/_pics.scss +0 -5
  461. data/app/packs/stylesheets/decidim/admin/modules/_process-header.scss +0 -13
  462. data/app/packs/stylesheets/decidim/admin/modules/_reveal.scss +0 -5
  463. data/app/packs/stylesheets/decidim/admin/modules/_secondary-nav.scss +0 -114
  464. data/app/packs/stylesheets/decidim/admin/modules/_table-list.scss +0 -146
  465. data/app/packs/stylesheets/decidim/admin/modules/_tabs.scss +0 -63
  466. data/app/packs/stylesheets/decidim/admin/modules/_title-bar.scss +0 -35
  467. data/app/packs/stylesheets/decidim/admin/modules/_typography.scss +0 -27
  468. data/app/packs/stylesheets/decidim/admin/modules/_upload_modal.scss +0 -42
  469. data/app/packs/stylesheets/decidim/admin/modules/_user-login.scss +0 -25
  470. data/app/packs/stylesheets/decidim/admin/modules/_users_statistics.scss +0 -18
  471. data/app/packs/stylesheets/decidim/admin/plugins/_foundation-datepicker.scss +0 -224
  472. data/app/packs/stylesheets/decidim/admin/plugins/jquery.auto-complete.css +0 -9
  473. data/app/packs/stylesheets/decidim/admin/user_moderations.scss +0 -3
  474. data/app/packs/stylesheets/decidim/admin/utils/_flex.scss +0 -60
  475. data/app/packs/stylesheets/decidim/admin/utils/_helpers.scss +0 -53
  476. data/app/packs/stylesheets/decidim/admin/utils/_keyframes.scss +0 -21
  477. data/app/packs/stylesheets/decidim/admin/utils/_mixins.scss +0 -151
  478. data/app/packs/stylesheets/decidim/admin/utils/_settings.scss +0 -882
  479. data/app/packs/stylesheets/decidim/admin/utils/_toggle-expand.scss +0 -9
  480. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/_constants.scss +0 -5
  481. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/_math.scss +0 -45
  482. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_acos.scss +0 -14
  483. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_asin.scss +0 -16
  484. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_atan.scss +0 -36
  485. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_atan2.scss +0 -46
  486. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_cos.scss +0 -17
  487. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_cot.scss +0 -12
  488. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_csc.scss +0 -12
  489. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_exp.scss +0 -16
  490. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_fact.scss +0 -21
  491. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_frexp.scss +0 -25
  492. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_ldexp.scss +0 -20
  493. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_log.scss +0 -39
  494. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_pow.scss +0 -34
  495. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_sec.scss +0 -12
  496. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_sin.scss +0 -10
  497. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_sqrt.scss +0 -21
  498. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_tan.scss +0 -12
  499. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/helpers/_deg-to-rad.scss +0 -6
  500. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/helpers/_rad-to-deg.scss +0 -6
  501. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/helpers/_strip-unit.scss +0 -11
  502. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/helpers/_unitless-rad.scss +0 -19
  503. data/app/views/decidim/admin/attachment_collections/show.html.erb +0 -13
  504. data/app/views/decidim/admin/attachments/show.html.erb +0 -24
  505. data/app/views/decidim/admin/categories/show.html.erb +0 -12
  506. data/app/views/decidim/admin/organization_homepage/edit.html.erb +0 -43
  507. data/app/views/decidim/admin/organization_homepage_content_blocks/edit.html.erb +0 -13
  508. data/app/views/decidim/admin/static_pages/show.html.erb +0 -21
  509. data/app/views/layouts/decidim/admin/_template_bottom.html.erb +0 -2
  510. data/app/views/layouts/decidim/admin/_template_top.html.erb +0 -4
  511. data/app/views/layouts/decidim/admin/pages.html.erb +0 -15
  512. data/config/locales/he-IL.yml +0 -53
  513. data/decidim-admin.gemspec +0 -36
@@ -11,7 +11,7 @@ shared_examples "Managing component permissions" do
11
11
  end
12
12
 
13
13
  let!(:component) do
14
- create(:component, participatory_space: participatory_space)
14
+ create(:component, participatory_space:)
15
15
  end
16
16
 
17
17
  before do
@@ -28,7 +28,7 @@ shared_examples "Managing component permissions" do
28
28
  end
29
29
 
30
30
  it "saves permission settings in the component" do
31
- within "form.new_component_permissions" do
31
+ within "#components form" do
32
32
  within ".foo-permission" do
33
33
  check "Example authorization (Direct)"
34
34
  fill_in "Allowed postal codes", with: "08002"
@@ -42,7 +42,7 @@ shared_examples "Managing component permissions" do
42
42
  include(
43
43
  "authorization_handlers" => {
44
44
  "dummy_authorization_handler" => {
45
- "options" => { "allowed_postal_codes" => "08002" }
45
+ "options" => { "allowed_postal_codes" => "08002", "allowed_scope_id" => "" }
46
46
  }
47
47
  }
48
48
  )
@@ -56,7 +56,7 @@ shared_examples "Managing component permissions" do
56
56
  within ".component-#{component.id}" do
57
57
  click_link "Permissions"
58
58
  end
59
- within "form.new_component_permissions" do
59
+ within "#components form" do
60
60
  within ".foo-permission" do
61
61
  check "Example authorization (Direct)"
62
62
  fill_in "Allowed postal codes", with: "08002"
@@ -90,7 +90,7 @@ shared_examples "Managing component permissions" do
90
90
  end
91
91
 
92
92
  it "removes the action from the permissions hash" do
93
- within "form.new_component_permissions" do
93
+ within "#components form" do
94
94
  within ".foo-permission" do
95
95
  uncheck "Example authorization (Direct)"
96
96
  uncheck "Another example authorization (Direct)"
@@ -125,7 +125,7 @@ shared_examples "Managing component permissions" do
125
125
  end
126
126
 
127
127
  it "changes the configured action in the permissions hash" do
128
- within "form.new_component_permissions" do
128
+ within "#components form" do
129
129
  within ".foo-permission" do
130
130
  uncheck "Example authorization (Direct)"
131
131
  check "Another example authorization (Direct)"
@@ -149,7 +149,7 @@ shared_examples "Managing component permissions" do
149
149
  end
150
150
 
151
151
  it "adds an authorization to the configured action in the component permissions hash" do
152
- within "form.new_component_permissions" do
152
+ within "#components form" do
153
153
  within ".foo-permission" do
154
154
  check "Another example authorization (Direct)"
155
155
  fill_in "Passport number", with: "AXXXXXXXX"
@@ -164,7 +164,7 @@ shared_examples "Managing component permissions" do
164
164
  include(
165
165
  "authorization_handlers" => {
166
166
  "dummy_authorization_handler" => {
167
- "options" => { "allowed_postal_codes" => "08002" }
167
+ "options" => { "allowed_postal_codes" => "08002", "allowed_scope_id" => "" }
168
168
  },
169
169
  "another_dummy_authorization_handler" => {
170
170
  "options" => { "passport_number" => "AXXXXXXXX" }
@@ -177,13 +177,13 @@ shared_examples "Managing component permissions" do
177
177
 
178
178
  context "when managing resource permissions" do
179
179
  let!(:resource) do
180
- create(:dummy_resource, component: component)
180
+ create(:dummy_resource, component:)
181
181
  end
182
182
 
183
183
  let(:edit_resource_permissions_path) do
184
- ::Decidim::EngineRouter.admin_proxy(participatory_space).edit_component_permissions_path(component.id,
185
- resource_name: resource.resource_manifest.name,
186
- resource_id: resource.id)
184
+ Decidim::EngineRouter.admin_proxy(participatory_space).edit_component_permissions_path(component.id,
185
+ resource_name: resource.resource_manifest.name,
186
+ resource_id: resource.id)
187
187
  end
188
188
 
189
189
  let(:component_settings) { nil }
@@ -199,20 +199,20 @@ shared_examples "Managing component permissions" do
199
199
  end
200
200
 
201
201
  it "shows the resource permissions settings" do
202
- expect(page).to have_content(translated(resource.title))
202
+ expect(page).to have_content("Edit permissions")
203
203
  end
204
204
 
205
205
  context "when resources permissions are disabled" do
206
206
  let(:component_settings) { { resources_permissions_enabled: false } }
207
207
 
208
- it "doesn't show the resource permissions settings" do
208
+ it "does not show the resource permissions settings" do
209
209
  expect(page).not_to have_content(resource.title)
210
210
  end
211
211
  end
212
212
 
213
213
  context "when setting permissions" do
214
214
  it "saves permission settings for the resource" do
215
- within "form.new_component_permissions" do
215
+ within "#components form" do
216
216
  within ".foo-permission" do
217
217
  check "Example authorization (Direct)"
218
218
  fill_in "Allowed postal codes", with: "08002"
@@ -226,7 +226,7 @@ shared_examples "Managing component permissions" do
226
226
  include(
227
227
  "authorization_handlers" => {
228
228
  "dummy_authorization_handler" => {
229
- "options" => { "allowed_postal_codes" => "08002" }
229
+ "options" => { "allowed_postal_codes" => "08002", "allowed_scope_id" => "" }
230
230
  }
231
231
  }
232
232
  )
@@ -253,7 +253,7 @@ shared_examples "Managing component permissions" do
253
253
  end
254
254
 
255
255
  it "removes the action from the permissions hash" do
256
- within "form.new_component_permissions" do
256
+ within "#components form" do
257
257
  within ".foo-permission" do
258
258
  uncheck "Example authorization (Direct)"
259
259
  uncheck "Another example authorization (Direct)"
@@ -286,7 +286,7 @@ shared_examples "Managing component permissions" do
286
286
  end
287
287
 
288
288
  it "changes the configured action in the resource permissions hash" do
289
- within "form.new_component_permissions" do
289
+ within "#components form" do
290
290
  within ".foo-permission" do
291
291
  uncheck "Example authorization (Direct)"
292
292
  check "Another example authorization (Direct)"
@@ -310,7 +310,7 @@ shared_examples "Managing component permissions" do
310
310
  end
311
311
 
312
312
  it "adds an authorization to the configured action in the resource permissions hash" do
313
- within "form.new_component_permissions" do
313
+ within "#components form" do
314
314
  within ".foo-permission" do
315
315
  check "Another example authorization (Direct)"
316
316
  fill_in "Passport number", with: "AXXXXXXXX"
@@ -325,7 +325,7 @@ shared_examples "Managing component permissions" do
325
325
  include(
326
326
  "authorization_handlers" => {
327
327
  "dummy_authorization_handler" => {
328
- "options" => { "allowed_postal_codes" => "08002" }
328
+ "options" => { "allowed_postal_codes" => "08002", "allowed_scope_id" => "" }
329
329
  },
330
330
  "another_dummy_authorization_handler" => {
331
331
  "options" => { "passport_number" => "AXXXXXXXX" }
@@ -354,7 +354,7 @@ shared_examples "Managing component permissions" do
354
354
  end
355
355
 
356
356
  it "changes the configured action in the resource permissions hash" do
357
- within "form.new_component_permissions" do
357
+ within "#components form" do
358
358
  within ".foo-permission" do
359
359
  uncheck "Example authorization (Direct)"
360
360
  check "Another example authorization (Direct)"
@@ -378,7 +378,7 @@ shared_examples "Managing component permissions" do
378
378
  end
379
379
 
380
380
  it "adds an authorization to the configured action in the resource permissions hash" do
381
- within "form.new_component_permissions" do
381
+ within "#components form" do
382
382
  within ".foo-permission" do
383
383
  check "Another example authorization (Direct)"
384
384
  fill_in "Passport number", with: "AXXXXXXXX"
@@ -393,7 +393,7 @@ shared_examples "Managing component permissions" do
393
393
  include(
394
394
  "authorization_handlers" => {
395
395
  "dummy_authorization_handler" => {
396
- "options" => { "allowed_postal_codes" => "08002" }
396
+ "options" => { "allowed_postal_codes" => "08002", "allowed_scope_id" => "" }
397
397
  },
398
398
  "another_dummy_authorization_handler" => {
399
399
  "options" => { "passport_number" => "AXXXXXXXX" }
@@ -421,7 +421,7 @@ shared_examples "Managing component permissions" do
421
421
  end
422
422
 
423
423
  it "saves the action from the permissions hash as an empty hash" do
424
- within "form.new_component_permissions" do
424
+ within "#components form" do
425
425
  within ".foo-permission" do
426
426
  uncheck "Example authorization (Direct)"
427
427
  uncheck "Another example authorization (Direct)"
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ shared_examples "hideable resource during block" do
4
+ include ActiveJob::TestHelper
5
+
6
+ let(:organization) { create(:organization) }
7
+
8
+ let!(:admin) { create(:user, :confirmed, :admin, organization:) }
9
+ let(:reportable) { create(:user, :confirmed, organization:) }
10
+ let(:reportable_path) { decidim.profile_path(reportable.nickname) }
11
+
12
+ let(:participatory_process) { create(:participatory_process, organization:) }
13
+ let(:component) { create(:dummy_component, participatory_space: participatory_process) }
14
+ let(:content) { create(:dummy_resource, component:, author: reportable, published_at: Time.current) }
15
+
16
+ before do
17
+ switch_to_host(admin.organization.host)
18
+ login_as admin, scope: :user
19
+ visit reportable_path
20
+
21
+ within ".profile__actions-secondary", match: :first do
22
+ click_button(I18n.t("decidim.shared.flag_modal.report"))
23
+ end
24
+ within ".flag-modal" do
25
+ find(:css, "input[name='report[block]']").set(true)
26
+ end
27
+ content.reload
28
+ end
29
+
30
+ it "chooses to hide content" do
31
+ within ".flag-modal" do
32
+ find(:css, "input[name='report[hide]']").set(true)
33
+ end
34
+ click_button I18n.t("decidim.shared.flag_user_modal.block")
35
+ expect(page).to have_current_path(decidim_admin.new_user_block_path(user_id: reportable.id, hide: true))
36
+ end
37
+
38
+ context "when finalizing hide" do
39
+ around do |example|
40
+ perform_enqueued_jobs do
41
+ example.run
42
+ end
43
+ end
44
+
45
+ it "chooses to hide content" do
46
+ within ".flag-modal" do
47
+ find(:css, "input[name='report[hide]']").set(true)
48
+ end
49
+ click_button I18n.t("decidim.shared.flag_user_modal.block")
50
+ expect(page).to have_current_path(decidim_admin.new_user_block_path(user_id: reportable.id, hide: true))
51
+
52
+ fill_in :block_user_justification, with: "This user is a spammer" * 2 # to have at least 15 chars
53
+
54
+ click_button I18n.t("decidim.admin.block_user.new.action")
55
+
56
+ expect(content.reload).to be_hidden
57
+ end
58
+ end
59
+ end
@@ -3,22 +3,28 @@
3
3
  shared_examples "sorted moderations" do
4
4
  let!(:moderations) do
5
5
  reportables.first(reportables.length - 1).map do |reportable|
6
- moderation = create(:moderation, reportable: reportable, report_count: 1, reported_content: reportable.reported_searchable_content_text)
7
- create(:report, moderation: moderation)
6
+ moderation = create(:moderation, reportable:, report_count: 1, reported_content: reportable.reported_searchable_content_text)
7
+ create(:report, moderation:)
8
8
  moderation
9
9
  end
10
10
  end
11
11
  let!(:moderation) { moderations.first }
12
12
  let(:moderations_link_text) { "Moderations" }
13
+ let(:moderations_link_in_admin_menu) { true }
13
14
 
14
15
  before do
15
16
  visit participatory_space_path
16
- click_link moderations_link_text
17
+ if moderations_link_in_admin_menu
18
+ within_admin_sidebar_menu { click_link(moderations_link_text) }
19
+ else
20
+ within("div.layout-nav") { click_link(moderations_link_text) }
21
+ end
17
22
  end
18
23
 
19
24
  it "sorts the most recent first" do
20
- within ".pagination" do
21
- click_link "Last"
25
+ link_text = find("ul[data-pages]").text.split("\n")[-2]
26
+ within "ul[data-pages]" do
27
+ click_link link_text
22
28
  end
23
29
  all("tbody tr").each_with_index do |row, _index|
24
30
  expect(row.find("td:first-child")).to have_content(reportables.first.id)
@@ -29,24 +35,29 @@ end
29
35
  shared_examples "manage moderations" do
30
36
  let!(:moderations) do
31
37
  reportables.first(reportables.length - 1).map do |reportable|
32
- moderation = create(:moderation, reportable: reportable, report_count: 1, reported_content: reportable.reported_searchable_content_text)
33
- create(:report, moderation: moderation)
38
+ moderation = create(:moderation, reportable:, report_count: 1, reported_content: reportable.reported_searchable_content_text)
39
+ create(:report, moderation:)
34
40
  moderation
35
41
  end
36
42
  end
37
43
  let!(:moderation) { moderations.first }
38
44
  let!(:hidden_moderations) do
39
45
  reportables.last(1).map do |reportable|
40
- moderation = create(:moderation, reportable: reportable, report_count: 3, reported_content: reportable.reported_searchable_content_text, hidden_at: Time.current)
41
- create_list(:report, 3, moderation: moderation, reason: :spam)
46
+ moderation = create(:moderation, reportable:, report_count: 3, reported_content: reportable.reported_searchable_content_text, hidden_at: Time.current)
47
+ create_list(:report, 3, moderation:, reason: :spam)
42
48
  moderation
43
49
  end
44
50
  end
45
51
  let(:moderations_link_text) { "Moderations" }
52
+ let(:moderations_link_in_admin_menu) { true }
46
53
 
47
54
  before do
48
55
  visit participatory_space_path
49
- click_link moderations_link_text
56
+ if moderations_link_in_admin_menu
57
+ within_admin_sidebar_menu { click_link(moderations_link_text) }
58
+ else
59
+ within("div.layout-nav") { click_link(moderations_link_text) }
60
+ end
50
61
  end
51
62
 
52
63
  context "when listing moderations" do
@@ -57,7 +68,7 @@ shared_examples "manage moderations" do
57
68
 
58
69
  visit current_path
59
70
 
60
- expect(page).to have_no_selector("tr[data-id=\"#{external_moderation.id}\"]")
71
+ expect(page).not_to have_selector("tr[data-id=\"#{external_moderation.id}\"]")
61
72
  end
62
73
 
63
74
  it "user can review them" do
@@ -77,12 +88,21 @@ shared_examples "manage moderations" do
77
88
  expect(page).to have_admin_callout("Resource successfully unreported")
78
89
  end
79
90
 
91
+ it "user can hide a resource" do
92
+ within "tr[data-id=\"#{moderation.id}\"]" do
93
+ click_link "Hide"
94
+ end
95
+
96
+ expect(page).to have_admin_callout("Resource successfully hidden")
97
+ expect(page).not_to have_content(moderation.reportable.reported_content_url)
98
+ end
99
+
80
100
  it "user can sort by report count" do
81
101
  moderations.each_with_index { |moderation, index| moderation.update(report_count: index + 1) }
82
102
  moderations_ordered_by_report_count_asc = moderations.sort_by(&:report_count)
83
103
 
84
104
  within "table" do
85
- click_link "Count"
105
+ click_link "Reports count"
86
106
 
87
107
  all("tbody tr").each_with_index do |row, index|
88
108
  reportable_id = moderations_ordered_by_report_count_asc[index].reportable.id
@@ -105,7 +125,7 @@ shared_examples "manage moderations" do
105
125
  search = moderation.reportable.id
106
126
  within ".filters__section" do
107
127
  fill_in("Search Moderation by reportable id or content.", with: search)
108
- find(:xpath, "//button[@type='submit']").click
128
+ click_button(type: "submit")
109
129
  end
110
130
  expect(page).to have_selector("tbody tr", count: 1)
111
131
  end
@@ -124,7 +144,7 @@ shared_examples "manage moderations" do
124
144
  moderation.reportable.destroy
125
145
  visit current_path
126
146
 
127
- expect(page).to have_no_selector("tr[data-id=\"#{moderation.id}\"]")
147
+ expect(page).not_to have_selector("tr[data-id=\"#{moderation.id}\"]")
128
148
  end
129
149
  end
130
150
 
@@ -149,7 +169,7 @@ shared_examples "manage moderations" do
149
169
  }
150
170
  )
151
171
 
152
- within_language_menu do
172
+ within_language_menu(admin: true) do
153
173
  click_link "Català"
154
174
  end
155
175
  end
@@ -164,12 +184,10 @@ shared_examples "manage moderations" do
164
184
 
165
185
  context "when listing hidden resources" do
166
186
  before do
167
- within ".card-title" do
168
- click_link "Hidden"
169
- end
187
+ click_link "Hidden"
170
188
  end
171
189
 
172
- it "user can't unreport them" do
190
+ it "user cannot unreport them" do
173
191
  expect(page).not_to have_css(".action-icon--unreport")
174
192
  end
175
193
 
@@ -191,8 +209,8 @@ shared_examples "manage moderations" do
191
209
  let!(:moderations) do
192
210
  comments.map do |reportable|
193
211
  space = reportable.is_a?(Decidim::Participable) ? reportable : reportable.participatory_space
194
- moderation = create(:moderation, reportable: reportable, report_count: 1, participatory_space: space, reported_content: reportable.reported_searchable_content_text)
195
- create(:report, moderation: moderation)
212
+ moderation = create(:moderation, reportable:, report_count: 1, participatory_space: space, reported_content: reportable.reported_searchable_content_text)
213
+ create(:report, moderation:)
196
214
 
197
215
  reportable.root_commentable.destroy!
198
216
  reportable.reload
@@ -17,8 +17,8 @@ shared_examples "a paginated collection" do |options|
17
17
  end
18
18
 
19
19
  it "changes the number of results per page" do
20
- within ".results-per-page__dropdown" do
21
- page.find("a", text: "15").click
20
+ within "[data-pagination]" do
21
+ page.find("details", text: "15").click
22
22
  click_link "50"
23
23
  end
24
24
 
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ shared_examples "manage participatory space publications" do |_options|
4
+ before do
5
+ participatory_space.update(title: { en: title })
6
+ switch_to_host(organization.host)
7
+ login_as user, scope: :user
8
+ end
9
+
10
+ context "when the participatory space is unpublished" do
11
+ before do
12
+ participatory_space.unpublish!
13
+ participatory_space.reload
14
+ visit admin_page_path
15
+ end
16
+
17
+ it "publishes it" do
18
+ click_link "Publish"
19
+
20
+ expect(page).to have_content("successfully")
21
+
22
+ visit public_collection_path
23
+
24
+ expect(page).to have_content title
25
+ end
26
+ end
27
+
28
+ context "when the participatory space is published" do
29
+ before do
30
+ allow(Rails.application).to \
31
+ receive(:env_config).with(no_args).and_wrap_original do |m, *|
32
+ m.call.merge(
33
+ "action_dispatch.show_exceptions" => true,
34
+ "action_dispatch.show_detailed_exceptions" => false
35
+ )
36
+ end
37
+ participatory_space.publish!
38
+ participatory_space.reload
39
+ visit admin_page_path
40
+ end
41
+
42
+ it "unpublishes it" do
43
+ # we cannot use "a 404 page" shared example as we want to check it
44
+ # inside an example
45
+ click_link "Unpublish"
46
+
47
+ expect(page).to have_content("successfully")
48
+
49
+ visit public_collection_path
50
+
51
+ expect(page).to have_content("The page you are looking for cannot be found")
52
+ end
53
+ end
54
+ end
@@ -3,7 +3,7 @@
3
3
  shared_examples_for "needs admin TOS accepted" do
4
4
  context "when the user has not accepted the admin TOS" do
5
5
  it "shows a message to accept the admin TOS" do
6
- expect(page).to have_content("Please take a moment to review Admin Terms of Use")
6
+ expect(page).to have_content("Please take a moment to review the admin terms of service")
7
7
  end
8
8
  end
9
9
  end
@@ -6,7 +6,11 @@ require "decidim/admin/test/manage_categories_examples"
6
6
  require "decidim/admin/test/manage_component_permissions_examples"
7
7
  require "decidim/admin/test/manage_moderations_examples"
8
8
  require "decidim/admin/test/manage_paginated_collection_examples"
9
+ require "decidim/admin/test/manage_participatory_space_publications_examples"
9
10
  require "decidim/admin/test/filterable_examples"
10
11
  require "decidim/admin/test/filters_participatory_space_users_examples"
11
12
  require "decidim/admin/test/filters_participatory_space_user_roles_examples"
13
+ require "decidim/admin/test/manage_hide_content_examples"
12
14
  require "decidim/admin/test/needs_admin_tos_accepted_examples"
15
+ require "decidim/admin/test/destroy_admin_examples"
16
+ require "decidim/admin/test/commands/publish_participatory_space_examples"
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-admin version.
5
5
  module Admin
6
6
  def self.version
7
- "0.27.10"
7
+ "0.28.0.rc4"
8
8
  end
9
9
  end
10
10
  end
data/lib/decidim/admin.rb CHANGED
@@ -11,7 +11,9 @@ module Decidim
11
11
  module Admin
12
12
  autoload :Components, "decidim/admin/components"
13
13
  autoload :FormBuilder, "decidim/admin/form_builder"
14
+ autoload :SearchFormBuilder, "decidim/admin/search_form_builder"
14
15
  autoload :Import, "decidim/admin/import"
16
+ autoload :CustomImport, "decidim/admin/custom_import"
15
17
 
16
18
  include ActiveSupport::Configurable
17
19