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
@@ -95,48 +95,28 @@ end
95
95
  shared_examples "filterable participatory space user roles" do
96
96
  context "when filtering by invite Accepted" do
97
97
  context "when filtering by null" do
98
- it "returns participatory space users" do
99
- apply_filter("Invite accepted", "Yes")
100
-
101
- within ".stack tbody" do
102
- expect(page).to have_content(invited_user2.name)
103
- expect(page).to have_css("tr", count: 1)
104
- end
98
+ include_examples "admin is filtering participatory space users", label: "Invite accepted", value: "Yes" do
99
+ let(:compare_with) { invited_user2.name }
105
100
  end
106
101
  end
107
102
 
108
103
  context "when filtering by not null" do
109
- it "returns participatory space users" do
110
- apply_filter("Invite accepted", "No")
111
-
112
- within ".stack tbody" do
113
- expect(page).to have_content(invited_user1.name)
114
- expect(page).to have_css("tr", count: 1)
115
- end
104
+ include_examples "admin is filtering participatory space users", label: "Invite accepted", value: "No" do
105
+ let(:compare_with) { invited_user1.name }
116
106
  end
117
107
  end
118
108
  end
119
109
 
120
110
  context "when filtering by logged in" do
121
111
  context "when filtering by null" do
122
- it "returns participatory space users" do
123
- apply_filter("Ever logged in", "Yes")
124
-
125
- within ".stack tbody" do
126
- expect(page).to have_content(invited_user2.name)
127
- expect(page).to have_css("tr", count: 1)
128
- end
112
+ include_examples "admin is filtering participatory space users", label: "Ever logged in", value: "Yes" do
113
+ let(:compare_with) { invited_user2.name }
129
114
  end
130
115
  end
131
116
 
132
117
  context "when filtering by not null" do
133
- it "returns participatory space users" do
134
- apply_filter("Ever logged in", "No")
135
-
136
- within ".stack tbody" do
137
- expect(page).to have_content(invited_user1.name)
138
- expect(page).to have_css("tr", count: 1)
139
- end
118
+ include_examples "admin is filtering participatory space users", label: "Ever logged in", value: "No" do
119
+ let(:compare_with) { invited_user1.name }
140
120
  end
141
121
  end
142
122
  end
@@ -144,22 +124,11 @@ end
144
124
 
145
125
  shared_examples "searchable participatory space user roles" do
146
126
  context "when searching by name or nickname or email" do
147
- it "can be searched by name" do
148
- search_by_text(name)
149
-
150
- within ".stack tbody" do
151
- expect(page).to have_content(name)
152
- expect(page).to have_css("tr", count: 1)
153
- end
127
+ include_examples "admin is searching participatory space users" do
128
+ let(:value) { name }
154
129
  end
155
-
156
- it "can be searched by email" do
157
- search_by_text(email)
158
-
159
- within ".stack tbody" do
160
- expect(page).to have_content(email)
161
- expect(page).to have_css("tr", count: 1)
162
- end
130
+ include_examples "admin is searching participatory space users" do
131
+ let(:value) { email }
163
132
  end
164
133
  end
165
134
  end
@@ -1,50 +1,52 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ shared_examples "admin is filtering participatory space users" do |label:, value:|
4
+ it "returns participatory space users" do
5
+ apply_filter(label, value)
6
+
7
+ within ".table-list tbody" do
8
+ expect(page).to have_content(compare_with)
9
+ expect(page).to have_css("tr", count: 1)
10
+ end
11
+ end
12
+ end
13
+
14
+ shared_examples "admin is searching participatory space users" do
15
+ it "returns participatory space users" do
16
+ search_by_text(value)
17
+
18
+ within ".table-list tbody" do
19
+ expect(page).to have_content(value)
20
+ expect(page).to have_css("tr", count: 1)
21
+ end
22
+ end
23
+ end
24
+
3
25
  shared_examples "filterable participatory space users" do
4
26
  context "when filtering by invitation sent at" do
5
27
  context "when filtering by null" do
6
- it "returns participatory space users" do
7
- apply_filter("Invitation sent", "Not sent")
8
-
9
- within ".stack tbody" do
10
- expect(page).to have_content(invited_user2.name)
11
- expect(page).to have_css("tr", count: 1)
12
- end
28
+ include_examples "admin is filtering participatory space users", label: "Invitation sent", value: "Not sent" do
29
+ let(:compare_with) { invited_user2.name }
13
30
  end
