decidim-admin 0.27.8 → 0.28.0.rc4
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of decidim-admin might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/README.md +3 -3
- data/app/cells/decidim/admin/attachments_privacy_warning/show.erb +1 -1
- data/app/cells/decidim/admin/content_block/show.erb +11 -6
- data/app/cells/decidim/admin/content_block_cell.rb +21 -7
- data/app/cells/decidim/admin/homepage_content_block_cell.rb +19 -0
- data/app/cells/decidim/admin/results_per_page/show.erb +1 -1
- data/app/cells/decidim/admin/static_page_content_block_cell.rb +21 -0
- data/app/commands/decidim/admin/block_user.rb +15 -11
- data/app/commands/decidim/admin/close_session_managed_user.rb +1 -1
- data/app/commands/decidim/admin/content_blocks/create_content_block.rb +50 -0
- data/app/commands/decidim/admin/content_blocks/destroy_content_block.rb +36 -0
- data/app/commands/decidim/admin/content_blocks/reorder_content_blocks.rb +88 -0
- data/app/commands/decidim/admin/content_blocks/update_content_block.rb +81 -0
- data/app/commands/decidim/admin/create_area.rb +1 -1
- data/app/commands/decidim/admin/create_area_type.rb +1 -1
- data/app/commands/decidim/admin/create_attachment.rb +1 -1
- data/app/commands/decidim/admin/create_attachment_collection.rb +1 -1
- data/app/commands/decidim/admin/create_category.rb +1 -1
- data/app/commands/decidim/admin/create_newsletter.rb +1 -1
- data/app/commands/decidim/admin/create_participatory_space_private_user.rb +3 -3
- data/app/commands/decidim/admin/create_scope.rb +1 -1
- data/app/commands/decidim/admin/create_scope_type.rb +1 -1
- data/app/commands/decidim/admin/create_static_page.rb +1 -1
- data/app/commands/decidim/admin/create_static_page_topic.rb +1 -1
- data/app/commands/decidim/admin/destroy_area.rb +1 -1
- data/app/commands/decidim/admin/destroy_category.rb +2 -2
- data/app/commands/decidim/admin/destroy_participatory_space_private_user.rb +1 -1
- data/app/commands/decidim/admin/destroy_scope.rb +1 -1
- data/app/commands/decidim/admin/destroy_share_token.rb +1 -1
- data/app/commands/decidim/admin/destroy_static_page_topic.rb +1 -1
- data/app/commands/decidim/admin/hide_resource.rb +9 -35
- data/app/commands/decidim/admin/impersonate_user.rb +1 -1
- data/app/commands/decidim/admin/invite_admin.rb +1 -1
- data/app/commands/decidim/admin/participatory_space/create_admin.rb +132 -0
- data/app/commands/decidim/admin/participatory_space/destroy_admin.rb +61 -0
- data/app/commands/decidim/admin/participatory_space/publish.rb +41 -0
- data/app/commands/decidim/admin/participatory_space/unpublish.rb +41 -0
- data/app/commands/decidim/admin/participatory_space/update_admin.rb +72 -0
- data/app/commands/decidim/admin/process_participatory_space_private_user_import_csv.rb +4 -6
- data/app/commands/decidim/admin/process_user_group_verification_csv.rb +4 -7
- data/app/commands/decidim/admin/promote_managed_user.rb +1 -1
- data/app/commands/decidim/admin/reject_user_group.rb +1 -1
- data/app/commands/decidim/admin/update_area.rb +1 -1
- data/app/commands/decidim/admin/update_area_type.rb +1 -1
- data/app/commands/decidim/admin/update_attachment.rb +1 -1
- data/app/commands/decidim/admin/update_attachment_collection.rb +1 -1
- data/app/commands/decidim/admin/update_category.rb +1 -1
- data/app/commands/decidim/admin/update_component_permissions.rb +2 -2
- data/app/commands/decidim/admin/update_newsletter.rb +1 -1
- data/app/commands/decidim/admin/update_organization.rb +2 -2
- data/app/commands/decidim/admin/update_organization_appearance.rb +5 -7
- data/app/commands/decidim/admin/update_organization_tos_version.rb +3 -3
- data/app/commands/decidim/admin/update_resource_permissions.rb +1 -1
- data/app/commands/decidim/admin/update_scope.rb +1 -1
- data/app/commands/decidim/admin/update_scope_type.rb +1 -1
- data/app/commands/decidim/admin/update_static_page.rb +1 -1
- data/app/commands/decidim/admin/update_static_page_topic.rb +1 -1
- data/app/commands/decidim/admin/update_user_groups.rb +1 -1
- data/app/controllers/concerns/decidim/admin/content_blocks/landing_page.rb +130 -0
- data/app/controllers/concerns/decidim/admin/content_blocks/landing_page_content_blocks.rb +158 -0
- data/app/controllers/concerns/decidim/admin/filterable.rb +3 -3
- data/app/controllers/concerns/decidim/admin/global_moderation_context.rb +1 -20
- data/app/controllers/concerns/decidim/admin/logs/filterable.rb +31 -0
- data/app/controllers/concerns/decidim/admin/participatory_space_admin_breadcrumb.rb +38 -0
- data/app/controllers/concerns/decidim/admin/participatory_space_admin_context.rb +3 -2
- data/app/controllers/decidim/admin/admin_terms_controller.rb +3 -3
- data/app/controllers/decidim/admin/application_controller.rb +6 -2
- data/app/controllers/decidim/admin/area_types_controller.rb +10 -3
- data/app/controllers/decidim/admin/areas_controller.rb +10 -3
- data/app/controllers/decidim/admin/authorization_workflows_controller.rb +1 -3
- data/app/controllers/decidim/admin/block_user_controller.rb +4 -3
- data/app/controllers/decidim/admin/categories_controller.rb +20 -12
- data/app/controllers/decidim/admin/component_permissions_controller.rb +2 -2
- data/app/controllers/decidim/admin/components/base_controller.rb +16 -1
- data/app/controllers/decidim/admin/components_controller.rb +13 -1
- data/app/controllers/decidim/admin/concerns/has_attachment_collections.rb +4 -10
- data/app/controllers/decidim/admin/concerns/has_attachments.rb +10 -16
- data/app/controllers/decidim/admin/concerns/has_breadcrumb_items.rb +27 -0
- data/app/controllers/decidim/admin/concerns/has_content_blocks.rb +23 -0
- data/app/controllers/decidim/admin/concerns/has_private_users.rb +4 -4
- data/app/controllers/decidim/admin/concerns/has_private_users_csv_import.rb +2 -2
- data/app/controllers/decidim/admin/concerns/has_tabbed_menu.rb +21 -0
- data/app/controllers/decidim/admin/conflicts_controller.rb +3 -9
- data/app/controllers/decidim/admin/dashboard_controller.rb +8 -3
- data/app/controllers/decidim/admin/exports_controller.rb +21 -4
- data/app/controllers/decidim/admin/help_sections_controller.rb +3 -1
- data/app/controllers/decidim/admin/impersonatable_users_controller.rb +3 -1
- data/app/controllers/decidim/admin/impersonations_controller.rb +8 -9
- data/app/controllers/decidim/admin/imports_controller.rb +24 -6
- data/app/controllers/decidim/admin/logs_controller.rb +20 -8
- data/app/controllers/decidim/admin/managed_users/impersonation_logs_controller.rb +1 -3
- data/app/controllers/decidim/admin/managed_users/promotions_controller.rb +2 -2
- data/app/controllers/decidim/admin/metrics_controller.rb +1 -1
- data/app/controllers/decidim/admin/moderated_users_controller.rb +7 -4
- data/app/controllers/decidim/admin/newsletters_controller.rb +16 -7
- data/app/controllers/decidim/admin/officializations_controller.rb +3 -3
- data/app/controllers/decidim/admin/organization_appearance_controller.rb +3 -0
- data/app/controllers/decidim/admin/organization_controller.rb +6 -7
- data/app/controllers/decidim/admin/organization_external_domain_whitelist_controller.rb +2 -0
- data/app/controllers/decidim/admin/organization_homepage_content_blocks_controller.rb +12 -41
- data/app/controllers/decidim/admin/organization_homepage_controller.rb +15 -33
- data/app/controllers/decidim/admin/participatory_space/user_role_controller.rb +119 -0
- data/app/controllers/decidim/admin/reminders_controller.rb +1 -1
- data/app/controllers/decidim/admin/resource_permissions_controller.rb +1 -1
- data/app/controllers/decidim/admin/scope_types_controller.rb +10 -3
- data/app/controllers/decidim/admin/scopes_controller.rb +10 -3
- data/app/controllers/decidim/admin/share_tokens_controller.rb +1 -1
- data/app/controllers/decidim/admin/space_publications_controller.rb +53 -0
- data/app/controllers/decidim/admin/static_page_content_blocks_controller.rb +40 -0
- data/app/controllers/decidim/admin/static_page_topics_controller.rb +18 -7
- data/app/controllers/decidim/admin/static_pages_controller.rb +33 -6
- data/app/controllers/decidim/admin/users_controller.rb +2 -2
- data/app/events/decidim/attachment_created_event.rb +1 -1
- data/app/events/decidim/component_published_event.rb +1 -12
- data/app/events/decidim/resource_hidden_event.rb +2 -6
- data/app/forms/decidim/admin/area_form.rb +1 -1
- data/app/forms/decidim/admin/block_user_form.rb +1 -0
- data/app/forms/decidim/admin/category_form.rb +1 -1
- data/app/forms/decidim/admin/managed_user_promotion_form.rb +1 -1
- data/app/forms/decidim/admin/organization_appearance_form.rb +7 -12
- data/app/forms/decidim/admin/organization_form.rb +2 -2
- data/app/forms/decidim/admin/participatory_space_admin_user_form.rb +16 -0
- data/app/forms/decidim/admin/participatory_space_private_user_csv_import_form.rb +3 -5
- data/app/forms/decidim/admin/scope_form.rb +1 -1
- data/app/forms/decidim/admin/selective_newsletter_form.rb +1 -1
- data/app/forms/decidim/admin/static_page_form.rb +3 -3
- data/app/helpers/decidim/admin/admin_terms_helper.rb +10 -10
- data/app/helpers/decidim/admin/application_helper.rb +1 -14
- data/app/helpers/decidim/admin/attributes_display_helper.rb +1 -1
- data/app/helpers/decidim/admin/bulk_actions_helper.rb +2 -2
- data/app/helpers/decidim/admin/dashboard_helper.rb +3 -3
- data/app/helpers/decidim/admin/exports_helper.rb +26 -2
- data/app/helpers/decidim/admin/filterable_helper.rb +2 -2
- data/app/helpers/decidim/admin/icon_link_helper.rb +12 -11
- data/app/helpers/decidim/admin/icon_with_tooltip_helper.rb +22 -0
- data/app/helpers/decidim/admin/imports_helper.rb +1 -1
- data/app/helpers/decidim/admin/logs_helper.rb +18 -0
- data/app/helpers/decidim/admin/menu_helper.rb +61 -1
- data/app/helpers/decidim/admin/moderations/reports_helper.rb +3 -2
- data/app/helpers/decidim/admin/newsletters_helper.rb +4 -4
- data/app/helpers/decidim/admin/paginable/per_page_helper.rb +1 -1
- data/app/helpers/decidim/admin/resource_permissions_helper.rb +2 -2
- data/app/helpers/decidim/admin/search_form_helper.rb +19 -0
- data/app/helpers/decidim/admin/settings_helper.rb +9 -8
- data/app/jobs/decidim/admin/application_job.rb +1 -1
- data/app/jobs/decidim/admin/expire_impersonation_job.rb +1 -1
- data/app/jobs/decidim/admin/import_participatory_space_private_user_csv_job.rb +2 -2
- data/app/jobs/decidim/admin/newsletter_job.rb +1 -1
- data/app/mailers/decidim/admin/application_mailer.rb +12 -0
- data/app/packs/entrypoints/decidim_admin.js +2 -23
- data/app/packs/entrypoints/decidim_admin.scss +1 -1
- data/app/packs/src/decidim/admin/application.js +0 -12
- data/app/packs/src/decidim/admin/officializations.js +21 -3
- data/app/packs/src/decidim/admin/participatory_space_search.js +268 -0
- data/app/packs/src/decidim/admin/scope_picker_enabler.component.js +2 -2
- data/app/packs/src/decidim/admin/sortable.js +0 -2
- data/app/packs/src/decidim/admin/tab_focus.js +3 -3
- data/app/packs/src/decidim/admin/toggle_nav.js +1 -1
- data/app/packs/src/decidim/admin/triadic_color_picker.js +128 -0
- data/app/packs/stylesheets/decidim/admin/_bulk_actions.scss +16 -0
- data/app/packs/stylesheets/decidim/admin/_cards.scss +171 -0
- data/app/packs/stylesheets/decidim/admin/_color_picker.scss +61 -0
- data/app/packs/stylesheets/decidim/admin/_component-show.scss +95 -0
- data/app/packs/stylesheets/decidim/admin/_data_picker.scss +55 -0
- data/app/packs/stylesheets/decidim/admin/_dropdown.scss +35 -0
- data/app/packs/stylesheets/decidim/admin/_filters.scss +94 -0
- data/app/packs/stylesheets/decidim/admin/_forms.scss +81 -0
- data/app/packs/stylesheets/decidim/admin/_item_edit.scss +122 -0
- data/app/packs/stylesheets/decidim/admin/_item_show.scss +69 -0
- data/app/packs/stylesheets/decidim/admin/_layout.scss +79 -0
- data/app/packs/stylesheets/decidim/admin/_legacy_foundation.scss +482 -0
- data/app/packs/stylesheets/decidim/admin/_logs.scss +80 -0
- data/app/packs/stylesheets/decidim/admin/_main-nav.scss +93 -0
- data/app/packs/stylesheets/decidim/admin/_minimap.scss +59 -0
- data/app/packs/stylesheets/decidim/admin/_moderations.scss +36 -0
- data/app/packs/stylesheets/decidim/admin/_secondary-nav.scss +111 -0
- data/app/packs/stylesheets/decidim/admin/_show_email.scss +19 -0
- data/app/packs/stylesheets/decidim/admin/_sidebar-menu.scss +66 -0
- data/app/packs/stylesheets/decidim/admin/_table-list.scss +155 -0
- data/app/packs/stylesheets/decidim/admin/_tabs.scss +74 -0
- data/app/packs/stylesheets/decidim/admin/_title-bar.scss +62 -0
- data/app/packs/stylesheets/decidim/admin/_user-login.scss +9 -0
- data/app/packs/stylesheets/decidim/admin/application.scss +37 -21
- data/app/permissions/decidim/admin/permissions.rb +2 -2
- data/app/presenters/decidim/admin/aside_menu_presenter.rb +25 -0
- data/app/presenters/decidim/admin/dashboard_metric_charts_presenter.rb +0 -26
- data/app/presenters/decidim/admin/secondary_menu_presenter.rb +5 -9
- data/app/presenters/decidim/admin/simple_menu_presenter.rb +2 -2
- data/app/queries/decidim/admin/active_users_counter.rb +1 -1
- data/app/queries/decidim/admin/invites.rb +58 -0
- data/app/queries/decidim/admin/moderation_stats.rb +53 -0
- data/app/views/decidim/admin/admin_terms/show.html.erb +15 -10
- data/app/views/decidim/admin/area_types/_form.html.erb +11 -6
- data/app/views/decidim/admin/area_types/edit.html.erb +14 -12
- data/app/views/decidim/admin/area_types/index.html.erb +35 -33
- data/app/views/decidim/admin/area_types/new.html.erb +14 -12
- data/app/views/decidim/admin/areas/_form.html.erb +12 -8
- data/app/views/decidim/admin/areas/edit.html.erb +14 -12
- data/app/views/decidim/admin/areas/index.html.erb +40 -38
- data/app/views/decidim/admin/areas/new.html.erb +14 -12
- data/app/views/decidim/admin/attachment_collections/_form.html.erb +12 -14
- data/app/views/decidim/admin/attachment_collections/edit.html.erb +17 -5
- data/app/views/decidim/admin/attachment_collections/index.html.erb +35 -40
- data/app/views/decidim/admin/attachment_collections/new.html.erb +16 -5
- data/app/views/decidim/admin/attachments/_form.html.erb +18 -22
- data/app/views/decidim/admin/attachments/edit.html.erb +17 -5
- data/app/views/decidim/admin/attachments/index.html.erb +45 -48
- data/app/views/decidim/admin/attachments/new.html.erb +16 -5
- data/app/views/decidim/admin/authorization_workflows/index.html.erb +7 -0
- data/app/views/decidim/admin/block_user/new.html.erb +39 -18
- data/app/views/decidim/admin/categories/_form.html.erb +13 -15
- data/app/views/decidim/admin/categories/edit.html.erb +16 -5
- data/app/views/decidim/admin/categories/index.html.erb +44 -55
- data/app/views/decidim/admin/categories/new.html.erb +16 -5
- data/app/views/decidim/admin/components/_actions.html.erb +17 -16
- data/app/views/decidim/admin/components/_component.html.erb +5 -3
- data/app/views/decidim/admin/components/_form.html.erb +87 -47
- data/app/views/decidim/admin/components/_resource_action.html.erb +9 -0
- data/app/views/decidim/admin/components/_settings_fields.html.erb +11 -8
- data/app/views/decidim/admin/components/edit.html.erb +16 -5
- data/app/views/decidim/admin/components/index.html.erb +23 -18
- data/app/views/decidim/admin/components/new.html.erb +16 -5
- data/app/views/decidim/admin/conflicts/edit.html.erb +24 -26
- data/app/views/decidim/admin/conflicts/index.html.erb +23 -26
- data/app/views/decidim/admin/dashboard/_pending_moderations.html.erb +12 -0
- data/app/views/decidim/admin/dashboard/show.html.erb +26 -20
- data/app/views/decidim/admin/devise/mailers/password_change.html.erb +1 -1
- data/app/views/decidim/admin/devise/mailers/reset_password_instructions.html.erb +2 -2
- data/app/views/decidim/admin/exports/_dropdown.html.erb +11 -4
- data/app/views/decidim/admin/help_sections/_form.html.erb +34 -18
- data/app/views/decidim/admin/impersonatable_users/index.html.erb +46 -53
- data/app/views/decidim/admin/impersonations/_form.html.erb +53 -35
- data/app/views/decidim/admin/impersonations/new.html.erb +21 -19
- data/app/views/decidim/admin/imports/_dropdown.html.erb +5 -2
- data/app/views/decidim/admin/imports/new.html.erb +54 -43
- data/app/views/decidim/admin/logs/_filters.html.erb +37 -0
- data/app/views/decidim/admin/logs/_logs_list.html.erb +4 -3
- data/app/views/decidim/admin/logs/index.html.erb +3 -6
- data/app/views/decidim/admin/managed_users/impersonation_logs/index.html.erb +27 -28
- data/app/views/decidim/admin/managed_users/promotions/_form.html.erb +8 -2
- data/app/views/decidim/admin/managed_users/promotions/new.html.erb +17 -15
- data/app/views/decidim/admin/metrics/_metrics.html.erb +1 -6
- data/app/views/decidim/admin/metrics/index.html.erb +1 -1
- data/app/views/decidim/admin/moderated_users/_report.html.erb +1 -5
- data/app/views/decidim/admin/moderated_users/index.html.erb +58 -75
- data/app/views/decidim/admin/moderations/index.html.erb +91 -101
- data/app/views/decidim/admin/moderations/reports/index.html.erb +91 -92
- data/app/views/decidim/admin/moderations/reports/show.html.erb +51 -49
- data/app/views/decidim/admin/newsletter_templates/index.html.erb +12 -11
- data/app/views/decidim/admin/newsletter_templates/show.html.erb +8 -6
- data/app/views/decidim/admin/newsletters/_form.html.erb +10 -4
- data/app/views/decidim/admin/newsletters/edit.html.erb +21 -12
- data/app/views/decidim/admin/newsletters/index.html.erb +57 -57
- data/app/views/decidim/admin/newsletters/new.html.erb +20 -12
- data/app/views/decidim/admin/newsletters/select_recipients_to_deliver.html.erb +53 -55
- data/app/views/decidim/admin/newsletters/show.html.erb +24 -17
- data/app/views/decidim/admin/officializations/_show_email_modal.html.erb +20 -21
- data/app/views/decidim/admin/officializations/index.html.erb +55 -62
- data/app/views/decidim/admin/officializations/new.html.erb +24 -16
- data/app/views/decidim/admin/officializations/show_email.html.erb +0 -1
- data/app/views/decidim/admin/organization/_form.html.erb +76 -90
- data/app/views/decidim/admin/organization/edit.html.erb +19 -11
- data/app/views/decidim/admin/organization_appearance/_form.html.erb +72 -57
- data/app/views/decidim/admin/organization_appearance/edit.html.erb +17 -6
- data/app/views/decidim/admin/organization_appearance/form/_colors.html.erb +63 -24
- data/app/views/decidim/admin/organization_appearance/form/_header_snippets.html.erb +17 -0
- data/app/views/decidim/admin/organization_appearance/form/_images.html.erb +39 -40
- data/app/views/decidim/admin/organization_appearance/form/_minimap.html.erb +5 -14
- data/app/views/decidim/admin/organization_external_domain_whitelist/_external_domain.html.erb +18 -13
- data/app/views/decidim/admin/organization_external_domain_whitelist/_form.html.erb +8 -10
- data/app/views/decidim/admin/organization_external_domain_whitelist/edit.html.erb +17 -6
- data/app/views/decidim/admin/participatory_space_private_users/_form.html.erb +10 -14
- data/app/views/decidim/admin/participatory_space_private_users/index.html.erb +59 -60
- data/app/views/decidim/admin/participatory_space_private_users/new.html.erb +17 -5
- data/app/views/decidim/admin/participatory_space_private_users_csv_imports/new.html.erb +28 -11
- data/app/views/decidim/admin/reminders/new.html.erb +18 -16
- data/app/views/decidim/admin/resource_permissions/edit.html.erb +46 -47
- data/app/views/decidim/admin/scope_types/_form.html.erb +9 -6
- data/app/views/decidim/admin/scope_types/edit.html.erb +17 -11
- data/app/views/decidim/admin/scope_types/index.html.erb +40 -34
- data/app/views/decidim/admin/scope_types/new.html.erb +17 -11
- data/app/views/decidim/admin/scopes/_form.html.erb +11 -9
- data/app/views/decidim/admin/scopes/edit.html.erb +17 -11
- data/app/views/decidim/admin/scopes/index.html.erb +39 -41
- data/app/views/decidim/admin/scopes/new.html.erb +17 -11
- data/app/views/decidim/admin/share_tokens/_share_tokens.html.erb +3 -15
- data/app/views/decidim/admin/shared/_admin_confirm_modal.html.erb +18 -0
- data/app/views/decidim/admin/shared/_filters.html.erb +6 -10
- data/app/views/decidim/admin/shared/_gallery.html.erb +8 -19
- data/app/views/decidim/admin/shared/_js-callout.html.erb +4 -2
- data/app/views/decidim/admin/shared/landing_page/_content_blocks.html.erb +68 -0
- data/app/views/decidim/admin/shared/landing_page/edit.html.erb +1 -47
- data/app/views/decidim/admin/shared/landing_page_content_blocks/edit.html.erb +24 -14
- data/app/views/decidim/admin/static_page_topics/_form.html.erb +2 -2
- data/app/views/decidim/admin/static_page_topics/edit.html.erb +21 -11
- data/app/views/decidim/admin/static_page_topics/index.html.erb +41 -0
- data/app/views/decidim/admin/static_page_topics/new.html.erb +21 -11
- data/app/views/decidim/admin/static_pages/_form.html.erb +41 -26
- data/app/views/decidim/admin/static_pages/_form_notable_changes.html.erb +2 -3
- data/app/views/decidim/admin/static_pages/_topic.html.erb +40 -44
- data/app/views/decidim/admin/static_pages/edit.html.erb +22 -12
- data/app/views/decidim/admin/static_pages/index.html.erb +14 -2
- data/app/views/decidim/admin/static_pages/new.html.erb +15 -11
- data/app/views/decidim/admin/user_groups/index.html.erb +58 -58
- data/app/views/decidim/admin/user_groups_csv_verifications/new.html.erb +28 -17
- data/app/views/decidim/admin/users/_form.html.erb +14 -8
- data/app/views/decidim/admin/users/index.html.erb +52 -54
- data/app/views/decidim/admin/users/new.html.erb +15 -12
- data/app/views/layouts/decidim/admin/_admin_timeout_modal.html.erb +24 -0
- data/app/views/layouts/decidim/admin/_application.html.erb +50 -12
- data/app/views/layouts/decidim/admin/_breadcrumb.html.erb +26 -0
- data/app/views/layouts/decidim/admin/_callouts_full.html.erb +2 -13
- data/app/views/layouts/decidim/admin/_header.html.erb +2 -6
- data/app/views/layouts/decidim/admin/_js_configuration.html.erb +3 -6
- data/app/views/layouts/decidim/admin/_sidebar_menu.html.erb +24 -0
- data/app/views/layouts/decidim/admin/_title_bar.html.erb +36 -37
- data/app/views/layouts/decidim/admin/_title_bar_responsive.html.erb +46 -0
- data/app/views/layouts/decidim/admin/global_moderations.html.erb +1 -3
- data/app/views/layouts/decidim/admin/newsletters.erb +0 -11
- data/app/views/layouts/decidim/admin/settings.html.erb +2 -3
- data/app/views/layouts/decidim/admin/users.html.erb +1 -3
- data/config/locales/ar-SA.yml +0 -3
- data/config/locales/ar.yml +9 -83
- data/config/locales/bg.yml +3 -990
- data/config/locales/ca.yml +119 -87
- data/config/locales/cs-CZ.yml +0 -3
- data/config/locales/cs.yml +120 -86
- data/config/locales/de.yml +123 -91
- data/config/locales/el.yml +90 -78
- data/config/locales/en.yml +123 -91
- data/config/locales/eo.yml +0 -2
- data/config/locales/es-MX.yml +121 -89
- data/config/locales/es-PY.yml +121 -89
- data/config/locales/es.yml +122 -90
- data/config/locales/eu.yml +126 -94
- data/config/locales/fi-pl.yml +0 -3
- data/config/locales/fi-plain.yml +112 -80
- data/config/locales/fi.yml +113 -81
- data/config/locales/fr-CA.yml +119 -87
- data/config/locales/fr-LU.yml +0 -3
- data/config/locales/fr.yml +119 -87
- data/config/locales/ga-IE.yml +4 -12
- data/config/locales/gl.yml +7 -99
- data/config/locales/hu.yml +93 -98
- data/config/locales/id-ID.yml +0 -64
- data/config/locales/is-IS.yml +0 -53
- data/config/locales/it.yml +9 -103
- data/config/locales/ja.yml +117 -88
- data/config/locales/kaa.yml +6 -13
- data/config/locales/ko.yml +0 -720
- data/config/locales/lb-LU.yml +0 -3
- data/config/locales/lb.yml +9 -104
- data/config/locales/lt.yml +90 -72
- data/config/locales/lv.yml +0 -79
- data/config/locales/nl.yml +14 -109
- data/config/locales/no.yml +8 -115
- data/config/locales/pl.yml +7 -158
- data/config/locales/pt-BR.yml +87 -106
- data/config/locales/pt.yml +9 -104
- data/config/locales/ro-RO.yml +84 -80
- data/config/locales/ru.yml +0 -55
- data/config/locales/sk-SK.yml +3 -6
- data/config/locales/sk.yml +0 -76
- data/config/locales/sl.yml +0 -8
- data/config/locales/sq-AL.yml +4 -486
- data/config/locales/sr-CS.yml +0 -60
- data/config/locales/sv.yml +30 -108
- data/config/locales/th-TH.yml +0 -100
- data/config/locales/tr-TR.yml +1 -89
- data/config/locales/uk.yml +0 -48
- data/config/locales/zh-CN.yml +0 -79
- data/config/locales/zh-TW.yml +74 -72
- data/config/routes.rb +12 -4
- data/lib/decidim/admin/components.rb +1 -1
- data/lib/decidim/admin/custom_import.rb +29 -0
- data/lib/decidim/admin/engine.rb +54 -216
- data/lib/decidim/admin/import/importer.rb +3 -3
- data/lib/decidim/admin/import/importer_factory.rb +1 -1
- data/lib/decidim/admin/import/readers/base.rb +1 -1
- data/lib/decidim/admin/import/readers/csv.rb +2 -2
- data/lib/decidim/admin/import/verifier.rb +4 -4
- data/lib/decidim/admin/menu.rb +281 -0
- data/lib/decidim/admin/search_form_builder.rb +39 -0
- data/lib/decidim/admin/test/admin_participatory_space_access_examples.rb +3 -2
- data/lib/decidim/admin/test/commands/create_attachment_collection_examples.rb +3 -3
- data/lib/decidim/admin/test/commands/create_category_examples.rb +2 -2
- data/lib/decidim/admin/test/commands/destroy_category_examples.rb +4 -13
- data/lib/decidim/admin/test/commands/publish_participatory_space_examples.rb +102 -0
- data/lib/decidim/admin/test/commands/update_attachment_collection_examples.rb +4 -4
- data/lib/decidim/admin/test/commands/update_category_examples.rb +3 -3
- data/lib/decidim/admin/test/destroy_admin_examples.rb +39 -0
- data/lib/decidim/admin/test/filterable_examples.rb +8 -8
- data/lib/decidim/admin/test/filters_participatory_space_user_roles_examples.rb +12 -43
- data/lib/decidim/admin/test/filters_participatory_space_users_examples.rb +34 -43
- data/lib/decidim/admin/test/forms/attachment_collection_form_examples.rb +1 -1
- data/lib/decidim/admin/test/forms/attachment_form_examples.rb +1 -1
- data/lib/decidim/admin/test/forms/category_form_examples.rb +1 -1
- data/lib/decidim/admin/test/manage_attachment_collections_examples.rb +21 -22
- data/lib/decidim/admin/test/manage_attachments_examples.rb +12 -12
- data/lib/decidim/admin/test/manage_categories_examples.rb +16 -19
- data/lib/decidim/admin/test/manage_component_permissions_examples.rb +24 -24
- data/lib/decidim/admin/test/manage_hide_content_examples.rb +59 -0
- data/lib/decidim/admin/test/manage_moderations_examples.rb +39 -21
- data/lib/decidim/admin/test/manage_paginated_collection_examples.rb +2 -2
- data/lib/decidim/admin/test/manage_participatory_space_publications_examples.rb +54 -0
- data/lib/decidim/admin/test/needs_admin_tos_accepted_examples.rb +1 -1
- data/lib/decidim/admin/test.rb +4 -0
- data/lib/decidim/admin/version.rb +1 -1
- data/lib/decidim/admin.rb +2 -0
- metadata +92 -117
- data/app/commands/decidim/admin/create_participatory_space_admin_user_actions.rb +0 -94
- data/app/commands/decidim/admin/reorder_content_blocks.rb +0 -100
- data/app/commands/decidim/admin/update_content_block.rb +0 -79
- data/app/controllers/concerns/decidim/admin/landing_page.rb +0 -105
- data/app/controllers/concerns/decidim/admin/landing_page_content_blocks.rb +0 -118
- data/app/packs/images/decidim/admin/.keep +0 -0
- data/app/packs/stylesheets/decidim/admin/_decidim.scss +0 -23
- data/app/packs/stylesheets/decidim/admin/_variables.scss +0 -18
- data/app/packs/stylesheets/decidim/admin/bundle.scss +0 -2
- data/app/packs/stylesheets/decidim/admin/components/_accordion.scss +0 -41
- data/app/packs/stylesheets/decidim/admin/components/_dropdown-menu.scss +0 -3
- data/app/packs/stylesheets/decidim/admin/components/_sortable.scss +0 -5
- data/app/packs/stylesheets/decidim/admin/extra/_action-icon.scss +0 -32
- data/app/packs/stylesheets/decidim/admin/extra/_block_user.scss +0 -5
- data/app/packs/stylesheets/decidim/admin/extra/_cards.scss +0 -24
- data/app/packs/stylesheets/decidim/admin/extra/_categories.scss +0 -5
- data/app/packs/stylesheets/decidim/admin/extra/_dropdown_inverted.scss +0 -47
- data/app/packs/stylesheets/decidim/admin/extra/_editor.scss +0 -1
- data/app/packs/stylesheets/decidim/admin/extra/_email_preview.scss +0 -5
- data/app/packs/stylesheets/decidim/admin/extra/_label-required.scss +0 -3
- data/app/packs/stylesheets/decidim/admin/extra/_login.scss +0 -37
- data/app/packs/stylesheets/decidim/admin/extra/_logs.scss +0 -122
- data/app/packs/stylesheets/decidim/admin/extra/_newsletter-templates-gallery.scss +0 -3
- data/app/packs/stylesheets/decidim/admin/extra/_organization-appearance.scss +0 -141
- data/app/packs/stylesheets/decidim/admin/extra/_quill.scss +0 -12
- data/app/packs/stylesheets/decidim/admin/extra/_select_multiple.scss +0 -3
- data/app/packs/stylesheets/decidim/admin/extra/_show_email.scss +0 -31
- data/app/packs/stylesheets/decidim/admin/extra/_sort.scss +0 -13
- data/app/packs/stylesheets/decidim/admin/extra/_title_bar.scss +0 -80
- data/app/packs/stylesheets/decidim/admin/modules/_action-icon.scss +0 -30
- data/app/packs/stylesheets/decidim/admin/modules/_agenda.scss +0 -34
- data/app/packs/stylesheets/decidim/admin/modules/_autocomplete.scss +0 -5
- data/app/packs/stylesheets/decidim/admin/modules/_buttons.scss +0 -86
- data/app/packs/stylesheets/decidim/admin/modules/_callouts.scss +0 -45
- data/app/packs/stylesheets/decidim/admin/modules/_card-grid.scss +0 -25
- data/app/packs/stylesheets/decidim/admin/modules/_cards.scss +0 -126
- data/app/packs/stylesheets/decidim/admin/modules/_char-counter.scss +0 -22
- data/app/packs/stylesheets/decidim/admin/modules/_component-counter.scss +0 -26
- data/app/packs/stylesheets/decidim/admin/modules/_draggable-list.scss +0 -27
- data/app/packs/stylesheets/decidim/admin/modules/_dropdown.scss +0 -20
- data/app/packs/stylesheets/decidim/admin/modules/_filters.scss +0 -83
- data/app/packs/stylesheets/decidim/admin/modules/_forms.scss +0 -164
- data/app/packs/stylesheets/decidim/admin/modules/_icons.scss +0 -68
- data/app/packs/stylesheets/decidim/admin/modules/_layout.scss +0 -75
- data/app/packs/stylesheets/decidim/admin/modules/_loading-spinner.scss +0 -19
- data/app/packs/stylesheets/decidim/admin/modules/_main-nav.scss +0 -45
- data/app/packs/stylesheets/decidim/admin/modules/_moderations.scss +0 -39
- data/app/packs/stylesheets/decidim/admin/modules/_modules.scss +0 -44
- data/app/packs/stylesheets/decidim/admin/modules/_pics.scss +0 -5
- data/app/packs/stylesheets/decidim/admin/modules/_process-header.scss +0 -13
- data/app/packs/stylesheets/decidim/admin/modules/_reveal.scss +0 -5
- data/app/packs/stylesheets/decidim/admin/modules/_secondary-nav.scss +0 -114
- data/app/packs/stylesheets/decidim/admin/modules/_table-list.scss +0 -146
- data/app/packs/stylesheets/decidim/admin/modules/_tabs.scss +0 -63
- data/app/packs/stylesheets/decidim/admin/modules/_title-bar.scss +0 -35
- data/app/packs/stylesheets/decidim/admin/modules/_typography.scss +0 -27
- data/app/packs/stylesheets/decidim/admin/modules/_upload_modal.scss +0 -42
- data/app/packs/stylesheets/decidim/admin/modules/_user-login.scss +0 -25
- data/app/packs/stylesheets/decidim/admin/modules/_users_statistics.scss +0 -18
- data/app/packs/stylesheets/decidim/admin/plugins/_foundation-datepicker.scss +0 -224
- data/app/packs/stylesheets/decidim/admin/plugins/jquery.auto-complete.css +0 -9
- data/app/packs/stylesheets/decidim/admin/user_moderations.scss +0 -3
- data/app/packs/stylesheets/decidim/admin/utils/_flex.scss +0 -60
- data/app/packs/stylesheets/decidim/admin/utils/_helpers.scss +0 -53
- data/app/packs/stylesheets/decidim/admin/utils/_keyframes.scss +0 -21
- data/app/packs/stylesheets/decidim/admin/utils/_mixins.scss +0 -151
- data/app/packs/stylesheets/decidim/admin/utils/_settings.scss +0 -882
- data/app/packs/stylesheets/decidim/admin/utils/_toggle-expand.scss +0 -9
- data/app/packs/stylesheets/decidim/admin/vendor/mathsass/_constants.scss +0 -5
- data/app/packs/stylesheets/decidim/admin/vendor/mathsass/_math.scss +0 -45
- data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_acos.scss +0 -14
- data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_asin.scss +0 -16
- data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_atan.scss +0 -36
- data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_atan2.scss +0 -46
- data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_cos.scss +0 -17
- data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_cot.scss +0 -12
- data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_csc.scss +0 -12
- data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_exp.scss +0 -16
- data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_fact.scss +0 -21
- data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_frexp.scss +0 -25
- data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_ldexp.scss +0 -20
- data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_log.scss +0 -39
- data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_pow.scss +0 -34
- data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_sec.scss +0 -12
- data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_sin.scss +0 -10
- data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_sqrt.scss +0 -21
- data/app/packs/stylesheets/decidim/admin/vendor/mathsass/functions/_tan.scss +0 -12
- data/app/packs/stylesheets/decidim/admin/vendor/mathsass/helpers/_deg-to-rad.scss +0 -6
- data/app/packs/stylesheets/decidim/admin/vendor/mathsass/helpers/_rad-to-deg.scss +0 -6
- data/app/packs/stylesheets/decidim/admin/vendor/mathsass/helpers/_strip-unit.scss +0 -11
- data/app/packs/stylesheets/decidim/admin/vendor/mathsass/helpers/_unitless-rad.scss +0 -19
- data/app/views/decidim/admin/attachment_collections/show.html.erb +0 -13
- data/app/views/decidim/admin/attachments/show.html.erb +0 -24
- data/app/views/decidim/admin/categories/show.html.erb +0 -12
- data/app/views/decidim/admin/organization_homepage/edit.html.erb +0 -43
- data/app/views/decidim/admin/organization_homepage_content_blocks/edit.html.erb +0 -13
- data/app/views/decidim/admin/static_pages/show.html.erb +0 -21
- data/app/views/layouts/decidim/admin/_template_bottom.html.erb +0 -2
- data/app/views/layouts/decidim/admin/_template_top.html.erb +0 -4
- data/app/views/layouts/decidim/admin/pages.html.erb +0 -15
- data/config/locales/he-IL.yml +0 -53
- data/decidim-admin.gemspec +0 -36
@@ -5,7 +5,12 @@ module Decidim
|
|
5
5
|
# Controller that allows managing all scopes at the admin panel.
|
6
6
|
#
|
7
7
|
class ScopesController < Decidim::Admin::ApplicationController
|
8
|
+
include Decidim::Admin::Concerns::HasTabbedMenu
|
9
|
+
|
8
10
|
layout "decidim/admin/settings"
|
11
|
+
|
12
|
+
add_breadcrumb_item_from_menu :admin_settings_menu
|
13
|
+
|
9
14
|
helper_method :scope, :parent_scope, :add_scope_path, :current_scopes_path
|
10
15
|
|
11
16
|
def index
|
@@ -36,12 +41,12 @@ module Decidim
|
|
36
41
|
end
|
37
42
|
|
38
43
|
def edit
|
39
|
-
enforce_permission_to
|
44
|
+
enforce_permission_to(:update, :scope, scope:)
|
40
45
|
@form = form(ScopeForm).from_model(scope)
|
41
46
|
end
|
42
47
|
|
43
48
|
def update
|
44
|
-
enforce_permission_to
|
49
|
+
enforce_permission_to(:update, :scope, scope:)
|
45
50
|
@form = form(ScopeForm).from_params(params)
|
46
51
|
|
47
52
|
UpdateScope.call(scope, @form) do
|
@@ -58,7 +63,7 @@ module Decidim
|
|
58
63
|
end
|
59
64
|
|
60
65
|
def destroy
|
61
|
-
enforce_permission_to
|
66
|
+
enforce_permission_to(:destroy, :scope, scope:)
|
62
67
|
|
63
68
|
DestroyScope.call(scope, current_user) do
|
64
69
|
on(:ok) do
|
@@ -70,6 +75,8 @@ module Decidim
|
|
70
75
|
|
71
76
|
private
|
72
77
|
|
78
|
+
def tab_menu_name = :admin_scopes_menu
|
79
|
+
|
73
80
|
def organization_scopes
|
74
81
|
current_organization.scopes
|
75
82
|
end
|
@@ -4,7 +4,7 @@ module Decidim
|
|
4
4
|
module Admin
|
5
5
|
class ShareTokensController < Decidim::Admin::ApplicationController
|
6
6
|
def destroy
|
7
|
-
enforce_permission_to
|
7
|
+
enforce_permission_to(:destroy, :share_token, share_token:)
|
8
8
|
|
9
9
|
DestroyShareToken.call(share_token, current_user) do
|
10
10
|
on(:ok) do
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Admin
|
5
|
+
# Base controller that can be inherited by other spaces to publish and unpublish the Participatory Space
|
6
|
+
#
|
7
|
+
class SpacePublicationsController < Decidim::Admin::ApplicationController
|
8
|
+
def create
|
9
|
+
enforce_permission_to_publish
|
10
|
+
|
11
|
+
publish_command.call(current_participatory_space, current_user) do
|
12
|
+
on(:ok) do
|
13
|
+
flash[:notice] = I18n.t("create.success", scope: i18n_scope)
|
14
|
+
end
|
15
|
+
|
16
|
+
on(:invalid) do
|
17
|
+
flash.now[:alert] = I18n.t("create.error", scope: i18n_scope)
|
18
|
+
end
|
19
|
+
|
20
|
+
redirect_back(fallback_location:)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def destroy
|
25
|
+
enforce_permission_to_publish
|
26
|
+
|
27
|
+
unpublish_command.call(current_participatory_space, current_user) do
|
28
|
+
on(:ok) do
|
29
|
+
flash[:notice] = I18n.t("destroy.success", scope: i18n_scope)
|
30
|
+
end
|
31
|
+
|
32
|
+
on(:invalid) do
|
33
|
+
flash.now[:alert] = I18n.t("destroy.error", scope: i18n_scope)
|
34
|
+
end
|
35
|
+
|
36
|
+
redirect_back(fallback_location:)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
private
|
41
|
+
|
42
|
+
def publish_command = Decidim::Admin::ParticipatorySpace::Publish
|
43
|
+
|
44
|
+
def unpublish_command = Decidim::Admin::ParticipatorySpace::Unpublish
|
45
|
+
|
46
|
+
def current_participatory_space = raise "Not implemented"
|
47
|
+
|
48
|
+
def enforce_permission_to_publish = raise "Not implemented"
|
49
|
+
|
50
|
+
def i18n_scope = raise "Not implemented"
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Admin
|
5
|
+
# Controller that allows managing the organization privacy policy content blocks
|
6
|
+
class StaticPageContentBlocksController < Decidim::Admin::ApplicationController
|
7
|
+
include Decidim::Admin::ContentBlocks::LandingPageContentBlocks
|
8
|
+
|
9
|
+
helper_method :page
|
10
|
+
|
11
|
+
private
|
12
|
+
|
13
|
+
def content_block_scope
|
14
|
+
:static_page
|
15
|
+
end
|
16
|
+
|
17
|
+
def scoped_resource
|
18
|
+
@scoped_resource ||= collection.find_by(slug: params[:static_page_id])
|
19
|
+
end
|
20
|
+
|
21
|
+
def enforce_permission_to_update_resource
|
22
|
+
enforce_permission_to :update, :static_page, static_page: scoped_resource
|
23
|
+
end
|
24
|
+
|
25
|
+
def edit_resource_landing_page_path
|
26
|
+
edit_static_page_path(scoped_resource.slug)
|
27
|
+
end
|
28
|
+
|
29
|
+
def resource_landing_page_content_block_path
|
30
|
+
static_page_content_block_path(scoped_resource, params[:id])
|
31
|
+
end
|
32
|
+
|
33
|
+
def collection
|
34
|
+
@collection ||= current_organization.static_pages
|
35
|
+
end
|
36
|
+
|
37
|
+
alias page scoped_resource
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -3,8 +3,13 @@
|
|
3
3
|
module Decidim
|
4
4
|
module Admin
|
5
5
|
class StaticPageTopicsController < Decidim::Admin::ApplicationController
|
6
|
-
|
7
|
-
|
6
|
+
include Decidim::Admin::Concerns::HasTabbedMenu
|
7
|
+
|
8
|
+
helper_method :topic, :topics
|
9
|
+
|
10
|
+
def index
|
11
|
+
enforce_permission_to :read, :static_page_topic
|
12
|
+
end
|
8
13
|
|
9
14
|
def new
|
10
15
|
enforce_permission_to :create, :static_page_topic
|
@@ -18,7 +23,7 @@ module Decidim
|
|
18
23
|
CreateStaticPageTopic.call(@form) do
|
19
24
|
on(:ok) do
|
20
25
|
flash[:notice] = I18n.t("static_page_topics.create.success", scope: "decidim.admin")
|
21
|
-
redirect_to
|
26
|
+
redirect_to static_page_topics_path
|
22
27
|
end
|
23
28
|
|
24
29
|
on(:invalid) do
|
@@ -40,7 +45,7 @@ module Decidim
|
|
40
45
|
UpdateStaticPageTopic.call(topic, @form) do
|
41
46
|
on(:ok) do
|
42
47
|
flash[:notice] = I18n.t("static_page_topics.update.success", scope: "decidim.admin")
|
43
|
-
redirect_to
|
48
|
+
redirect_to static_page_topics_path
|
44
49
|
end
|
45
50
|
|
46
51
|
on(:invalid) do
|
@@ -53,18 +58,24 @@ module Decidim
|
|
53
58
|
def destroy
|
54
59
|
enforce_permission_to :destroy, :static_page_topic, static_page_topic: topic
|
55
60
|
|
56
|
-
|
61
|
+
DestroyStaticPageTopic.call(topic, current_user) do
|
57
62
|
on(:ok) do
|
58
63
|
flash[:notice] = I18n.t("static_page_topics.destroy.success", scope: "decidim.admin")
|
59
|
-
redirect_to
|
64
|
+
redirect_to static_page_topics_path
|
60
65
|
end
|
61
66
|
end
|
62
67
|
end
|
63
68
|
|
64
69
|
private
|
65
70
|
|
71
|
+
def tab_menu_name = :admin_static_pages_menu
|
72
|
+
|
66
73
|
def topic
|
67
|
-
@topic ||=
|
74
|
+
@topic ||= topics.find(params[:id])
|
75
|
+
end
|
76
|
+
|
77
|
+
def topics
|
78
|
+
@topics ||= current_organization.static_page_topics
|
68
79
|
end
|
69
80
|
end
|
70
81
|
end
|
@@ -5,11 +5,40 @@ module Decidim
|
|
5
5
|
# Controller that allows managing all pages at the admin panel.
|
6
6
|
#
|
7
7
|
class StaticPagesController < Decidim::Admin::ApplicationController
|
8
|
-
|
8
|
+
include Decidim::Admin::Concerns::HasTabbedMenu
|
9
|
+
include Decidim::Admin::ContentBlocks::LandingPage
|
10
|
+
include Concerns::HasContentBlocks
|
11
|
+
|
9
12
|
before_action :tos_version_formatted, only: [:index, :edit]
|
10
13
|
|
11
14
|
helper_method :topics
|
12
15
|
|
16
|
+
alias update_content_blocks update
|
17
|
+
|
18
|
+
def content_block_scope
|
19
|
+
:static_page
|
20
|
+
end
|
21
|
+
|
22
|
+
def scoped_resource
|
23
|
+
@scoped_resource ||= collection.find_by(slug: params[:id])
|
24
|
+
end
|
25
|
+
|
26
|
+
def enforce_permission_to_update_resource
|
27
|
+
enforce_permission_to :update, :static_page, static_page: scoped_resource
|
28
|
+
end
|
29
|
+
|
30
|
+
def resource_sort_url
|
31
|
+
update_content_blocks_static_page_path(scoped_resource)
|
32
|
+
end
|
33
|
+
|
34
|
+
def resource_create_url(manifest_name)
|
35
|
+
static_page_content_blocks_path(scoped_resource, manifest_name:)
|
36
|
+
end
|
37
|
+
|
38
|
+
def resource_content_block_cell
|
39
|
+
"decidim/admin/static_page_content_block"
|
40
|
+
end
|
41
|
+
|
13
42
|
def index
|
14
43
|
enforce_permission_to :read, :static_page
|
15
44
|
@topics = Decidim::StaticPageTopic.where(organization: current_organization)
|
@@ -61,10 +90,6 @@ module Decidim
|
|
61
90
|
end
|
62
91
|
end
|
63
92
|
|
64
|
-
def show
|
65
|
-
enforce_permission_to :read, :static_page
|
66
|
-
end
|
67
|
-
|
68
93
|
def destroy
|
69
94
|
enforce_permission_to :destroy, :static_page, static_page: page
|
70
95
|
|
@@ -78,6 +103,8 @@ module Decidim
|
|
78
103
|
|
79
104
|
private
|
80
105
|
|
106
|
+
def tab_menu_name = :admin_static_pages_menu
|
107
|
+
|
81
108
|
def form_params
|
82
109
|
form_params = params.to_unsafe_hash
|
83
110
|
form_params["static_page"] ||= {}
|
@@ -91,7 +118,7 @@ module Decidim
|
|
91
118
|
end
|
92
119
|
|
93
120
|
def page
|
94
|
-
@page ||=
|
121
|
+
@page ||= scoped_resource
|
95
122
|
end
|
96
123
|
|
97
124
|
def collection
|
@@ -42,7 +42,7 @@ module Decidim
|
|
42
42
|
end
|
43
43
|
|
44
44
|
def resend_invitation
|
45
|
-
enforce_permission_to
|
45
|
+
enforce_permission_to(:invite, :admin_user, user:)
|
46
46
|
|
47
47
|
InviteUserAgain.call(user, "invite_admin") do
|
48
48
|
on(:ok) do
|
@@ -58,7 +58,7 @@ module Decidim
|
|
58
58
|
end
|
59
59
|
|
60
60
|
def destroy
|
61
|
-
enforce_permission_to
|
61
|
+
enforce_permission_to(:destroy, :admin_user, user:)
|
62
62
|
|
63
63
|
RemoveAdmin.call(user, current_user) do
|
64
64
|
on(:ok) do
|
@@ -1,17 +1,6 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module Decidim
|
4
4
|
class ComponentPublishedEvent < Decidim::Events::SimpleEvent
|
5
|
-
# Public: The Hash of options to pass to the I18.t method.
|
6
|
-
def i18n_options
|
7
|
-
default_i18n_options.merge(event_interpolations)
|
8
|
-
end
|
9
|
-
|
10
|
-
def resource_title
|
11
|
-
return unless resource
|
12
|
-
|
13
|
-
title = decidim_sanitize_translated(resource.name)
|
14
|
-
Decidim::ContentProcessor.render_without_format(title, links: false).html_safe
|
15
|
-
end
|
16
5
|
end
|
17
6
|
end
|
@@ -1,9 +1,7 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module Decidim
|
4
4
|
class ResourceHiddenEvent < Decidim::Events::SimpleEvent
|
5
|
-
include Decidim::ApplicationHelper
|
6
|
-
|
7
5
|
i18n_attributes :resource_path, :report_reasons, :resource_type, :resource_content
|
8
6
|
|
9
7
|
def resource_path
|
@@ -25,9 +23,7 @@ module Decidim
|
|
25
23
|
end
|
26
24
|
|
27
25
|
def resource_content
|
28
|
-
|
29
|
-
|
30
|
-
decidim_sanitize(html_truncate(text, length: 100), strip_tags: true)
|
26
|
+
translated_attribute(@resource[@resource.reported_attributes.first]).truncate(100, separator: " ")
|
31
27
|
end
|
32
28
|
|
33
29
|
def resource_text
|
@@ -19,7 +19,7 @@ module Decidim
|
|
19
19
|
|
20
20
|
def name_uniqueness
|
21
21
|
return unless organization
|
22
|
-
return unless organization.areas.where(name
|
22
|
+
return unless organization.areas.where(name:, area_type:).where.not(id:).any?
|
23
23
|
|
24
24
|
errors.add(:name, :taken)
|
25
25
|
end
|
@@ -6,6 +6,7 @@ module Decidim
|
|
6
6
|
class BlockUserForm < Form
|
7
7
|
attribute :user_id, Integer
|
8
8
|
attribute :justification, String
|
9
|
+
attribute :hide, Boolean, default: false
|
9
10
|
|
10
11
|
validates :user, presence: true
|
11
12
|
validates :justification, presence: true, length: { minimum: UserBlock::MINIMUM_JUSTIFICATION_LENGTH }
|
@@ -19,7 +19,7 @@ module Decidim
|
|
19
19
|
delegate :current_participatory_space, to: :context, prefix: false
|
20
20
|
|
21
21
|
def parent_categories
|
22
|
-
@parent_categories ||= current_participatory_space.categories.first_class.where.not(id:
|
22
|
+
@parent_categories ||= current_participatory_space.categories.first_class.where.not(id:)
|
23
23
|
end
|
24
24
|
|
25
25
|
private
|
@@ -15,8 +15,6 @@ module Decidim
|
|
15
15
|
attribute :remove_logo, Boolean, default: false
|
16
16
|
attribute :favicon
|
17
17
|
attribute :remove_favicon, Boolean, default: false
|
18
|
-
attribute :official_img_header
|
19
|
-
attribute :remove_official_img_header, Boolean, default: false
|
20
18
|
attribute :official_img_footer
|
21
19
|
attribute :remove_official_img_footer, Boolean, default: false
|
22
20
|
attribute :official_url
|
@@ -29,14 +27,12 @@ module Decidim
|
|
29
27
|
attribute :enable_omnipresent_banner, Boolean, default: false
|
30
28
|
attribute :omnipresent_banner_url, String
|
31
29
|
|
32
|
-
attribute :primary_color, String
|
33
|
-
attribute :secondary_color, String
|
34
|
-
attribute :
|
35
|
-
attribute :
|
36
|
-
attribute :
|
37
|
-
attribute :
|
38
|
-
attribute :highlight_alternative_color, String, default: "#ff5731"
|
39
|
-
attribute :theme_color, String, default: "#ef604d"
|
30
|
+
attribute :primary_color, String
|
31
|
+
attribute :secondary_color, String
|
32
|
+
attribute :tertiary_color, String
|
33
|
+
attribute :success_color, String
|
34
|
+
attribute :warning_color, String
|
35
|
+
attribute :alert_color, String
|
40
36
|
|
41
37
|
translatable_attribute :cta_button_text, String
|
42
38
|
translatable_attribute :description, String
|
@@ -48,8 +44,7 @@ module Decidim
|
|
48
44
|
translatable_attribute :omnipresent_banner_short_description, String
|
49
45
|
|
50
46
|
validates :cta_button_path, format: { with: %r{\A[a-zA-Z]+[a-zA-Z0-9\-_/]+\z} }, allow_blank: true
|
51
|
-
validates :
|
52
|
-
:official_img_footer,
|
47
|
+
validates :official_img_footer,
|
53
48
|
:logo,
|
54
49
|
passthru: { to: Decidim::Organization }
|
55
50
|
|
@@ -33,7 +33,7 @@ module Decidim
|
|
33
33
|
translatable_attribute :welcome_notification_subject, String
|
34
34
|
translatable_attribute :welcome_notification_body, String
|
35
35
|
|
36
|
-
translatable_attribute :
|
36
|
+
translatable_attribute :admin_terms_of_service_body, String
|
37
37
|
|
38
38
|
validates :welcome_notification_subject, :welcome_notification_body, translatable_presence: true, if: proc { |form| form.customize_welcome_notification }
|
39
39
|
|
@@ -42,7 +42,7 @@ module Decidim
|
|
42
42
|
validates :time_zone, time_zone: true
|
43
43
|
validates :default_locale, :reference_prefix, presence: true
|
44
44
|
validates :default_locale, inclusion: { in: :available_locales }
|
45
|
-
validates :
|
45
|
+
validates :admin_terms_of_service_body, translatable_presence: true
|
46
46
|
validates :comments_max_length, presence: true, numericality: { greater_than_or_equal_to: 0 }
|
47
47
|
validates :machine_translation_display_priority,
|
48
48
|
inclusion: { in: Decidim::Organization::AVAILABLE_MACHINE_TRANSLATION_DISPLAY_PRIORITIES },
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Admin
|
5
|
+
class ParticipatorySpaceAdminUserForm < ParticipatorySpacePrivateUserForm
|
6
|
+
attribute :role, String
|
7
|
+
|
8
|
+
validates :role, presence: true
|
9
|
+
validates :role, inclusion: { in: ParticipatorySpaceUser::ROLES }
|
10
|
+
|
11
|
+
def roles
|
12
|
+
ParticipatorySpaceUser::ROLES.map { |role| [I18n.t(role, scope:), role] }
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -8,7 +8,7 @@ module Decidim
|
|
8
8
|
#
|
9
9
|
class ParticipatorySpacePrivateUserCsvImportForm < Form
|
10
10
|
include Decidim::HasUploadValidations
|
11
|
-
include Decidim::
|
11
|
+
include Decidim::Admin::CustomImport
|
12
12
|
|
13
13
|
attribute :file, Decidim::Attributes::Blob
|
14
14
|
attribute :user_name, String
|
@@ -20,10 +20,8 @@ module Decidim
|
|
20
20
|
def validate_csv
|
21
21
|
return if file.blank?
|
22
22
|
|
23
|
-
|
24
|
-
|
25
|
-
errors.add(:user_name, :invalid) unless user_name.match?(UserBaseEntity::REGEXP_NAME)
|
26
|
-
end
|
23
|
+
process_import_file(file) do |(_email, user_name)|
|
24
|
+
errors.add(:user_name, :invalid) if user_name.blank? || !user_name.match?(UserBaseEntity::REGEXP_NAME)
|
27
25
|
end
|
28
26
|
rescue CSV::MalformedCSVError
|
29
27
|
errors.add(:file, :malformed)
|
@@ -20,7 +20,7 @@ module Decidim
|
|
20
20
|
|
21
21
|
def map_model(_newsletter)
|
22
22
|
self.participatory_space_types = Decidim.participatory_space_manifests.map do |manifest|
|
23
|
-
SelectiveNewsletterParticipatorySpaceTypeForm.from_model(manifest:
|
23
|
+
SelectiveNewsletterParticipatorySpaceTypeForm.from_model(manifest:)
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
@@ -7,6 +7,7 @@ module Decidim
|
|
7
7
|
include TranslatableAttributes
|
8
8
|
|
9
9
|
attribute :slug, String
|
10
|
+
validates :title, translatable_presence: true
|
10
11
|
translatable_attribute :title, String
|
11
12
|
translatable_attribute :content, String
|
12
13
|
attribute :changed_notably, Boolean
|
@@ -18,7 +19,6 @@ module Decidim
|
|
18
19
|
mimic :static_page
|
19
20
|
|
20
21
|
validates :slug, presence: true
|
21
|
-
validates :title, :content, translatable_presence: true
|
22
22
|
validates :slug, format: { with: %r{\A[a-zA-Z]+[a-zA-Z0-9\-_/]+\z} }, allow_blank: true
|
23
23
|
|
24
24
|
validate :slug, :slug_uniqueness
|
@@ -31,7 +31,7 @@ module Decidim
|
|
31
31
|
|
32
32
|
def topic
|
33
33
|
@topic ||= StaticPageTopic.find_by(
|
34
|
-
organization
|
34
|
+
organization:,
|
35
35
|
id: topic_id
|
36
36
|
)
|
37
37
|
end
|
@@ -50,7 +50,7 @@ module Decidim
|
|
50
50
|
|
51
51
|
def slug_uniqueness
|
52
52
|
return unless organization
|
53
|
-
return unless organization.static_pages.where(slug:
|
53
|
+
return unless organization.static_pages.where(slug:).where.not(id:).any?
|
54
54
|
|
55
55
|
errors.add(:slug, :taken)
|
56
56
|
end
|
@@ -2,36 +2,36 @@
|
|
2
2
|
|
3
3
|
module Decidim
|
4
4
|
module Admin
|
5
|
-
# This module includes helpers to show
|
5
|
+
# This module includes helpers to show admin terms of service
|
6
6
|
module AdminTermsHelper
|
7
|
-
def
|
8
|
-
|
7
|
+
def admin_terms_of_service_body
|
8
|
+
current_organization.admin_terms_of_service_body.symbolize_keys[I18n.locale].html_safe
|
9
9
|
end
|
10
10
|
|
11
11
|
def announcement_body
|
12
12
|
if current_user.admin_terms_accepted?
|
13
|
-
t("accept.success", scope: "decidim.admin.
|
13
|
+
t("accept.success", scope: "decidim.admin.admin_terms_of_service")
|
14
14
|
else
|
15
|
-
t("required_review.callout", scope: "decidim.admin.
|
15
|
+
t("required_review.callout", scope: "decidim.admin.admin_terms_of_service")
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
19
|
def button_to_accept_admin_terms
|
20
20
|
button_to(
|
21
|
-
t("decidim.admin.
|
21
|
+
t("decidim.admin.admin_terms_of_service.actions.accept"),
|
22
22
|
admin_terms_accept_path,
|
23
|
-
class: "button success",
|
23
|
+
class: "button button__sm button__secondary success",
|
24
24
|
method: :put
|
25
25
|
)
|
26
26
|
end
|
27
27
|
|
28
28
|
def button_to_refuse_admin_terms
|
29
29
|
link_to(
|
30
|
-
t("decidim.admin.
|
30
|
+
t("decidim.admin.admin_terms_of_service.actions.refuse"),
|
31
31
|
decidim.root_path,
|
32
|
-
class: "button clear",
|
32
|
+
class: "button button__sm button__secondary clear",
|
33
33
|
data: {
|
34
|
-
confirm: t("actions.are_you_sure", scope: "decidim.admin.
|
34
|
+
confirm: t("actions.are_you_sure", scope: "decidim.admin.admin_terms_of_service")
|
35
35
|
}
|
36
36
|
)
|
37
37
|
end
|
@@ -14,20 +14,7 @@ module Decidim
|
|
14
14
|
include Decidim::Admin::LogRenderHelper
|
15
15
|
include Decidim::Admin::UserRolesHelper
|
16
16
|
include Decidim::Admin::ResourceScopeHelper
|
17
|
-
|
18
|
-
# Adds a link to the secondary navigation so admins can easily access the public page of the
|
19
|
-
# element their working on.
|
20
|
-
#
|
21
|
-
# url - The String with the URL to link to.
|
22
|
-
#
|
23
|
-
# Returns a String with a link wrapped in a <li> element.
|
24
|
-
def public_page_link(url)
|
25
|
-
content_tag(:li) do
|
26
|
-
link_to url, class: "button", style: "color: #fff", target: "_blank", rel: "noopener" do
|
27
|
-
I18n.t("decidim.admin.view_public_page")
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
17
|
+
include Decidim::Admin::SearchFormHelper
|
31
18
|
|
32
19
|
def participatory_space_active_link?(component)
|
33
20
|
endpoints = component.manifest.admin_engine.try(:participatory_space_endpoints)
|
@@ -6,7 +6,7 @@ module Decidim
|
|
6
6
|
#
|
7
7
|
module AttributesDisplayHelper
|
8
8
|
# Displays the given attributes list in a list. This is a simple
|
9
|
-
# `show_for` alternative, so there
|
9
|
+
# `show_for` alternative, so there is no way to modify how an attribute is
|
10
10
|
# shown and there is no intention on adding this. It is intended to be
|
11
11
|
# used inside a `dl` HTML tag, so you can customize how a specific
|
12
12
|
# attribute has to be shown directly:
|
@@ -11,7 +11,7 @@ module Decidim
|
|
11
11
|
def bulk_categories_select(collection)
|
12
12
|
categories = bulk_categories_for_select collection
|
13
13
|
prompt = t("decidim.proposals.admin.proposals.index.change_category")
|
14
|
-
select(:category, :id, options_for_select(categories, selected: []), prompt:
|
14
|
+
select(:category, :id, options_for_select(categories, selected: []), prompt:)
|
15
15
|
end
|
16
16
|
|
17
17
|
def bulk_categories_for_select(scope)
|
@@ -45,7 +45,7 @@ module Decidim
|
|
45
45
|
end
|
46
46
|
|
47
47
|
prompt = t("decidim.proposals.admin.proposals.index.select_component")
|
48
|
-
select(:target_component_id, nil, options_for_select(components, selected: []), prompt:
|
48
|
+
select(:target_component_id, nil, options_for_select(components, selected: []), prompt:)
|
49
49
|
end
|
50
50
|
end
|
51
51
|
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
module Decidim
|
4
4
|
module Admin
|
5
|
-
# This module includes helpers to be used in the admin dashboard, including helper methods to show the
|
5
|
+
# This module includes helpers to be used in the admin dashboard, including helper methods to show the admin terms of service.
|
6
6
|
module DashboardHelper
|
7
7
|
def admin_terms_announcement_args
|
8
8
|
{
|
@@ -12,10 +12,10 @@ module Decidim
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def announcement_body
|
15
|
-
body = t("required_review.callout", scope: "decidim.admin.
|
15
|
+
body = t("required_review.callout", scope: "decidim.admin.admin_terms_of_service")
|
16
16
|
body += " "
|
17
17
|
body += link_to(
|
18
|
-
t("required_review.cta", scope: "decidim.admin.
|
18
|
+
t("required_review.cta", scope: "decidim.admin.admin_terms_of_service"),
|
19
19
|
admin_terms_show_path
|
20
20
|
)
|
21
21
|
body
|