decidim-admin 0.27.5 → 0.28.0.rc4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (507) 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 +1 -1
  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 -1
  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/block_user_controller.rb +4 -3
  72. data/app/controllers/decidim/admin/categories_controller.rb +20 -12
  73. data/app/controllers/decidim/admin/component_permissions_controller.rb +2 -2
  74. data/app/controllers/decidim/admin/components/base_controller.rb +16 -1
  75. data/app/controllers/decidim/admin/components_controller.rb +13 -1
  76. data/app/controllers/decidim/admin/concerns/has_attachment_collections.rb +4 -10
  77. data/app/controllers/decidim/admin/concerns/has_attachments.rb +10 -16
  78. data/app/controllers/decidim/admin/concerns/has_breadcrumb_items.rb +27 -0
  79. data/app/controllers/decidim/admin/concerns/has_content_blocks.rb +23 -0
  80. data/app/controllers/decidim/admin/concerns/has_private_users.rb +4 -4
  81. data/app/controllers/decidim/admin/concerns/has_private_users_csv_import.rb +2 -2
  82. data/app/controllers/decidim/admin/concerns/has_tabbed_menu.rb +21 -0
  83. data/app/controllers/decidim/admin/conflicts_controller.rb +3 -3
  84. data/app/controllers/decidim/admin/dashboard_controller.rb +8 -3
  85. data/app/controllers/decidim/admin/exports_controller.rb +21 -4
  86. data/app/controllers/decidim/admin/help_sections_controller.rb +3 -1
  87. data/app/controllers/decidim/admin/impersonatable_users_controller.rb +3 -1
  88. data/app/controllers/decidim/admin/impersonations_controller.rb +8 -8
  89. data/app/controllers/decidim/admin/imports_controller.rb +24 -6
  90. data/app/controllers/decidim/admin/logs_controller.rb +20 -8
  91. data/app/controllers/decidim/admin/managed_users/impersonation_logs_controller.rb +1 -1
  92. data/app/controllers/decidim/admin/managed_users/promotions_controller.rb +2 -2
  93. data/app/controllers/decidim/admin/metrics_controller.rb +1 -1
  94. data/app/controllers/decidim/admin/moderated_users_controller.rb +7 -4
  95. data/app/controllers/decidim/admin/newsletters_controller.rb +16 -7
  96. data/app/controllers/decidim/admin/officializations_controller.rb +3 -3
  97. data/app/controllers/decidim/admin/organization_appearance_controller.rb +3 -0
  98. data/app/controllers/decidim/admin/organization_controller.rb +2 -0
  99. data/app/controllers/decidim/admin/organization_external_domain_whitelist_controller.rb +2 -0
  100. data/app/controllers/decidim/admin/organization_homepage_content_blocks_controller.rb +12 -41
  101. data/app/controllers/decidim/admin/organization_homepage_controller.rb +15 -33
  102. data/app/controllers/decidim/admin/participatory_space/user_role_controller.rb +119 -0
  103. data/app/controllers/decidim/admin/reminders_controller.rb +1 -1
  104. data/app/controllers/decidim/admin/resource_permissions_controller.rb +1 -1
  105. data/app/controllers/decidim/admin/scope_types_controller.rb +10 -3
  106. data/app/controllers/decidim/admin/scopes_controller.rb +10 -3
  107. data/app/controllers/decidim/admin/share_tokens_controller.rb +1 -1
  108. data/app/controllers/decidim/admin/space_publications_controller.rb +53 -0
  109. data/app/controllers/decidim/admin/static_page_content_blocks_controller.rb +40 -0
  110. data/app/controllers/decidim/admin/static_page_topics_controller.rb +18 -7
  111. data/app/controllers/decidim/admin/static_pages_controller.rb +33 -6
  112. data/app/controllers/decidim/admin/users_controller.rb +2 -2
  113. data/app/events/decidim/attachment_created_event.rb +1 -1
  114. data/app/events/decidim/component_published_event.rb +1 -1
  115. data/app/events/decidim/resource_hidden_event.rb +1 -1
  116. data/app/forms/decidim/admin/area_form.rb +1 -1
  117. data/app/forms/decidim/admin/block_user_form.rb +1 -0
  118. data/app/forms/decidim/admin/category_form.rb +1 -1
  119. data/app/forms/decidim/admin/managed_user_promotion_form.rb +1 -1
  120. data/app/forms/decidim/admin/organization_appearance_form.rb +7 -12
  121. data/app/forms/decidim/admin/organization_form.rb +2 -2
  122. data/app/forms/decidim/admin/participatory_space_admin_user_form.rb +16 -0
  123. data/app/forms/decidim/admin/participatory_space_private_user_csv_import_form.rb +3 -5
  124. data/app/forms/decidim/admin/scope_form.rb +1 -1
  125. data/app/forms/decidim/admin/selective_newsletter_form.rb +1 -1
  126. data/app/forms/decidim/admin/static_page_form.rb +3 -3
  127. data/app/helpers/decidim/admin/admin_terms_helper.rb +10 -10
  128. data/app/helpers/decidim/admin/application_helper.rb +1 -14
  129. data/app/helpers/decidim/admin/attributes_display_helper.rb +1 -1
  130. data/app/helpers/decidim/admin/bulk_actions_helper.rb +2 -2
  131. data/app/helpers/decidim/admin/dashboard_helper.rb +3 -3
  132. data/app/helpers/decidim/admin/exports_helper.rb +26 -2
  133. data/app/helpers/decidim/admin/filterable_helper.rb +2 -2
  134. data/app/helpers/decidim/admin/icon_link_helper.rb +12 -11
  135. data/app/helpers/decidim/admin/icon_with_tooltip_helper.rb +22 -0
  136. data/app/helpers/decidim/admin/imports_helper.rb +1 -1
  137. data/app/helpers/decidim/admin/logs_helper.rb +18 -0
  138. data/app/helpers/decidim/admin/menu_helper.rb +61 -1
  139. data/app/helpers/decidim/admin/moderations/reports_helper.rb +3 -2
  140. data/app/helpers/decidim/admin/newsletters_helper.rb +4 -4
  141. data/app/helpers/decidim/admin/paginable/per_page_helper.rb +1 -1
  142. data/app/helpers/decidim/admin/resource_permissions_helper.rb +2 -2
  143. data/app/helpers/decidim/admin/search_form_helper.rb +19 -0
  144. data/app/helpers/decidim/admin/settings_helper.rb +9 -8
  145. data/app/jobs/decidim/admin/application_job.rb +1 -1
  146. data/app/jobs/decidim/admin/expire_impersonation_job.rb +1 -1
  147. data/app/jobs/decidim/admin/import_participatory_space_private_user_csv_job.rb +2 -2
  148. data/app/jobs/decidim/admin/newsletter_job.rb +1 -1
  149. data/app/packs/entrypoints/decidim_admin.js +2 -23
  150. data/app/packs/entrypoints/decidim_admin.scss +1 -1
  151. data/app/packs/src/decidim/admin/application.js +0 -12
  152. data/app/packs/src/decidim/admin/officializations.js +21 -3
  153. data/app/packs/src/decidim/admin/participatory_space_search.js +268 -0
  154. data/app/packs/src/decidim/admin/scope_picker_enabler.component.js +2 -2
  155. data/app/packs/src/decidim/admin/sortable.js +0 -2
  156. data/app/packs/src/decidim/admin/tab_focus.js +3 -3
  157. data/app/packs/src/decidim/admin/toggle_nav.js +1 -1
  158. data/app/packs/src/decidim/admin/triadic_color_picker.js +128 -0
  159. data/app/packs/stylesheets/decidim/admin/_bulk_actions.scss +16 -0
  160. data/app/packs/stylesheets/decidim/admin/_cards.scss +171 -0
  161. data/app/packs/stylesheets/decidim/admin/_color_picker.scss +61 -0
  162. data/app/packs/stylesheets/decidim/admin/_component-show.scss +95 -0
  163. data/app/packs/stylesheets/decidim/admin/_data_picker.scss +55 -0
  164. data/app/packs/stylesheets/decidim/admin/_dropdown.scss +35 -0
  165. data/app/packs/stylesheets/decidim/admin/_filters.scss +94 -0
  166. data/app/packs/stylesheets/decidim/admin/_forms.scss +81 -0
  167. data/app/packs/stylesheets/decidim/admin/_item_edit.scss +122 -0
  168. data/app/packs/stylesheets/decidim/admin/_item_show.scss +69 -0
  169. data/app/packs/stylesheets/decidim/admin/_layout.scss +79 -0
  170. data/app/packs/stylesheets/decidim/admin/_legacy_foundation.scss +482 -0
  171. data/app/packs/stylesheets/decidim/admin/_logs.scss +80 -0
  172. data/app/packs/stylesheets/decidim/admin/_main-nav.scss +93 -0
  173. data/app/packs/stylesheets/decidim/admin/_minimap.scss +59 -0
  174. data/app/packs/stylesheets/decidim/admin/_moderations.scss +36 -0
  175. data/app/packs/stylesheets/decidim/admin/_secondary-nav.scss +111 -0
  176. data/app/packs/stylesheets/decidim/admin/_show_email.scss +19 -0
  177. data/app/packs/stylesheets/decidim/admin/_sidebar-menu.scss +66 -0
  178. data/app/packs/stylesheets/decidim/admin/_table-list.scss +155 -0
  179. data/app/packs/stylesheets/decidim/admin/_tabs.scss +74 -0
  180. data/app/packs/stylesheets/decidim/admin/_title-bar.scss +62 -0
  181. data/app/packs/stylesheets/decidim/admin/_user-login.scss +9 -0
  182. data/app/packs/stylesheets/decidim/admin/application.scss +37 -21
  183. data/app/permissions/decidim/admin/permissions.rb +2 -2
  184. data/app/presenters/decidim/admin/aside_menu_presenter.rb +25 -0
  185. data/app/presenters/decidim/admin/dashboard_metric_charts_presenter.rb +0 -26
  186. data/app/presenters/decidim/admin/secondary_menu_presenter.rb +5 -9
  187. data/app/presenters/decidim/admin/simple_menu_presenter.rb +2 -2
  188. data/app/queries/decidim/admin/active_users_counter.rb +1 -1
  189. data/app/queries/decidim/admin/invites.rb +58 -0
  190. data/app/queries/decidim/admin/moderation_stats.rb +53 -0
  191. data/app/views/decidim/admin/admin_terms/show.html.erb +15 -10
  192. data/app/views/decidim/admin/area_types/_form.html.erb +11 -6
  193. data/app/views/decidim/admin/area_types/edit.html.erb +14 -12
  194. data/app/views/decidim/admin/area_types/index.html.erb +35 -33
  195. data/app/views/decidim/admin/area_types/new.html.erb +14 -12
  196. data/app/views/decidim/admin/areas/_form.html.erb +12 -8
  197. data/app/views/decidim/admin/areas/edit.html.erb +14 -12
  198. data/app/views/decidim/admin/areas/index.html.erb +40 -38
  199. data/app/views/decidim/admin/areas/new.html.erb +14 -12
  200. data/app/views/decidim/admin/attachment_collections/_form.html.erb +12 -14
  201. data/app/views/decidim/admin/attachment_collections/edit.html.erb +17 -5
  202. data/app/views/decidim/admin/attachment_collections/index.html.erb +35 -40
  203. data/app/views/decidim/admin/attachment_collections/new.html.erb +16 -5
  204. data/app/views/decidim/admin/attachments/_form.html.erb +18 -22
  205. data/app/views/decidim/admin/attachments/edit.html.erb +17 -5
  206. data/app/views/decidim/admin/attachments/index.html.erb +45 -48
  207. data/app/views/decidim/admin/attachments/new.html.erb +16 -5
  208. data/app/views/decidim/admin/authorization_workflows/index.html.erb +7 -0
  209. data/app/views/decidim/admin/block_user/new.html.erb +39 -18
  210. data/app/views/decidim/admin/categories/_form.html.erb +13 -15
  211. data/app/views/decidim/admin/categories/edit.html.erb +16 -5
  212. data/app/views/decidim/admin/categories/index.html.erb +44 -49
  213. data/app/views/decidim/admin/categories/new.html.erb +16 -5
  214. data/app/views/decidim/admin/components/_actions.html.erb +17 -16
  215. data/app/views/decidim/admin/components/_component.html.erb +5 -3
  216. data/app/views/decidim/admin/components/_form.html.erb +87 -47
  217. data/app/views/decidim/admin/components/_resource_action.html.erb +9 -0
  218. data/app/views/decidim/admin/components/_settings_fields.html.erb +11 -8
  219. data/app/views/decidim/admin/components/edit.html.erb +16 -5
  220. data/app/views/decidim/admin/components/index.html.erb +23 -18
  221. data/app/views/decidim/admin/components/new.html.erb +16 -5
  222. data/app/views/decidim/admin/conflicts/edit.html.erb +24 -26
  223. data/app/views/decidim/admin/conflicts/index.html.erb +23 -26
  224. data/app/views/decidim/admin/dashboard/_pending_moderations.html.erb +12 -0
  225. data/app/views/decidim/admin/dashboard/show.html.erb +26 -20
  226. data/app/views/decidim/admin/devise/mailers/password_change.html.erb +1 -1
  227. data/app/views/decidim/admin/devise/mailers/reset_password_instructions.html.erb +2 -2
  228. data/app/views/decidim/admin/exports/_dropdown.html.erb +11 -4
  229. data/app/views/decidim/admin/help_sections/_form.html.erb +34 -18
  230. data/app/views/decidim/admin/impersonatable_users/index.html.erb +46 -53
  231. data/app/views/decidim/admin/impersonations/_form.html.erb +53 -35
  232. data/app/views/decidim/admin/impersonations/new.html.erb +21 -19
  233. data/app/views/decidim/admin/imports/_dropdown.html.erb +5 -2
  234. data/app/views/decidim/admin/imports/new.html.erb +54 -43
  235. data/app/views/decidim/admin/logs/_filters.html.erb +37 -0
  236. data/app/views/decidim/admin/logs/_logs_list.html.erb +4 -3
  237. data/app/views/decidim/admin/logs/index.html.erb +3 -6
  238. data/app/views/decidim/admin/managed_users/impersonation_logs/index.html.erb +27 -28
  239. data/app/views/decidim/admin/managed_users/promotions/_form.html.erb +8 -2
  240. data/app/views/decidim/admin/managed_users/promotions/new.html.erb +17 -15
  241. data/app/views/decidim/admin/metrics/_metrics.html.erb +1 -6
  242. data/app/views/decidim/admin/metrics/index.html.erb +1 -1
  243. data/app/views/decidim/admin/moderated_users/_report.html.erb +1 -5
  244. data/app/views/decidim/admin/moderated_users/index.html.erb +58 -75
  245. data/app/views/decidim/admin/moderations/index.html.erb +91 -101
  246. data/app/views/decidim/admin/moderations/reports/index.html.erb +91 -92
  247. data/app/views/decidim/admin/moderations/reports/show.html.erb +51 -49
  248. data/app/views/decidim/admin/newsletter_templates/index.html.erb +12 -11
  249. data/app/views/decidim/admin/newsletter_templates/show.html.erb +8 -6
  250. data/app/views/decidim/admin/newsletters/_form.html.erb +10 -4
  251. data/app/views/decidim/admin/newsletters/edit.html.erb +21 -12
  252. data/app/views/decidim/admin/newsletters/index.html.erb +57 -57
  253. data/app/views/decidim/admin/newsletters/new.html.erb +20 -12
  254. data/app/views/decidim/admin/newsletters/select_recipients_to_deliver.html.erb +53 -55
  255. data/app/views/decidim/admin/newsletters/show.html.erb +24 -17
  256. data/app/views/decidim/admin/officializations/_show_email_modal.html.erb +20 -21
  257. data/app/views/decidim/admin/officializations/index.html.erb +55 -62
  258. data/app/views/decidim/admin/officializations/new.html.erb +24 -16
  259. data/app/views/decidim/admin/officializations/show_email.html.erb +0 -1
  260. data/app/views/decidim/admin/organization/_form.html.erb +76 -90
  261. data/app/views/decidim/admin/organization/edit.html.erb +19 -11
  262. data/app/views/decidim/admin/organization_appearance/_form.html.erb +72 -57
  263. data/app/views/decidim/admin/organization_appearance/edit.html.erb +17 -6
  264. data/app/views/decidim/admin/organization_appearance/form/_colors.html.erb +63 -24
  265. data/app/views/decidim/admin/organization_appearance/form/_header_snippets.html.erb +17 -0
  266. data/app/views/decidim/admin/organization_appearance/form/_images.html.erb +39 -40
  267. data/app/views/decidim/admin/organization_appearance/form/_minimap.html.erb +5 -14
  268. data/app/views/decidim/admin/organization_external_domain_whitelist/_external_domain.html.erb +18 -13
  269. data/app/views/decidim/admin/organization_external_domain_whitelist/_form.html.erb +8 -10
  270. data/app/views/decidim/admin/organization_external_domain_whitelist/edit.html.erb +17 -6
  271. data/app/views/decidim/admin/participatory_space_private_users/_form.html.erb +10 -14
  272. data/app/views/decidim/admin/participatory_space_private_users/index.html.erb +59 -60
  273. data/app/views/decidim/admin/participatory_space_private_users/new.html.erb +17 -5
  274. data/app/views/decidim/admin/participatory_space_private_users_csv_imports/new.html.erb +28 -11
  275. data/app/views/decidim/admin/reminders/new.html.erb +18 -16
  276. data/app/views/decidim/admin/resource_permissions/edit.html.erb +46 -47
  277. data/app/views/decidim/admin/scope_types/_form.html.erb +9 -6
  278. data/app/views/decidim/admin/scope_types/edit.html.erb +17 -11
  279. data/app/views/decidim/admin/scope_types/index.html.erb +40 -34
  280. data/app/views/decidim/admin/scope_types/new.html.erb +17 -11
  281. data/app/views/decidim/admin/scopes/_form.html.erb +11 -9
  282. data/app/views/decidim/admin/scopes/edit.html.erb +17 -11
  283. data/app/views/decidim/admin/scopes/index.html.erb +39 -41
  284. data/app/views/decidim/admin/scopes/new.html.erb +17 -11
  285. data/app/views/decidim/admin/share_tokens/_share_tokens.html.erb +3 -15
  286. data/app/views/decidim/admin/shared/_admin_confirm_modal.html.erb +18 -0
  287. data/app/views/decidim/admin/shared/_filters.html.erb +6 -10
  288. data/app/views/decidim/admin/shared/_gallery.html.erb +8 -19
  289. data/app/views/decidim/admin/shared/_js-callout.html.erb +4 -2
  290. data/app/views/decidim/admin/shared/landing_page/_content_blocks.html.erb +68 -0
  291. data/app/views/decidim/admin/shared/landing_page/edit.html.erb +1 -47
  292. data/app/views/decidim/admin/shared/landing_page_content_blocks/edit.html.erb +24 -14
  293. data/app/views/decidim/admin/static_page_topics/_form.html.erb +2 -2
  294. data/app/views/decidim/admin/static_page_topics/edit.html.erb +21 -11
  295. data/app/views/decidim/admin/static_page_topics/index.html.erb +41 -0
  296. data/app/views/decidim/admin/static_page_topics/new.html.erb +21 -11
  297. data/app/views/decidim/admin/static_pages/_form.html.erb +41 -26
  298. data/app/views/decidim/admin/static_pages/_form_notable_changes.html.erb +2 -3
  299. data/app/views/decidim/admin/static_pages/_topic.html.erb +40 -44
  300. data/app/views/decidim/admin/static_pages/edit.html.erb +22 -12
  301. data/app/views/decidim/admin/static_pages/index.html.erb +14 -2
  302. data/app/views/decidim/admin/static_pages/new.html.erb +15 -11
  303. data/app/views/decidim/admin/user_groups/index.html.erb +58 -58
  304. data/app/views/decidim/admin/user_groups_csv_verifications/new.html.erb +28 -17
  305. data/app/views/decidim/admin/users/_form.html.erb +14 -8
  306. data/app/views/decidim/admin/users/index.html.erb +52 -54
  307. data/app/views/decidim/admin/users/new.html.erb +15 -12
  308. data/app/views/layouts/decidim/admin/_admin_timeout_modal.html.erb +24 -0
  309. data/app/views/layouts/decidim/admin/_application.html.erb +50 -12
  310. data/app/views/layouts/decidim/admin/_breadcrumb.html.erb +26 -0
  311. data/app/views/layouts/decidim/admin/_callouts_full.html.erb +2 -13
  312. data/app/views/layouts/decidim/admin/_header.html.erb +2 -3
  313. data/app/views/layouts/decidim/admin/_js_configuration.html.erb +3 -5
  314. data/app/views/layouts/decidim/admin/_sidebar_menu.html.erb +24 -0
  315. data/app/views/layouts/decidim/admin/_title_bar.html.erb +36 -37
  316. data/app/views/layouts/decidim/admin/_title_bar_responsive.html.erb +46 -0
  317. data/app/views/layouts/decidim/admin/global_moderations.html.erb +1 -3
  318. data/app/views/layouts/decidim/admin/newsletters.erb +0 -11
  319. data/app/views/layouts/decidim/admin/settings.html.erb +2 -3
  320. data/app/views/layouts/decidim/admin/users.html.erb +1 -3
  321. data/config/locales/ar-SA.yml +0 -3
  322. data/config/locales/ar.yml +2 -82
  323. data/config/locales/bg.yml +0 -4
  324. data/config/locales/ca.yml +119 -87
  325. data/config/locales/cs-CZ.yml +0 -3
  326. data/config/locales/cs.yml +118 -84
  327. data/config/locales/de.yml +116 -84
  328. data/config/locales/el.yml +82 -78
  329. data/config/locales/en.yml +123 -91
  330. data/config/locales/eo.yml +0 -2
  331. data/config/locales/es-MX.yml +120 -88
  332. data/config/locales/es-PY.yml +120 -88
  333. data/config/locales/es.yml +120 -88
  334. data/config/locales/eu.yml +124 -92
  335. data/config/locales/fi-pl.yml +0 -3
  336. data/config/locales/fi-plain.yml +112 -80
  337. data/config/locales/fi.yml +111 -79
  338. data/config/locales/fr-CA.yml +118 -86
  339. data/config/locales/fr-LU.yml +0 -3
  340. data/config/locales/fr.yml +119 -87
  341. data/config/locales/ga-IE.yml +0 -12
  342. data/config/locales/gl.yml +0 -98
  343. data/config/locales/hu.yml +89 -81
  344. data/config/locales/id-ID.yml +0 -61
  345. data/config/locales/is-IS.yml +0 -50
  346. data/config/locales/it.yml +1 -103
  347. data/config/locales/ja.yml +115 -86
  348. data/config/locales/kaa.yml +6 -13
  349. data/config/locales/lb-LU.yml +0 -3
  350. data/config/locales/lb.yml +0 -103
  351. data/config/locales/lt.yml +82 -72
  352. data/config/locales/lv.yml +0 -73
  353. data/config/locales/nl.yml +6 -109
  354. data/config/locales/no.yml +0 -111
  355. data/config/locales/pl.yml +4 -146
  356. data/config/locales/pt-BR.yml +81 -90
  357. data/config/locales/pt.yml +0 -103
  358. data/config/locales/ro-RO.yml +76 -80
  359. data/config/locales/ru.yml +0 -52
  360. data/config/locales/sk-SK.yml +3 -6
  361. data/config/locales/sk.yml +0 -73
  362. data/config/locales/sl.yml +0 -5
  363. data/config/locales/sq-AL.yml +4 -7
  364. data/config/locales/sr-CS.yml +0 -57
  365. data/config/locales/sv.yml +22 -108
  366. data/config/locales/tr-TR.yml +1 -86
  367. data/config/locales/uk.yml +0 -45
  368. data/config/locales/zh-CN.yml +0 -76
  369. data/config/locales/zh-TW.yml +66 -72
  370. data/config/routes.rb +12 -4
  371. data/lib/decidim/admin/components.rb +1 -1
  372. data/lib/decidim/admin/custom_import.rb +29 -0
  373. data/lib/decidim/admin/engine.rb +54 -216
  374. data/lib/decidim/admin/import/importer.rb +3 -3
  375. data/lib/decidim/admin/import/importer_factory.rb +1 -1
  376. data/lib/decidim/admin/import/readers/base.rb +1 -1
  377. data/lib/decidim/admin/import/readers/csv.rb +2 -2
  378. data/lib/decidim/admin/import/verifier.rb +4 -4
  379. data/lib/decidim/admin/menu.rb +281 -0
  380. data/lib/decidim/admin/search_form_builder.rb +39 -0
  381. data/lib/decidim/admin/test/admin_participatory_space_access_examples.rb +3 -2
  382. data/lib/decidim/admin/test/commands/create_attachment_collection_examples.rb +3 -3
  383. data/lib/decidim/admin/test/commands/create_category_examples.rb +2 -2
  384. data/lib/decidim/admin/test/commands/destroy_category_examples.rb +4 -4
  385. data/lib/decidim/admin/test/commands/publish_participatory_space_examples.rb +102 -0
  386. data/lib/decidim/admin/test/commands/update_attachment_collection_examples.rb +4 -4
  387. data/lib/decidim/admin/test/commands/update_category_examples.rb +3 -3
  388. data/lib/decidim/admin/test/destroy_admin_examples.rb +39 -0
  389. data/lib/decidim/admin/test/filterable_examples.rb +8 -8
  390. data/lib/decidim/admin/test/filters_participatory_space_user_roles_examples.rb +12 -43
  391. data/lib/decidim/admin/test/filters_participatory_space_users_examples.rb +34 -43
  392. data/lib/decidim/admin/test/forms/attachment_collection_form_examples.rb +1 -1
  393. data/lib/decidim/admin/test/forms/attachment_form_examples.rb +1 -1
  394. data/lib/decidim/admin/test/forms/category_form_examples.rb +1 -1
  395. data/lib/decidim/admin/test/manage_attachment_collections_examples.rb +9 -9
  396. data/lib/decidim/admin/test/manage_attachments_examples.rb +9 -9
  397. data/lib/decidim/admin/test/manage_categories_examples.rb +7 -7
  398. data/lib/decidim/admin/test/manage_component_permissions_examples.rb +24 -24
  399. data/lib/decidim/admin/test/manage_hide_content_examples.rb +59 -0
  400. data/lib/decidim/admin/test/manage_moderations_examples.rb +31 -22
  401. data/lib/decidim/admin/test/manage_paginated_collection_examples.rb +2 -2
  402. data/lib/decidim/admin/test/manage_participatory_space_publications_examples.rb +54 -0
  403. data/lib/decidim/admin/test/needs_admin_tos_accepted_examples.rb +1 -1
  404. data/lib/decidim/admin/test.rb +4 -0
  405. data/lib/decidim/admin/version.rb +1 -1
  406. data/lib/decidim/admin.rb +2 -0
  407. metadata +90 -114
  408. data/app/commands/decidim/admin/create_participatory_space_admin_user_actions.rb +0 -94
  409. data/app/commands/decidim/admin/reorder_content_blocks.rb +0 -100
  410. data/app/commands/decidim/admin/update_content_block.rb +0 -79
  411. data/app/controllers/concerns/decidim/admin/landing_page.rb +0 -105
  412. data/app/controllers/concerns/decidim/admin/landing_page_content_blocks.rb +0 -118
  413. data/app/packs/stylesheets/decidim/admin/_decidim.scss +0 -23
  414. data/app/packs/stylesheets/decidim/admin/_variables.scss +0 -18
  415. data/app/packs/stylesheets/decidim/admin/bundle.scss +0 -2
  416. data/app/packs/stylesheets/decidim/admin/components/_accordion.scss +0 -41
  417. data/app/packs/stylesheets/decidim/admin/components/_dropdown-menu.scss +0 -3
  418. data/app/packs/stylesheets/decidim/admin/components/_sortable.scss +0 -5
  419. data/app/packs/stylesheets/decidim/admin/extra/_action-icon.scss +0 -32
  420. data/app/packs/stylesheets/decidim/admin/extra/_block_user.scss +0 -5
  421. data/app/packs/stylesheets/decidim/admin/extra/_cards.scss +0 -24
  422. data/app/packs/stylesheets/decidim/admin/extra/_categories.scss +0 -5
  423. data/app/packs/stylesheets/decidim/admin/extra/_dropdown_inverted.scss +0 -47
  424. data/app/packs/stylesheets/decidim/admin/extra/_editor.scss +0 -1
  425. data/app/packs/stylesheets/decidim/admin/extra/_email_preview.scss +0 -5
  426. data/app/packs/stylesheets/decidim/admin/extra/_label-required.scss +0 -3
  427. data/app/packs/stylesheets/decidim/admin/extra/_login.scss +0 -37
  428. data/app/packs/stylesheets/decidim/admin/extra/_logs.scss +0 -122
  429. data/app/packs/stylesheets/decidim/admin/extra/_newsletter-templates-gallery.scss +0 -3
  430. data/app/packs/stylesheets/decidim/admin/extra/_organization-appearance.scss +0 -141
  431. data/app/packs/stylesheets/decidim/admin/extra/_quill.scss +0 -12
  432. data/app/packs/stylesheets/decidim/admin/extra/_select_multiple.scss +0 -3
  433. data/app/packs/stylesheets/decidim/admin/extra/_show_email.scss +0 -31
  434. data/app/packs/stylesheets/decidim/admin/extra/_sort.scss +0 -13
  435. data/app/packs/stylesheets/decidim/admin/extra/_title_bar.scss +0 -80
  436. data/app/packs/stylesheets/decidim/admin/modules/_action-icon.scss +0 -30
  437. data/app/packs/stylesheets/decidim/admin/modules/_agenda.scss +0 -34
  438. data/app/packs/stylesheets/decidim/admin/modules/_autocomplete.scss +0 -5
  439. data/app/packs/stylesheets/decidim/admin/modules/_buttons.scss +0 -86
  440. data/app/packs/stylesheets/decidim/admin/modules/_callouts.scss +0 -45
  441. data/app/packs/stylesheets/decidim/admin/modules/_card-grid.scss +0 -25
  442. data/app/packs/stylesheets/decidim/admin/modules/_cards.scss +0 -126
  443. data/app/packs/stylesheets/decidim/admin/modules/_char-counter.scss +0 -22
  444. data/app/packs/stylesheets/decidim/admin/modules/_component-counter.scss +0 -26
  445. data/app/packs/stylesheets/decidim/admin/modules/_draggable-list.scss +0 -27
  446. data/app/packs/stylesheets/decidim/admin/modules/_dropdown.scss +0 -20
  447. data/app/packs/stylesheets/decidim/admin/modules/_filters.scss +0 -83
  448. data/app/packs/stylesheets/decidim/admin/modules/_forms.scss +0 -164
  449. data/app/packs/stylesheets/decidim/admin/modules/_icons.scss +0 -68
  450. data/app/packs/stylesheets/decidim/admin/modules/_layout.scss +0 -75
  451. data/app/packs/stylesheets/decidim/admin/modules/_loading-spinner.scss +0 -19
  452. data/app/packs/stylesheets/decidim/admin/modules/_main-nav.scss +0 -45
  453. data/app/packs/stylesheets/decidim/admin/modules/_moderations.scss +0 -39
  454. data/app/packs/stylesheets/decidim/admin/modules/_modules.scss +0 -44
  455. data/app/packs/stylesheets/decidim/admin/modules/_pics.scss +0 -5
  456. data/app/packs/stylesheets/decidim/admin/modules/_process-header.scss +0 -13
  457. data/app/packs/stylesheets/decidim/admin/modules/_reveal.scss +0 -5
  458. data/app/packs/stylesheets/decidim/admin/modules/_secondary-nav.scss +0 -114
  459. data/app/packs/stylesheets/decidim/admin/modules/_table-list.scss +0 -146
  460. data/app/packs/stylesheets/decidim/admin/modules/_tabs.scss +0 -63
  461. data/app/packs/stylesheets/decidim/admin/modules/_title-bar.scss +0 -35
  462. data/app/packs/stylesheets/decidim/admin/modules/_typography.scss +0 -27
  463. data/app/packs/stylesheets/decidim/admin/modules/_upload_modal.scss +0 -42
  464. data/app/packs/stylesheets/decidim/admin/modules/_user-login.scss +0 -25
  465. data/app/packs/stylesheets/decidim/admin/modules/_users_statistics.scss +0 -18
  466. data/app/packs/stylesheets/decidim/admin/plugins/_foundation-datepicker.scss +0 -224
  467. data/app/packs/stylesheets/decidim/admin/plugins/jquery.auto-complete.css +0 -9
  468. data/app/packs/stylesheets/decidim/admin/user_moderations.scss +0 -3
  469. data/app/packs/stylesheets/decidim/admin/utils/_flex.scss +0 -60
  470. data/app/packs/stylesheets/decidim/admin/utils/_helpers.scss +0 -53
  471. data/app/packs/stylesheets/decidim/admin/utils/_keyframes.scss +0 -21
  472. data/app/packs/stylesheets/decidim/admin/utils/_mixins.scss +0 -151
  473. data/app/packs/stylesheets/decidim/admin/utils/_settings.scss +0 -882
  474. data/app/packs/stylesheets/decidim/admin/utils/_toggle-expand.scss +0 -9
  475. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/_constants.scss +0 -5
  476. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/_math.scss +0 -45
  477. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_acos.scss +0 -14
  478. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_asin.scss +0 -16
  479. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_atan.scss +0 -36
  480. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_atan2.scss +0 -46
  481. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_cos.scss +0 -17
  482. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_cot.scss +0 -12
  483. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_csc.scss +0 -12
  484. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_exp.scss +0 -16
  485. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_fact.scss +0 -21
  486. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_frexp.scss +0 -25
  487. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_ldexp.scss +0 -20
  488. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_log.scss +0 -39
  489. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_pow.scss +0 -34
  490. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_sec.scss +0 -12
  491. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_sin.scss +0 -10
  492. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_sqrt.scss +0 -21
  493. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_tan.scss +0 -12
  494. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/helpers/_deg-to-rad.scss +0 -6
  495. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/helpers/_rad-to-deg.scss +0 -6
  496. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/helpers/_strip-unit.scss +0 -11
  497. data/app/packs/stylesheets/decidim/admin/vendor/mathsass/helpers/_unitless-rad.scss +0 -19
  498. data/app/views/decidim/admin/attachment_collections/show.html.erb +0 -13
  499. data/app/views/decidim/admin/attachments/show.html.erb +0 -24
  500. data/app/views/decidim/admin/categories/show.html.erb +0 -12
  501. data/app/views/decidim/admin/organization_homepage/edit.html.erb +0 -43
  502. data/app/views/decidim/admin/organization_homepage_content_blocks/edit.html.erb +0 -13
  503. data/app/views/decidim/admin/static_pages/show.html.erb +0 -21
  504. data/app/views/layouts/decidim/admin/_template_bottom.html.erb +0 -2
  505. data/app/views/layouts/decidim/admin/_template_top.html.erb +0 -4
  506. data/app/views/layouts/decidim/admin/pages.html.erb +0 -15
  507. data/config/environment.rb +0 -3