14
31
  end
15
32
 
16
33
  context "when filtering by not null" do
17
- it "returns participatory space users" do
18
- apply_filter("Invitation sent", "Sent")
19
-
20
- within ".stack tbody" do
21
- expect(page).to have_content(invited_user1.name)
22
- expect(page).to have_css("tr", count: 1)
23
- end
34
+ include_examples "admin is filtering participatory space users", label: "Invitation sent", value: "Sent" do
35
+ let(:compare_with) { invited_user1.name }
24
36
  end
25
37
  end
26
38
  end
27
39
 
28
40
  context "when filtering by invitation accepted at" do
29
41
  context "when filtering by null" do
30
- it "returns participatory space users" do
31
- apply_filter("Invitation accepted", "Not accepted")
32
-
33
- within ".stack tbody" do
34
- expect(page).to have_content(invited_user2.name)
35
- expect(page).to have_css("tr", count: 1)
36
- end
42
+ include_examples "admin is filtering participatory space users", label: "Invitation accepted", value: "Not accepted" do
43
+ let(:compare_with) { invited_user2.name }
37
44
  end
38
45
  end
39
46
 
40
47
  context "when filtering by not null" do
41
- it "returns participatory space users" do
42
- apply_filter("Invitation accepted", "Accepted")
43
-
44
- within ".stack tbody" do
45
- expect(page).to have_content(invited_user1.name)
46
- expect(page).to have_css("tr", count: 1)
47
- end
48
+ include_examples "admin is filtering participatory space users", label: "Invitation accepted", value: "Accepted" do
49
+ let(:compare_with) { invited_user1.name }
48
50
  end
49
51
  end
50
52
  end
@@ -52,22 +54,11 @@ end
52
54
 
53
55
  shared_examples "searchable participatory space users" do
54
56
  context "when searching by name or nickname or email" do
55
- it "can be searched by name" do
56
- search_by_text(name)
57
-
58
- within ".stack tbody" do
59
- expect(page).to have_content(name)
60
- expect(page).to have_css("tr", count: 1)
61
- end
57
+ include_examples "admin is searching participatory space users" do
58
+ let(:value) { name }
62
59
  end
63
-
64
- it "can be searched by email" do
65
- search_by_text(email)
66
-
67
- within ".stack tbody" do
68
- expect(page).to have_content(email)
69
- expect(page).to have_css("tr", count: 1)
70
- end
60
+ include_examples "admin is searching participatory space users" do
61
+ let(:value) { email }
71
62
  end
72
63
  end
73
64
  end
@@ -9,7 +9,7 @@ module Decidim
9
9
  described_class.from_params(
10
10
  attributes
11
11
  ).with_context(
12
- collection_for: collection_for,
12
+ collection_for:,
13
13
  current_organization: organization
14
14
  )
15
15
  end
@@ -9,7 +9,7 @@ module Decidim
9
9
  described_class.from_params(
10
10
  attributes
11
11
  ).with_context(
12
- attached_to: attached_to,
12
+ attached_to:,
13
13
  current_organization: organization
14
14
  )
15
15
  end
@@ -50,7 +50,7 @@ module Decidim
50
50
  end
51
51
 
52
52
  context "when the parent_id is set" do
53
- let!(:category) { create :category, participatory_space: participatory_space }
53
+ let!(:category) { create :category, participatory_space: }
54
54
 
55
55
  context "and it is set to a first-class category" do
56
56
  let(:parent_id) { category.id }
@@ -1,8 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  shared_examples "manage attachment collections examples" do
4
- let!(:attachment_collection) { create(:attachment_collection, collection_for: collection_for) }
5
- let(:attributes) { attributes_for(:attachment_collection) }
4
+ let!(:attachment_collection) { create(:attachment_collection, collection_for:) }
6
5
 
7
6
  before do
8
7
  visit current_path
@@ -16,28 +15,32 @@ shared_examples "manage attachment collections examples" do
16
15
 
17
16
  it "can view an attachment collection details" do
18
17
  within "#attachment_collections table" do
19
- click_link translated(attachment_collection.name, locale: :en)
18
+ click_link "Edit"
20
19
  end
21
20
 
22
- expect(page).to have_selector(%(input#attachment_collection_name_en[value="#{translated(attachment_collection.name, locale: :en)}"]))
23
- expect(page).to have_selector(%(input#attachment_collection_weight[value="#{attachment_collection.weight}"]))
24
- expect(page).to have_selector(%(input#attachment_collection_description_en[value="#{translated(attachment_collection.description, locale: :en)}"]))
21
+ expect(page).to have_selector("input#attachment_collection_name_en[value='#{translated(attachment_collection.name, locale: :en)}']")
22
+ expect(page).to have_selector("input#attachment_collection_weight[value='#{attachment_collection.weight}']")
23
+ expect(page).to have_selector("input#attachment_collection_description_en[value='#{translated(attachment_collection.description, locale: :en)}']")
25
24
  end
26
25
 
27
26
  it "can add attachment collections to a process" do
28
- find(".card-title a.new").click
27
+ click_link "New attachment folder"
29
28
 
30
29
  within ".new_attachment_collection" do
31
30
  fill_in_i18n(
32
31
  :attachment_collection_name,
33
32
  "#attachment_collection-name-tabs",
34
- **attributes[:name].except("machine_translations")
33
+ en: "Application forms",
34
+ es: "Formularios de solicitud",
35
+ ca: "Formularis de sol·licitud"
35
36
  )
36
37
 
37
38
  fill_in_i18n(
38
39
  :attachment_collection_description,
39
40
  "#attachment_collection-description-tabs",
40
- **attributes[:description].except("machine_translations")
41
+ en: "Contains the application forms",
42
+ es: "Contiene los formularios de solicitud",
43
+ ca: "Conté els formularis de sol·licitud"
41
44
  )
42
45
 
43
46
  find("*[type=submit]").click
@@ -46,11 +49,8 @@ shared_examples "manage attachment collections examples" do
46
49
  expect(page).to have_admin_callout("successfully")
47
50
 
48
51
  within "#attachment_collections table" do
49
- expect(page).to have_content(translated(attributes[:name]))
52
+ expect(page).to have_text("Application forms")
50
53
  end
51
-
52
- visit decidim_admin.root_path
53
- expect(page).to have_content("created the #{translated(attributes[:name])} attachment collection")
54
54
  end
55
55
 
56
56
  it "can update an attachment collection" do
@@ -64,7 +64,9 @@ shared_examples "manage attachment collections examples" do
64
64
  fill_in_i18n(
65
65
  :attachment_collection_name,
66
66
  "#attachment_collection-name-tabs",
67
- **attributes[:name].except("machine_translations")
67
+ en: "Latest application forms",
68
+ es: "Últimos formularios de solicitud",
69
+ ca: "Últims formularis de sol·licitud"
68
70
  )
69
71
 
70
72
  find("*[type=submit]").click
@@ -73,15 +75,12 @@ shared_examples "manage attachment collections examples" do
73
75
  expect(page).to have_admin_callout("successfully")
74
76
 
75
77
  within "#attachment_collections table" do
76
- expect(page).to have_content(translated(attributes[:name]))
78
+ expect(page).to have_text("Latest application forms")
77
79
  end
78
-
79
- visit decidim_admin.root_path
80
- expect(page).to have_content("updated the #{translated(attributes[:name])} attachment collection")
81
80
  end
82
81
 
83
82
  context "when deleting a attachment collection" do
84
- let!(:attachment_collection2) { create(:attachment_collection, collection_for: collection_for) }
83
+ let!(:attachment_collection2) { create(:attachment_collection, collection_for:) }
85
84
 
86
85
  context "when the attachment collection has no associated content", :slow do
87
86
  before do
@@ -96,13 +95,13 @@ shared_examples "manage attachment collections examples" do
96
95
  expect(page).to have_admin_callout("successfully")
97
96
 
98
97
  within "#attachment_collections table" do
99
- expect(page).to have_no_content(translated(attachment_collection2.name))
98
+ expect(page).not_to have_content(translated(attachment_collection2.name))
100
99
  end
101
100
  end
102
101
  end
103
102
 
104
103
  context "when the attachment collection has associated content" do
105
- let!(:attachment) { create(:attachment, attached_to: collection_for, attachment_collection: attachment_collection) }
104
+ let!(:attachment) { create(:attachment, attached_to: collection_for, attachment_collection:) }
106
105
 
107
106
  before do
108
107
  visit current_path
@@ -110,7 +109,7 @@ shared_examples "manage attachment collections examples" do
110
109
 
111
110
  it "cannot delete it" do
112
111
  within find("tr", text: translated(attachment_collection.name)) do
113
- expect(page).to have_no_selector("a.action-icon--remove")
112
+ expect(page).not_to have_selector("a.action-icon--remove")
114
113
  end
115
114
  end
116
115
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  shared_examples "manage attachments examples" do
4
4
  context "when processing attachments" do
5
- let!(:attachment) { create(:attachment, attached_to: attached_to, attachment_collection: attachment_collection) }
5
+ let!(:attachment) { create(:attachment, attached_to:, attachment_collection:) }
6
6
 
7
7
  before do
8
8
  visit current_path
@@ -19,18 +19,18 @@ shared_examples "manage attachments examples" do
19
19
 
20
20
  it "can view an attachment details" do
21
21
  within "#attachments table" do
22
- click_link translated(attachment.title, locale: :en)
22
+ click_link "Edit"
23
23
  end
24
24
 
25
- expect(page).to have_selector(%(input#attachment_title_en[value="#{translated(attachment.title, locale: :en)}"]))
26
- expect(page).to have_selector(%(input#attachment_description_en[value="#{translated(attachment.description, locale: :en)}"]))
27
- expect(page).to have_selector(%(input#attachment_weight[value="#{attachment.weight}"]))
25
+ expect(page).to have_selector("input#attachment_title_en[value='#{translated(attachment.title, locale: :en)}']")
26
+ expect(page).to have_selector("input#attachment_description_en[value='#{translated(attachment.description, locale: :en)}']")
27
+ expect(page).to have_selector("input#attachment_weight[value='#{attachment.weight}']")
28
28
  expect(page).to have_select("attachment_attachment_collection_id", selected: translated(attachment_collection.name, locale: :en))
29
29
  expect(page).to have_css("img[src~='#{attachment.url}']")
30
30
  end
31
31
 
32
32
  it "can add attachments without a collection to a process" do
33
- find(".card-title a.new").click
33
+ click_link "New attachment"
34
34
 
35
35
  within ".new_attachment" do
36
36
  fill_in_i18n(
@@ -59,12 +59,12 @@ shared_examples "manage attachments examples" do
59
59
  expect(page).to have_admin_callout("successfully")
60
60
 
61
61
  within "#attachments table" do
62
- expect(page).to have_link("Very Important Document")
62
+ expect(page).to have_text("Very Important Document")
63
63
  end
64
64
  end
65
65
 
66
66
  it "can add attachments within a collection to a process" do
67
- find(".card-title a.new").click
67
+ click_link "New attachment"
68
68
 
69
69
  within ".new_attachment" do
70
70
  fill_in_i18n(
@@ -95,7 +95,7 @@ shared_examples "manage attachments examples" do
95
95
  expect(page).to have_admin_callout("successfully")
96
96
 
97
97
  within "#attachments table" do
98
- expect(page).to have_link("Document inside a collection")
98
+ expect(page).to have_text("Document inside a collection")
99
99
  expect(page).to have_text(translated(attachment_collection.name, locale: :en))
100
100
  end
101
101
  end
@@ -116,7 +116,7 @@ shared_examples "manage attachments examples" do
116
116
 
117
117
  within "#attachments" do
118
118
  within find("tr", text: translated(attachment.title)) do
119
- expect(page).to have_no_text(translated(attachment_collection.name, locale: :en))
119
+ expect(page).not_to have_text(translated(attachment_collection.name, locale: :en))
120
120
  end
121
121
  end
122
122
  end
@@ -128,7 +128,7 @@ shared_examples "manage attachments examples" do
128
128
 
129
129
  expect(page).to have_admin_callout("successfully")
130
130
 
131
- expect(page).to have_no_content(translated(attachment.title, locale: :en))
131
+ expect(page).not_to have_content(translated(attachment.title, locale: :en))
132
132
  end
133
133
 
134
134
  it "can update an attachment" do
@@ -153,7 +153,7 @@ shared_examples "manage attachments examples" do
153
153
  expect(page).to have_admin_callout("successfully")
154
154
 
155
155
  within "#attachments table" do
156
- expect(page).to have_link("This is a nice photo")
156
+ expect(page).to have_text("This is a nice photo")
157
157
  end
158
158
  end
159
159
  end
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  shared_examples "manage categories examples" do
4
- let(:attributes) { attributes_for(:category) }
5
4
  it "lists all the categories for the process" do
6
5
  within "#categories table" do
7
6
  expect(page).to have_content(translated(category.name, locale: :en))
@@ -13,20 +12,22 @@ shared_examples "manage categories examples" do
13
12
  click_link translated(category.name, locale: :en)
14
13
  end
15
14
 
16
- expect(page).to have_selector(%(input#category_name_en[value="#{translated(category.name, locale: :en)}"]))
15
+ expect(page).to have_selector("input#category_name_en[value='#{translated(category.name, locale: :en)}']")
17
16
  expect(page).to have_selector("input#category_weight[value='#{category.weight}']")
18
17
 
19
- expect(page).to have_selector("select#category_parent_id")
18
+ expect(page).to have_select(id: "category_parent_id")
20
19
  end
21
20
 
22
21
  it "creates a new category" do
23
- find(".card-title a.new").click
22
+ click_link "New category"
24
23
 
25
24
  within ".new_category" do
26
25
  fill_in_i18n(
27
26
  :category_name,
28
27
  "#category-name-tabs",
29
- **attributes[:name].except("machine_translations")
28
+ en: "My category",
29
+ es: "Mi categoría",
30
+ ca: "La meva categoria"
30
31
  )
31
32
 
32
33
  find("*[type=submit]").click
@@ -35,11 +36,8 @@ shared_examples "manage categories examples" do
35
36
  expect(page).to have_admin_callout("successfully")
36
37
 
37
38
  within "#categories table" do
38
- expect(page).to have_content(translated(attributes[:name]))
39
+ expect(page).to have_content("My category")
39
40
  end
40
-
41
- visit decidim_admin.root_path
42
- expect(page).to have_content("added the #{translated(attributes[:name])} category to the")
43
41
  end
44
42
 
45
43
  it "updates a category" do
@@ -53,7 +51,9 @@ shared_examples "manage categories examples" do
53
51
  fill_in_i18n(
54
52
  :category_name,
55
53
  "#category-name-tabs",
56
- **attributes[:name].except("machine_translations")
54
+ en: "My new name",
55
+ es: "Mi nuevo nombre",
56
+ ca: "El meu nou nom"
57
57
  )
58
58
 
59
59
  find("*[type=submit]").click
@@ -62,15 +62,12 @@ shared_examples "manage categories examples" do
62
62
  expect(page).to have_admin_callout("successfully")
63
63
 
64
64
  within "#categories table" do
65
- expect(page).to have_content(translated(attributes[:name]))
65
+ expect(page).to have_content("My new name")
66
66
  end
67
-
68
- visit decidim_admin.root_path
69
- expect(page).to have_content("updated the #{translated(attributes[:name])} category in the")
70
67
  end
71
68
 
72
69
  context "when deleting a category" do
73
- let!(:category2) { create(:category, participatory_space: participatory_space) }
70
+ let!(:category2) { create(:category, participatory_space:) }
74
71
 
75
72
  context "when the category has no associated content" do
76
73
  context "when the category has no subcategories" do
@@ -86,7 +83,7 @@ shared_examples "manage categories examples" do
86
83
  expect(page).to have_admin_callout("successfully")
87
84
 
88
85
  within "#categories table" do
89
- expect(page).to have_no_content(translated(category2.name))
86
+ expect(page).not_to have_content(translated(category2.name))
90
87
  end
91
88
  end
92
89
  end
@@ -113,14 +110,14 @@ shared_examples "manage categories examples" do
113
110
  end
114
111
 
115
112
  context "when the category has associated content" do
116
- let!(:component) { create(:component, participatory_space: participatory_space) }
117
- let!(:dummy_resource) { create(:dummy_resource, component: component, category: category) }
113
+ let!(:component) { create(:component, participatory_space:) }
114
+ let!(:dummy_resource) { create(:dummy_resource, component:, category:) }
118
115
 
119
116
  it "cannot delete it" do
120
117
  visit current_path
121
118
 
122
119
  within find("tr", text: translated(category.name)) do
123
- expect(page).to have_no_selector("a.action-icon--remove")
120
+ expect(page).not_to have_selector("a.action-icon--remove")
124
121
  end
125
122
  end
126
123
  end