@@ -1,100 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Admin
5
- # A command that reorders a collection of content blocks. It also creates
6
- # the ones that might be missing.
7
- class ReorderContentBlocks < Decidim::Command
8
- # Public: Initializes the command.
9
- #
10
- # organization - the Organization where the content blocks reside
11
- # scope - the scope applied to the content blocks
12
- # order - an Array holding the order of IDs of published content blocks.
13
- # scoped_resource_id - (optional) The id of the resource the content blocks belongs to.
14
- def initialize(organization, scope, order, scoped_resource_id = nil)
15
- @organization = organization
16
- @scope = scope
17
- @order = order
18
- @scoped_resource_id = scoped_resource_id
19
- end
20
-
21
- # Executes the command. Broadcasts these events:
22
- #
23
- # - :ok when everything is valid.
24
- # - :invalid if the data wasn't valid and we couldn't proceed.
25
- #
26
- # Returns nothing.
27
- def call
28
- return broadcast(:invalid) if order.blank?
29
-
30
- reorder_steps
31
- broadcast(:ok)
32
- end
33
-
34
- private
35
-
36
- attr_reader :organization, :scope, :scoped_resource_id
37
-
38
- def reorder_steps
39
- transaction do
40
- reset_weights
41
- collection.reload
42
- set_new_weights
43
- unpublish_removed_content_blocks
44
- publish_appearing_content_blocks
45
- end
46
- end
47
-
48
- def reset_weights
49
- # rubocop:disable Rails/SkipsModelValidations
50
- collection.where.not(weight: nil).update_all(weight: nil)
51
- # rubocop:enable Rails/SkipsModelValidations
52
- end
53
-
54
- def set_new_weights
55
- data = order.each_with_index.inject({}) do |hash, (manifest_name, index)|
56
- hash.update(manifest_name => index + 1)
57
- end
58
-
59
- data.each do |manifest_name, weight|
60
- content_block = collection.find { |block| block.manifest_name == manifest_name }
61
- if content_block.present?
62
- content_block.update!(weight: weight)
63
- else
64
- create_content_block(manifest_name, weight)
65
- end
66
- end
67
- end
68
-
69
- # rubocop:disable Rails/SkipsModelValidations
70
- def unpublish_removed_content_blocks
71
- collection.where(weight: nil).update_all(published_at: nil)
72
- end
73
-
74
- def publish_appearing_content_blocks
75
- collection.where(published_at: nil).where.not(weight: nil).update_all(published_at: Time.current)
76
- end
77
- # rubocop:enable Rails/SkipsModelValidations
78
-
79
- def create_content_block(manifest_name, weight)
80
- Decidim::ContentBlock.create!(
81
- organization: organization,
82
- scope_name: scope,
83
- scoped_resource_id: scoped_resource_id.presence,
84
- weight: weight,
85
- manifest_name: manifest_name
86
- )
87
- end
88
-
89
- def order
90
- return nil unless @order.is_a?(Array) && @order.present?
91
-
92
- @order
93
- end
94
-
95
- def collection
96
- @collection ||= Decidim::ContentBlock.for_scope(scope, organization: organization).where(scoped_resource_id: scoped_resource_id)
97
- end
98
- end
99
- end
100
- end
@@ -1,79 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Admin
5
- # This command gets called when a content block is updated from the admin
6
- # panel.
7
- class UpdateContentBlock < Decidim::Command
8
- attr_reader :form, :content_block, :scope
9
-
10
- # Public: Initializes the command.
11
- #
12
- # form - The form from which the data in this component comes from.
13
- # component - The component to update.
14
- # scope - the scope where the content block belongs to.
15
- def initialize(form, content_block, scope)
16
- @form = form
17
- @content_block = content_block
18
- @scope = scope
19
- end
20
-
21
- # Public: Updates the content block settings and its attachments.
22
- #
23
- # Broadcasts :ok if created, :invalid otherwise.
24
- def call
25
- return broadcast(:invalid) if form.invalid?
26
-
27
- images_valid = true
28
-
29
- transaction do
30
- update_content_block_settings
31
- content_block.save!
32
-
33
- # Saving the images will cause the image file validations to run
34
- # according to their uploader settings and the organization settings.
35
- # The content block validation will fail in case there are processing
36
- # errors on the image files.
37
- #
38
- # NOTE:
39
- # The images can be only stored correctly if the content block is
40
- # already persisted. This is not the case e.g. when creating a new
41
- # newsletter which uses the content blocks through newsletter
42
- # templates. This is why this needs to happen after the initial
43
- # `content_block.save!` call.
44
- update_content_block_images
45
- unless content_block.valid?
46
- images_valid = false
47
- raise ActiveRecord::Rollback
48
- end
49
-
50
- # The save method needs to be called another time in order to store
51
- # the image information.
52
- content_block.save!
53
- end
54
-
55
- return broadcast(:invalid) unless images_valid
56
-
57
- broadcast(:ok, content_block)
58
- end
59
-
60
- private
61
-
62
- def update_content_block_settings
63
- content_block.settings = form.settings
64
- end
65
-
66
- def update_content_block_images
67
- content_block.manifest.images.each do |image_config|
68
- image_name = image_config[:name]
69
-
70
- if form.images[image_name]
71
- content_block.images_container.send("#{image_name}=", form.images[image_name])
72
- elsif form.images["remove_#{image_name}".to_sym] == "1"
73
- content_block.images_container.send("#{image_name}=", nil)
74
- end
75
- end
76
- end
77
- end
78
- end
79
- end
@@ -1,105 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Admin
5
- module LandingPage
6
- extend ActiveSupport::Concern
7
- included do
8
- helper_method :active_blocks, :active_content_blocks_title, :inactive_blocks,
9
- :inactive_content_blocks_title, :resource_content_block_cell,
10
- :resource_landing_page_content_block_path, :resource_sort_url,
11
- :scoped_resource
12
- def edit
13
- enforce_permission_to_update_resource
14
-
15
- render "decidim/admin/shared/landing_page/edit"
16
- end
17
-
18
- def update
19
- enforce_permission_to_update_resource
20
-
21
- Decidim::Admin::ReorderContentBlocks.call(current_organization, content_block_scope, params[:manifests], scoped_resource.id) do
22
- on(:ok) do
23
- head :ok
24
- end
25
- on(:invalid) do
26
- head :bad_request
27
- end
28
- end
29
- end
30
-
31
- private
32
-
33
- # Method to be implemented at the controller. You need to
34
- # return a symbol that defines the content block scope.
35
- # Examples of scopes could be `:homepage` or `:landing_page`.
36
- def content_block_scope
37
- raise "#{self.class.name} is expected to implement #content_block_scope"
38
- end
39
-
40
- # Method to be implemented at the controller. Defines the permissions for
41
- # edit and update actions.
42
- # For example `enforce_permission_to :manage_landing_page, :voting, voting: current_space`.
43
- def enforce_permission_to_update_resource
44
- raise "#{self.class.name} is expected to implement #enforce_permission_to_update_resource"
45
- end
46
-
47
- # Method to be implemented at the controller. Returns the URL
48
- # where the ordered/activated content_blocks is submitted to.
49
- def resource_sort_url
50
- raise "#{self.class.name} is expected to implement #resource_sort_url"
51
- end
52
-
53
- # Method to be implemented at the controller. Returns a string
54
- # with the header text for the active content_block column.
55
- #
56
- # Example: `t("landing_page.edit.active_content_blocks", scope: "decidim.votings.admin")`
57
- def active_content_blocks_title
58
- raise "#{self.class.name} is expected to implement #active_content_blocks_title"
59
- end
60
-
61
- # Method to be implemented at the controller. Returns a string
62
- # with the header text for the inactive content_block column.
63
- #
64
- # Example: `t("landing_page.edit.inactive_content_blocks", scope: "decidim.votings.admin")`
65
- def inactive_content_blocks_title
66
- raise "#{self.class.name} is expected to implement #inactive_content_blocks_title"
67
- end
68
-
69
- # Method to be implemented at the controller. Returns a string
70
- # with the cell name to be used for the drag'n'drop for each content_block.
71
- #
72
- # Example: "decidim/votings/content_block"
73
- def resource_content_block_cell
74
- raise "#{self.class.name} is expected to implement #resource_content_block_cell"
75
- end
76
-
77
- # Shared methods
78
- def content_blocks
79
- @content_blocks ||= Decidim::ContentBlock.for_scope(
80
- content_block_scope,
81
- organization: current_organization
82
- ).where(scoped_resource_id: scoped_resource.id)
83
- end
84
-
85
- def active_blocks
86
- @active_blocks ||= content_blocks.published
87
- end
88
-
89
- def inactive_blocks
90
- @inactive_blocks ||= content_blocks.unpublished + unused_manifests
91
- end
92
-
93
- def used_manifests
94
- @used_manifests ||= content_blocks.map(&:manifest_name)
95
- end
96
-
97
- def unused_manifests
98
- @unused_manifests ||= Decidim.content_blocks.for(content_block_scope).reject do |manifest|
99
- used_manifests.include?(manifest.name.to_s)
100
- end
101
- end
102
- end
103
- end
104
- end
105
- end
@@ -1,118 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Admin
5
- module LandingPageContentBlocks
6
- extend ActiveSupport::Concern
7
- included do
8
- helper_method :content_block, :resource_landing_page_content_block_path,
9
- :scoped_resource, :submit_button_text
10
-
11
- def edit
12
- enforce_permission_to_update_resource
13
- @form = form(Decidim::Admin::ContentBlockForm).from_model(content_block)
14
-
15
- render "decidim/admin/shared/landing_page_content_blocks/edit"
16
- end
17
-
18
- def update
19
- enforce_permission_to_update_resource
20
- @form = form(Decidim::Admin::ContentBlockForm).from_params(params)
21
-
22
- Decidim::Admin::UpdateContentBlock.call(@form, content_block, content_block_scope) do
23
- on(:ok) do
24
- redirect_to edit_resource_landing_page_path
25
- end
26
- on(:invalid) do
27
- render "decidim/admin/shared/landing_page_content_blocks/edit"
28
- end
29
- end
30
- end
31
-
32
- private
33
-
34
- # Method to be implemented at the controller. You need to
35
- # return a symbol that defines the content block scope.
36
- # Examples of scopes could be `:homepage` or `:voting_landing_page`.
37
- def content_block_scope
38
- raise "#{self.class.name} is expected to implement #content_block_scope"
39
- end
40
-
41
- # Method to be implemented at the controller. You need to
42
- # return an Object to filter the content blocks for the given resource.
43
- #
44
- # For example a `Voting` record.
45
- def scoped_resource
46
- raise "#{self.class.name} is expected to implement #scoped_resource"
47
- end
48
-
49
- # Method to be implemented at the controller. Defines the permissions for
50
- # edit and update actions.
51
- #
52
- # Example: `enforce_permission_to :manage_landing_page, :voting, voting: current_space`.
53
- def enforce_permission_to_update_resource
54
- raise "#{self.class.name} is expected to implement #enforce_permission_to_update_resource"
55
- end
56
-
57
- # Method to be implemented at the controller. Returns the URL
58
- # to the edit landing page path.
59
- #
60
- # Example: `edit_voting_landing_page_path(scoped_resource)`
61
- def edit_resource_landing_page_path
62
- raise "#{self.class.name} is expected to implement #edit_resource_landing_page_path"
63
- end
64
-
65
- # Method to be implemented at the controller. Returns the URL
66
- # where the ContentBlockForm is submitted.
67
- #
68
- # Example: `voting_landing_page_content_block_path(scoped_resource, params[:id])`
69
- def resource_landing_page_content_block_path
70
- raise "#{self.class.name} is expected to implement #resource_landing_page_content_block_path"
71
- end
72
-
73
- # Method to be implemented at the controller. Returns a string
74
- # with the text for the submit button of the ContentBlockForm.
75
- #
76
- # Example: t("landing_page.content_blocks.edit.update", scope: "decidim.votings.admin")
77
- def submit_button_text
78
- raise "#{self.class.name} is expected to implement #submit_button_text"
79
- end
80
-
81
- # Shared methods
82
- def content_block
83
- @content_block ||= content_blocks.find_by(manifest_name: params[:id]) || content_block_from_manifest
84
- end
85
-
86
- def content_block_manifest
87
- @content_block_manifest = unused_content_block_manifests.find { |manifest| manifest.name.to_s == params[:id] }
88
- end
89
-
90
- def content_blocks
91
- @content_blocks ||= Decidim::ContentBlock.for_scope(
92
- content_block_scope,
93
- organization: current_organization
94
- ).where(scoped_resource_id: scoped_resource.id)
95
- end
96
-
97
- def used_content_block_manifests
98
- @used_content_block_manifests ||= content_blocks.map(&:manifest_name)
99
- end
100
-
101
- def unused_content_block_manifests
102
- @unused_content_block_manifests ||= Decidim.content_blocks.for(content_block_scope).reject do |manifest|
103
- used_content_block_manifests.include?(manifest.name.to_s)
104
- end
105
- end
106
-
107
- def content_block_from_manifest
108
- Decidim::ContentBlock.create!(
109
- organization: current_organization,
110
- scope_name: content_block_scope,
111
- scoped_resource_id: scoped_resource.id,
112
- manifest_name: params[:id]
113
- )
114
- end
115
- end
116
- end
117
- end
118
- end
@@ -1,23 +0,0 @@
1
- @import "stylesheets/decidim/admin/variables";
2
- @import "stylesheets/decidim/utils/fontface";
3
- @import "stylesheets/decidim/admin/utils/helpers";
4
- @import "stylesheets/decidim/admin/utils/keyframes";
5
- @import "stylesheets/decidim/admin/utils/settings";
6
- @import "stylesheets/decidim/admin/utils/toggle-expand";
7
- @import "foundation-sites/scss/foundation";
8
- @import "stylesheets/foundation-overrides/components/button-group";
9
-
10
- @include foundation-everything();
11
-
12
- @import "stylesheets/decidim/admin/utils/mixins";
13
- @import "stylesheets/decidim/admin/utils/flex";
14
- @import "stylesheets/decidim/admin/plugins/foundation-datepicker";
15
- @import "stylesheets/decidim/modules/data-picker";
16
- @import "stylesheets/decidim/modules/map";
17
- @import "stylesheets/decidim/admin/modules/modules";
18
- @import "stylesheets/decidim/admin/plugins/jquery.auto-complete";
19
- @import "stylesheets/decidim/admin/components/accordion";
20
- @import "stylesheets/decidim/admin/components/dropdown-menu";
21
- @import "stylesheets/decidim/admin/components/sortable";
22
- @import "stylesheets/decidim/vizzs";
23
- @import "stylesheets/decidim/admin/bundle";
@@ -1,18 +0,0 @@
1
- // Foundation Variables
2
- $primary-color: null;
3
- $secondary-color: null;
4
- $success-color: null;
5
- $warning-color: null;
6
- $alert-color: null;
7
- $-zf-size: null;
8
- $-zf-bp-value: null;
9
-
10
- // Variables
11
-
12
- $brand: #9675ce !default;
13
-
14
- $twitter: #000 !default;
15
- $facebook: #3b5998 !default;
16
- $google: #4285f4 !default;
17
-
18
- $secondary: #3e7f8b !default;
@@ -1,2 +0,0 @@
1
- @keyframes Select-animation-spin{to{transform:rotate(1turn)}}@-webkit-keyframes Select-animation-spin{to{-webkit-transform:rotate(1turn)}}.Select{position:relative}.Select input::-webkit-contacts-auto-fill-button,.Select input::-webkit-credentials-auto-fill-button{display:none !important}.Select input::-ms-clear{display:none !important}.Select input::-ms-reveal{display:none !important}.Select,.Select div,.Select input,.Select span{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.Select.is-disabled .Select-arrow-zone{cursor:default;pointer-events:none}.Select.is-disabled>.Select-control{background-color:#f9f9f9}.Select.is-disabled>.Select-control:hover{box-shadow:none}.Select.is-searchable.is-open>.Select-control{cursor:text}.Select.is-searchable.is-focused:not(.is-open)>.Select-control{cursor:text}.Select.is-open>.Select-control{border-bottom-right-radius:0;border-bottom-left-radius:0;background:#fff;border-color:#b3b3b3 #ccc #d9d9d9}.Select.is-open>.Select-control .Select-arrow{top:-2px;border-color:transparent transparent #999;border-width:0 5px 5px}.Select.is-focused>.Select-control{background:#fff}.Select.is-focused:not(.is-open)>.Select-control{border-color:#08c #0099e6 #0099e6;box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 0 5px -1px fade(#08c, 50%)}.Select.has-value.is-clearable.Select--single>.Select-control .Select-value{padding-right:42px}.Select.has-value.Select--single>.Select-control .Select-value .Select-value-label,.Select.has-value.is-pseudo-focused.Select--single>.Select-control .Select-value .Select-value-label{color:#333}.Select.has-value.Select--single>.Select-control .Select-value a.Select-value-label,.Select.has-value.is-pseudo-focused.Select--single>.Select-control .Select-value a.Select-value-label{cursor:pointer;text-decoration:none}.Select.has-value.Select--single>.Select-control .Select-value a.Select-value-label:hover,.Select.has-value.Select--single>.Select-control .Select-value a.Select-value-label:focus,.Select.has-value.is-pseudo-focused.Select--single>.Select-control .Select-value a.Select-value-label:hover,.Select.has-value.is-pseudo-focused.Select--single>.Select-control .Select-value a.Select-value-label:focus{color:#08c;outline:none;text-decoration:underline}.Select.has-value.Select--single>.Select-control .Select-value a.Select-value-label:focus,.Select.has-value.is-pseudo-focused.Select--single>.Select-control .Select-value a.Select-value-label:focus{background:#fff}.Select.has-value.is-pseudo-focused .Select-input{opacity:0}.Select.is-open .Select-arrow,.Select .Select-arrow-zone:hover>.Select-arrow{border-top-color:#666}.Select.Select--rtl{direction:rtl;text-align:right}.Select-control{background-color:#fff;border-color:#d9d9d9 #ccc #b3b3b3;border-radius:4px;border:1px solid #ccc;color:#333;cursor:default;display:table;border-spacing:0;border-collapse:separate;height:36px;outline:none;overflow:hidden;position:relative;width:100%}.Select-control:hover{box-shadow:0 1px 0 rgba(0,0,0,0.06)}.Select-control .Select-input:focus{outline:none;background:#fff}.Select-placeholder,.Select--single>.Select-control .Select-value{bottom:0;color:#aaa;left:0;line-height:34px;padding-left:10px;padding-right:10px;position:absolute;right:0;top:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Select-input{height:34px;padding-left:10px;padding-right:10px;vertical-align:middle}.Select-input>input{width:100%;background:none transparent;border:0 none;box-shadow:none;cursor:default;display:inline-block;font-family:inherit;font-size:inherit;margin:0;outline:none;line-height:17px;padding:8px 0 12px;-webkit-appearance:none}.is-focused .Select-input>input{cursor:text}.Select-control:not(.is-searchable)>.Select-input{outline:none}.Select-loading-zone{cursor:pointer;display:table-cell;position:relative;text-align:center;vertical-align:middle;width:16px}.Select-loading{-webkit-animation:Select-animation-spin 400ms infinite linear;-o-animation:Select-animation-spin 400ms infinite linear;animation:Select-animation-spin 400ms infinite linear;width:16px;height:16px;box-sizing:border-box;border-radius:50%;border:2px solid #ccc;border-right-color:#333;display:inline-block;position:relative;vertical-align:middle}.Select-clear-zone{-webkit-animation:Select-animation-fadeIn 200ms;-o-animation:Select-animation-fadeIn 200ms;animation:Select-animation-fadeIn 200ms;color:#999;cursor:pointer;display:table-cell;position:relative;text-align:center;vertical-align:middle;width:17px}.Select-clear-zone:hover{color:#D0021B}.Select-clear{display:inline-block;font-size:18px;line-height:1}.Select--multi .Select-clear-zone{width:17px}.Select--multi .Select-multi-value-wrapper{display:inline-block}.Select .Select-aria-only{position:absolute;display:inline-block;height:1px;width:1px;margin:-1px;clip:rect(0, 0, 0, 0);overflow:hidden;float:left}.Select-arrow-zone{cursor:pointer;display:table-cell;position:relative;text-align:center;vertical-align:middle;width:25px;padding-right:5px}.Select--rtl .Select-arrow-zone{padding-right:0;padding-left:5px}.Select-arrow{border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 2.5px;display:inline-block;height:0;width:0;position:relative}@-webkit-keyframes Select-animation-fadeIn{from{opacity:0}to{opacity:1}}@keyframes Select-animation-fadeIn{from{opacity:0}to{opacity:1}}.Select-menu-outer{border-bottom-right-radius:4px;border-bottom-left-radius:4px;background-color:#fff;border:1px solid #ccc;border-top-color:#e6e6e6;box-shadow:0 1px 0 rgba(0,0,0,0.06);box-sizing:border-box;margin-top:-1px;max-height:200px;position:absolute;left:0;top:100%;width:100%;z-index:1000;-webkit-overflow-scrolling:touch}.Select-menu{max-height:198px;overflow-y:auto}.Select-option{box-sizing:border-box;background-color:#fff;color:#666;cursor:pointer;display:block;padding:8px 10px}.Select-option:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.Select-option.is-selected{background-color:#f5faff;color:#333}.Select-option.is-focused{background-color:#f2f9fc;color:#333}.Select-option.is-disabled{color:#ccc;cursor:default}.Select-noresults{box-sizing:border-box;color:#999;cursor:default;display:block;padding:8px 10px}.Select--multi .Select-input{vertical-align:middle;margin-left:10px;padding:0}.Select--multi.Select--rtl .Select-input{margin-left:0;margin-right:10px}.Select--multi.has-value .Select-input{margin-left:5px}.Select--multi .Select-value{background-color:#f2f9fc;border-radius:2px;border:1px solid #c9e6f2;color:#08c;display:inline-block;font-size:.9em;margin-left:5px;margin-top:5px;vertical-align:top}.Select--multi .Select-value-icon,.Select--multi .Select-value-label{display:inline-block;vertical-align:middle}.Select--multi .Select-value-label{border-bottom-right-radius:2px;border-top-right-radius:2px;cursor:default;padding:2px 5px}.Select--multi a.Select-value-label{color:#08c;cursor:pointer;text-decoration:none}.Select--multi a.Select-value-label:hover{text-decoration:underline}.Select--multi .Select-value-icon{cursor:pointer;border-bottom-left-radius:2px;border-top-left-radius:2px;border-right:1px solid #c9e6f2;padding:1px 5px 3px}.Select--multi .Select-value-icon:hover,.Select--multi .Select-value-icon:focus{background-color:#ddeff7;color:#0077b3}.Select--multi .Select-value-icon:active{background-color:#c9e6f2}.Select--multi.Select--rtl .Select-value{margin-left:0;margin-right:5px}.Select--multi.Select--rtl .Select-value-icon{border-right:none;border-left:1px solid #c9e6f2}.Select--multi.is-disabled .Select-value{background-color:#fcfcfc;border:1px solid #e3e3e3;color:#333}.Select--multi.is-disabled .Select-value-icon{cursor:not-allowed;border-right:1px solid #e3e3e3}.Select--multi.is-disabled .Select-value-icon:hover,.Select--multi.is-disabled .Select-value-icon:focus,.Select--multi.is-disabled .Select-value-icon:active{background-color:#fcfcfc}@keyframes Select-animation-spin{to{transform:rotate(1turn)}}@-webkit-keyframes Select-animation-spin{to{-webkit-transform:rotate(1turn)}}
2
-
@@ -1,41 +0,0 @@
1
- .accordion{
2
- background: transparent;
3
-
4
- .accordion-title{
5
- font-size: $global-font-size;
6
- color: inherit;
7
- border: 0;
8
- border-radius: 0;
9
-
10
- span{
11
- cursor: move;
12
- }
13
-
14
- &:focus{
15
- background: transparent;
16
- }
17
-
18
- &:hover{
19
- background: $light-gray;
20
- }
21
- }
22
-
23
- .accordion-item{
24
- // Override Foundation
25
- &:first-child > :first-child,
26
- &:last-child:not(.is-active) > .accordion-title{
27
- border: 0;
28
- border-radius: 0;
29
- }
30
- }
31
-
32
- .accordion-content{
33
- background-color: $lighter-gray;
34
- border: 0;
35
-
36
- .tabs-title > a[aria-selected="true"],
37
- .tabs-content{
38
- background: transparent;
39
- }
40
- }
41
- }
@@ -1,3 +0,0 @@
1
- .dropdown .is-dropdown-submenu a{
2
- color: $secondary;
3
- }
@@ -1,5 +0,0 @@
1
- .sort-placeholder{
2
- border-top: 2px dashed $medium-gray;
3
- border-bottom: 2px dashed $medium-gray;
4
- background-color: $body-background;
5
- }
@@ -1,32 +0,0 @@
1
- .table-list__actions{
2
- .action-icon{
3
- &.action-icon--disabled{
4
- color: rgba($muted, .3);
5
- vertical-align: bottom;
6
- }
7
-
8
- &.action-icon--highlighted{
9
- color: $warning-color;
10
- vertical-align: bottom;
11
- }
12
-
13
- &.action-icon--success{
14
- color: $success-color;
15
- vertical-align: bottom;
16
- }
17
- }
18
-
19
- .action-space{
20
- display: inline-block;
21
-
22
- &:not(:last-child){
23
- margin-right: 1rem;
24
- }
25
- }
26
- }
27
-
28
- a.red-icon{
29
- svg{
30
- color: red;
31
- }
32
- }
@@ -1,5 +0,0 @@
1
- .new_user_block{
2
- .form-error{
3
- margin-top: 0;
4
- }
5
- }
@@ -1,24 +0,0 @@
1
- .card__filter{
2
- margin-bottom: 0;
3
-
4
- @include breakpoint(mediumlarge){
5
- float: right;
6
- }
7
- }
8
-
9
- form{
10
- .card{
11
- overflow: initial;
12
- }
13
- }
14
-
15
- // Newsletters index
16
- .subscribed_title{
17
- text-transform: none;
18
- letter-spacing: 0;
19
- }
20
-
21
- .subscribed_count{
22
- padding-right: 2em;
23
- font-weight: normal;
24
- }
@@ -1,5 +0,0 @@
1
- .extra__table-list__subcategory{
2
- td:first-child{
3
- padding-left: 20px;
4
- }
5
- }
@@ -1,47 +0,0 @@
1
- .dropdown-inverted{
2
- display: inline-block;
3
- vertical-align: middle;
4
- padding: 2px 10px 2px 2px;
5
- text-align: right;
6
-
7
- .dropdown > li > a{
8
- padding-left: 0;
9
- }
10
-
11
- .dropdown{
12
- display: inline-block;
13
- vertical-align: middle;
14
- }
15
-
16
- .is-dropdown-submenu{
17
- z-index: 2;
18
- text-align: left;
19
- background-color: $white !important;
20
- border: 1px solid $light-gray !important;
21
- box-shadow: 0 3px 5px rgba(0, 0, 0, .3);
22
- min-width: 100px;
23
-
24
- li:hover{
25
- background-color: darken($white, 5%) !important;
26
- }
27
-
28
- a{
29
- color: $body-font-color;
30
- padding: 16px;
31
- }
32
-
33
- a:hover{
34
- color: lighten($body-font-color, 20);
35
- }
36
- }
37
- }
38
-
39
- .dropdown-inverted.dropdown.menu{
40
- .is-active > a{
41
- color: $anchor-color;
42
- }
43
- }
44
-
45
- .dropdown-menu-inverted_label{
46
- vertical-align: middle;
47
- }
@@ -1 +0,0 @@
1
- @import "stylesheets/decidim/editor";
@@ -1,5 +0,0 @@
1
- .email-preview{
2
- border: 0;
3
- width: 100%;
4
- height: 70vh;
5
- }
@@ -1,3 +0,0 @@
1
- .label-required{
2
- margin-left: 5px;
3
- }