decidim-admin 0.27.9 → 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 +121 -89
- 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 +124 -92
- 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 +115 -83
- 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 +86 -85
- 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 +99 -192
- 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
@@ -10,8 +10,20 @@ module Decidim
|
|
10
10
|
# current component.
|
11
11
|
#
|
12
12
|
# Returns a rendered dropdown.
|
13
|
-
def export_dropdown(component = current_component, resource_id = nil)
|
14
|
-
|
13
|
+
def export_dropdown(component = current_component, resource_id = nil, apply_search: false)
|
14
|
+
filters =
|
15
|
+
if apply_search && respond_to?(:query)
|
16
|
+
{ id_in: query.result.map(&:id) }
|
17
|
+
else
|
18
|
+
{}
|
19
|
+
end
|
20
|
+
render_dropdown(component:, resource_id:, filters:)
|
21
|
+
end
|
22
|
+
|
23
|
+
def export_dropdowns(query, component = current_component, resource_id = nil)
|
24
|
+
return export_dropdown(component, resource_id, apply_search: false) if query.conditions.empty?
|
25
|
+
|
26
|
+
export_dropdown(component, resource_id, apply_search: false).concat(export_dropdown(component, resource_id, apply_search: true))
|
15
27
|
end
|
16
28
|
|
17
29
|
# Routes to the correct exporter for a component.
|
@@ -23,6 +35,18 @@ module Decidim
|
|
23
35
|
def exports_path(component, options)
|
24
36
|
EngineRouter.admin_proxy(component.participatory_space).component_exports_path(options.merge(component_id: component))
|
25
37
|
end
|
38
|
+
|
39
|
+
def dropdown_id(filters)
|
40
|
+
return "export-dropdown" if filters.empty?
|
41
|
+
|
42
|
+
"export-selection-dropdown"
|
43
|
+
end
|
44
|
+
|
45
|
+
private
|
46
|
+
|
47
|
+
def render_dropdown(component:, resource_id:, filters:)
|
48
|
+
render partial: "decidim/admin/exports/dropdown", locals: { component:, resource_id:, filters: }
|
49
|
+
end
|
26
50
|
end
|
27
51
|
end
|
28
52
|
end
|
@@ -6,7 +6,7 @@ module Decidim
|
|
6
6
|
module FilterableHelper
|
7
7
|
# Renders the filters selector with tags in the admin panel.
|
8
8
|
def admin_filter_selector(i18n_ctx = nil)
|
9
|
-
render partial: "decidim/admin/shared/filters", locals: { i18n_ctx:
|
9
|
+
render partial: "decidim/admin/shared/filters", locals: { i18n_ctx: }
|
10
10
|
end
|
11
11
|
|
12
12
|
# Builds a tree of links from Decidim::Admin::Filterable::filters_with_values
|
@@ -113,7 +113,7 @@ module Decidim
|
|
113
113
|
|
114
114
|
def remove_filter_icon_link(filter)
|
115
115
|
icon_link_to(
|
116
|
-
"
|
116
|
+
"delete-bin-line",
|
117
117
|
url_for(query_params_without(filter)),
|
118
118
|
t("decidim.admin.actions.cancel"),
|
119
119
|
class: "action-icon--remove"
|
@@ -5,8 +5,7 @@ module Decidim
|
|
5
5
|
module IconLinkHelper
|
6
6
|
# This helper adds the necessary boilerplate for the admin icon links.
|
7
7
|
#
|
8
|
-
# icon_name - A String representing the icon name
|
9
|
-
# http://useiconic.com/open
|
8
|
+
# icon_name - A String representing the icon name
|
10
9
|
# link - The path or url where the link should point to.
|
11
10
|
# title - A String that will be shown when hovering the icon.
|
12
11
|
# options - An optional Hash containing extra data for the link:
|
@@ -15,15 +14,17 @@ module Decidim
|
|
15
14
|
# data - This option can be used to add custom data attributes.
|
16
15
|
#
|
17
16
|
def icon_link_to(icon_name, link, title, options = {})
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
17
|
+
with_tooltip(title, options.merge(class: "top")) do
|
18
|
+
link_to(link,
|
19
|
+
method: options[:method],
|
20
|
+
class: "action-icon #{options[:class]}",
|
21
|
+
data: options[:data] || {},
|
22
|
+
title:,
|
23
|
+
target: options[:target]) do
|
24
|
+
content_tag(:span, data: { tooltip: true, disable_hover: false, click_open: false },
|
25
|
+
title:) do
|
26
|
+
icon(icon_name, aria_label: title, role: "img")
|
27
|
+
end
|
27
28
|
end
|
28
29
|
end
|
29
30
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Admin
|
5
|
+
module IconWithTooltipHelper
|
6
|
+
# This helper adds the necessary boilerplate for the admin icon with tooltip.
|
7
|
+
#
|
8
|
+
# icon_name - A String representing the icon name
|
9
|
+
# title - A String that will be shown when hovering the icon.
|
10
|
+
# class - Any extra class that will be added to the link.
|
11
|
+
# data - This option can be used to add custom data attributes.
|
12
|
+
def icon_with_tooltip(icon_name, title, options = {})
|
13
|
+
with_tooltip(title, options.merge(class: "top")) do
|
14
|
+
content_tag(:span, data: { tooltip: true, disable_hover: false, click_open: false },
|
15
|
+
title:) do
|
16
|
+
icon(icon_name, aria_label: title, role: "img")
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -13,7 +13,7 @@ module Decidim
|
|
13
13
|
#
|
14
14
|
# Returns a rendered dropdown.
|
15
15
|
def import_dropdown(component = current_component, resource_id: nil)
|
16
|
-
render "decidim/admin/imports/dropdown", component
|
16
|
+
render "decidim/admin/imports/dropdown", component:, resource_id:, custom: block_given? do
|
17
17
|
yield if block_given?
|
18
18
|
end
|
19
19
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Admin
|
5
|
+
module LogsHelper
|
6
|
+
def participatory_space_options
|
7
|
+
Decidim.participatory_space_manifests.map do |manifest|
|
8
|
+
model_class = manifest.model_class_name.constantize
|
9
|
+
spaces = manifest.participatory_spaces.call(current_organization).map do |space|
|
10
|
+
[translated_attribute(space.title), "#{manifest.name}(#{space.id})"]
|
11
|
+
end
|
12
|
+
|
13
|
+
[model_class.model_name.human(count: 2), spaces]
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -14,14 +14,74 @@ module Decidim
|
|
14
14
|
)
|
15
15
|
end
|
16
16
|
|
17
|
+
def main_menu_modules
|
18
|
+
@main_menu_modules ||= ::Decidim::MenuPresenter.new(
|
19
|
+
:admin_menu_modules,
|
20
|
+
self,
|
21
|
+
container_options: { class: "main-nav__modules" },
|
22
|
+
active_class: "is-active",
|
23
|
+
label: t("layouts.decidim.header.main_menu")
|
24
|
+
)
|
25
|
+
end
|
26
|
+
|
27
|
+
def dropdown_menu(target_menu)
|
28
|
+
::Decidim::Admin::SecondaryMenuPresenter.new(
|
29
|
+
target_menu,
|
30
|
+
self,
|
31
|
+
container_options: { class: "dropdown dropdown__bottom" },
|
32
|
+
element_class: "dropdown__item",
|
33
|
+
active_class: "is-active"
|
34
|
+
)
|
35
|
+
end
|
36
|
+
|
17
37
|
def sidebar_menu(target_menu)
|
18
|
-
::Decidim::Admin::SecondaryMenuPresenter.new(
|
38
|
+
::Decidim::Admin::SecondaryMenuPresenter.new(
|
39
|
+
target_menu,
|
40
|
+
self,
|
41
|
+
element_class: "sidebar-menu__item",
|
42
|
+
active_class: "is-active"
|
43
|
+
)
|
44
|
+
end
|
45
|
+
|
46
|
+
def admin_tabs(target_menu)
|
47
|
+
::Decidim::MenuPresenter.new(
|
48
|
+
target_menu,
|
49
|
+
self,
|
50
|
+
container_options: { class: "tab-x-container" },
|
51
|
+
active_class: "is-active"
|
52
|
+
)
|
53
|
+
end
|
54
|
+
|
55
|
+
def breadcrumb_modules_admin_menu
|
56
|
+
@breadcrumb_modules_admin_menu ||= ::Decidim::BreadcrumbRootMenuPresenter.new(
|
57
|
+
:admin_menu_modules,
|
58
|
+
self,
|
59
|
+
container_options: { class: "menu-bar__main-dropdown__menu" }
|
60
|
+
)
|
61
|
+
end
|
62
|
+
|
63
|
+
def breadcrumb_root_admin_menu
|
64
|
+
@breadcrumb_root_admin_menu ||= ::Decidim::BreadcrumbRootMenuPresenter.new(
|
65
|
+
:admin_menu,
|
66
|
+
self,
|
67
|
+
container_options: { class: "menu-bar__main-dropdown__menu" }
|
68
|
+
)
|
19
69
|
end
|
20
70
|
|
21
71
|
def simple_menu(target_menu:, options: {})
|
22
72
|
options = { active_class: "is-active" }.merge(options)
|
23
73
|
::Decidim::Admin::SimpleMenuPresenter.new(target_menu, self, options)
|
24
74
|
end
|
75
|
+
|
76
|
+
def add_secondary_root_menu(menu)
|
77
|
+
@secondary_root_menu = menu
|
78
|
+
end
|
79
|
+
|
80
|
+
attr_reader :secondary_root_menu
|
81
|
+
|
82
|
+
def has_secondary_root_menu?
|
83
|
+
@secondary_root_menu.present?
|
84
|
+
end
|
25
85
|
end
|
26
86
|
end
|
27
87
|
end
|
@@ -7,6 +7,7 @@ module Decidim
|
|
7
7
|
module ReportsHelper
|
8
8
|
include Decidim::Messaging::ConversationHelper
|
9
9
|
include Decidim::ResourceHelper
|
10
|
+
include Decidim::SanitizeHelper
|
10
11
|
include Decidim::TranslationsHelper
|
11
12
|
|
12
13
|
# Public: Returns the reportable's author names separated by commas.
|
@@ -18,13 +19,13 @@ module Decidim
|
|
18
19
|
when User
|
19
20
|
content_tag :li do
|
20
21
|
link_to current_or_new_conversation_path_with(author), target: "_blank", rel: "noopener" do
|
21
|
-
"#{author.name} #{icon "
|
22
|
+
"#{author.name} #{icon "mail-send-line"}".html_safe
|
22
23
|
end
|
23
24
|
end
|
24
25
|
when Decidim::Meetings::Meeting
|
25
26
|
content_tag :li do
|
26
27
|
link_to resource_locator(author).path, target: "_blank", rel: "noopener" do
|
27
|
-
translated_attribute(author.title)
|
28
|
+
decidim_sanitize(translated_attribute(author.title))
|
28
29
|
end
|
29
30
|
end
|
30
31
|
else
|
@@ -31,7 +31,7 @@ module Decidim
|
|
31
31
|
{ prompt: t("select_recipients_to_deliver.none", scope: "decidim.admin.newsletters"),
|
32
32
|
label: t("activerecord.models.decidim/#{manifest_name.singularize}.other"),
|
33
33
|
include_hidden: false },
|
34
|
-
multiple: true, size: spaces.size
|
34
|
+
multiple: true, size: [spaces.size, 10].min, class: "chosen-select"
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
@@ -74,7 +74,7 @@ module Decidim
|
|
74
74
|
else
|
75
75
|
Decidim.find_participatory_space_manifest(type["manifest_name"].to_sym)
|
76
76
|
.participatory_spaces.call(current_organization).where(id: type["ids"]).each do |space|
|
77
|
-
html += "<strong>#{
|
77
|
+
html += "<strong>#{decidim_html_escape(translated_attribute(space.title))}</strong>"
|
78
78
|
end
|
79
79
|
end
|
80
80
|
html += "<br/>"
|
@@ -88,7 +88,7 @@ module Decidim
|
|
88
88
|
concat t("index.segmented_to", scope: "decidim.admin.newsletters", subject: nil)
|
89
89
|
if newsletter.sent_scopes.any?
|
90
90
|
newsletter.sent_scopes.each do |scope|
|
91
|
-
concat content_tag(:strong, (translated_attribute
|
91
|
+
concat content_tag(:strong, decidim_html_escape(translated_attribute(scope.name)).to_s)
|
92
92
|
end
|
93
93
|
else
|
94
94
|
concat content_tag(:strong, t("index.no_scopes", scope: "decidim.admin.newsletters"))
|
@@ -141,7 +141,7 @@ module Decidim
|
|
141
141
|
spinner = "<span id='recipients_count_spinner' class='loading-spinner hide'></span>"
|
142
142
|
body = "#{t("recipients_count", scope: "decidim.admin.newsletters.select_recipients_to_deliver", count: recipients_count_query)} #{spinner}"
|
143
143
|
{
|
144
|
-
body:
|
144
|
+
body:
|
145
145
|
}
|
146
146
|
end
|
147
147
|
end
|
@@ -10,7 +10,7 @@ module Decidim
|
|
10
10
|
return unless resource.allow_resource_permissions? && allowed_to?(:update, :component, component: resource.component)
|
11
11
|
|
12
12
|
current_participatory_space_admin_proxy = ::Decidim::EngineRouter.admin_proxy(current_participatory_space)
|
13
|
-
icon_link_to "key",
|
13
|
+
icon_link_to "key-2-line",
|
14
14
|
current_participatory_space_admin_proxy.edit_component_permissions_path(
|
15
15
|
current_component.id,
|
16
16
|
resource_name: resource.resource_manifest.name,
|
@@ -28,7 +28,7 @@ module Decidim
|
|
28
28
|
resource_key = resource.resource_manifest.name.to_sym
|
29
29
|
return unless resource.allow_resource_permissions? && allowed_to?(:update, resource_key, resource_key => resource)
|
30
30
|
|
31
|
-
icon_link_to "key",
|
31
|
+
icon_link_to "key-2-line",
|
32
32
|
send("edit_#{resource_key}_permissions_path", resource, resource_name: resource.resource_manifest.name),
|
33
33
|
t("actions.permissions", scope: "decidim.admin"),
|
34
34
|
class: "action-icon--permissions #{"action-icon--highlighted" if resource.permissions.present?}"
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Admin
|
5
|
+
# Overrides some methods from Ransack::Helpers::FormHelper to fix the search
|
6
|
+
# user interfaces within Decidim.
|
7
|
+
module SearchFormHelper
|
8
|
+
# Provide the correct builder option for the admin search forms. Otherwise
|
9
|
+
# they would be generated using Ransack::Helpers::FormHelper which does
|
10
|
+
# not provide all the same features that the Decidim form builders, such
|
11
|
+
# as datetime pickers.
|
12
|
+
def search_form_for(record, options = {}, &)
|
13
|
+
options[:builder] ||= SearchFormBuilder
|
14
|
+
|
15
|
+
super(record, options, &)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -11,6 +11,7 @@ module Decidim
|
|
11
11
|
boolean: :check_box,
|
12
12
|
integer: :number_field,
|
13
13
|
string: :text_field,
|
14
|
+
float: :number_field,
|
14
15
|
text: :text_area,
|
15
16
|
select: :select_field,
|
16
17
|
scope: :scope_field,
|
@@ -25,14 +26,14 @@ module Decidim
|
|
25
26
|
# @param attribute [Decidim::SettingsManifest::Attribute] The Settings::Attribute instance with the
|
26
27
|
# description of the attribute.
|
27
28
|
# @param name [Symbol] The name of the field.
|
28
|
-
# @param i18n_scope [String] The scope where it
|
29
|
+
# @param i18n_scope [String] The scope where it will find all the texts for the internationalization (locales)
|
29
30
|
# @param options [Hash] Extra options to be passed to the field helper.
|
30
31
|
# @option options [String] :tabs_prefix The type of the setting.
|
31
32
|
# It can be "global-settings" or "step-N-settings", where N is the number of the step.
|
32
33
|
# @option options [nil, Boolean] :readonly True if the input is readonly.
|
33
34
|
# @return [ActiveSupport::SafeBuffer] Rendered form field.
|
34
35
|
def settings_attribute_input(form, attribute, name, i18n_scope, options = {})
|
35
|
-
form_method = form_method_for_attribute(attribute)
|
36
|
+
form_method = form_method_for_attribute(attribute, options)
|
36
37
|
|
37
38
|
container_class = "#{name}_container"
|
38
39
|
if options[:readonly]
|
@@ -40,7 +41,7 @@ module Decidim
|
|
40
41
|
help_text = text_for_setting(name, "readonly", i18n_scope)
|
41
42
|
end
|
42
43
|
help_text ||= text_for_setting(name, "help", i18n_scope)
|
43
|
-
help_text_options = help_text ? { help_text:
|
44
|
+
help_text_options = help_text ? { help_text: } : {}
|
44
45
|
|
45
46
|
options = { label: t(name, scope: i18n_scope) }
|
46
47
|
.merge(help_text_options)
|
@@ -56,7 +57,7 @@ module Decidim
|
|
56
57
|
elsif form_method == :select_field
|
57
58
|
render_select_form_field(form, attribute, name, i18n_scope, options)
|
58
59
|
elsif form_method == :scope_field
|
59
|
-
|
60
|
+
scopes_select_field(form, name)
|
60
61
|
else
|
61
62
|
form.send(form_method, name, options)
|
62
63
|
end
|
@@ -108,14 +109,14 @@ module Decidim
|
|
108
109
|
:last,
|
109
110
|
:first,
|
110
111
|
{ checked: form.object.send(name) },
|
111
|
-
options) { |b| b.label { b.radio_button + b.text } }
|
112
|
+
options) { |b| b.label(class: "form__wrapper-checkbox-label") { b.radio_button + b.text } }
|
112
113
|
end
|
113
114
|
html << content_tag(:p, options[:help_text], class: "help-text") if options[:help_text]
|
114
115
|
html
|
115
116
|
end
|
116
117
|
|
117
118
|
# Get the translation for a given attribute
|
118
|
-
# Returns a translation or nil. If nil,
|
119
|
+
# Returns a translation or nil. If nil, FoundationRailsHelper will not add the help_text.
|
119
120
|
#
|
120
121
|
# @param name (see #settings_attribute_input)
|
121
122
|
# @param suffix [String] What suffix the i18n key has
|
@@ -133,8 +134,8 @@ module Decidim
|
|
133
134
|
#
|
134
135
|
# @param attribute [Decidim::SettingsManifest::Attribute]
|
135
136
|
# @return [Symbol] The FormBuilder's method used to render
|
136
|
-
def form_method_for_attribute(attribute)
|
137
|
-
return :editor if attribute.type.to_sym == :text &&
|
137
|
+
def form_method_for_attribute(attribute, options)
|
138
|
+
return :editor if attribute.type.to_sym == :text && options[:editor]
|
138
139
|
|
139
140
|
TYPES[attribute.type.to_sym]
|
140
141
|
end
|
@@ -6,7 +6,7 @@ module Decidim
|
|
6
6
|
queue_as :default
|
7
7
|
|
8
8
|
def perform(user, current_user)
|
9
|
-
impersonation_log = Decidim::ImpersonationLog.where(admin: current_user, user:
|
9
|
+
impersonation_log = Decidim::ImpersonationLog.where(admin: current_user, user:).active.first
|
10
10
|
return unless impersonation_log
|
11
11
|
|
12
12
|
impersonation_log.expire!
|
@@ -14,9 +14,9 @@ module Decidim
|
|
14
14
|
name: user_name,
|
15
15
|
email: email.downcase.strip
|
16
16
|
}
|
17
|
-
private_user_form = ParticipatorySpacePrivateUserForm.from_params(params, privatable_to:
|
17
|
+
private_user_form = ParticipatorySpacePrivateUserForm.from_params(params, privatable_to:)
|
18
18
|
.with_context(
|
19
|
-
current_user
|
19
|
+
current_user:,
|
20
20
|
current_particiaptory_space: privatable_to
|
21
21
|
)
|
22
22
|
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Admin
|
5
|
+
# Custom application mailer, scoped to the admin mailer.
|
6
|
+
#
|
7
|
+
class ApplicationMailer < ActionMailer::Base
|
8
|
+
default from: Decidim.config.mailer_sender
|
9
|
+
layout "mailer"
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -1,17 +1,6 @@
|
|
1
1
|
/* eslint no-unused-vars: 0 */
|
2
2
|
/* eslint id-length: ["error", { "exceptions": ["$"] }] */
|
3
3
|
|
4
|
-
import "core-js/stable";
|
5
|
-
import "regenerator-runtime/runtime";
|
6
|
-
import $ from "jquery"
|
7
|
-
import Quill from "quill"
|
8
|
-
import Rails from "@rails/ujs"
|
9
|
-
|
10
|
-
import "foundation-sites"
|
11
|
-
import "src/decidim/vendor/foundation-datepicker"
|
12
|
-
import "src/decidim/foundation_datepicker_locales"
|
13
|
-
import "jquery-serializejson"
|
14
|
-
|
15
4
|
import "src/decidim/admin/tab_focus"
|
16
5
|
import initLanguageChangeSelect from "src/decidim/admin/choose_language"
|
17
6
|
import "src/decidim/admin/application"
|
@@ -20,28 +9,18 @@ import "src/decidim/admin/welcome_notification"
|
|
20
9
|
import "src/decidim/admin/newsletters"
|
21
10
|
import "src/decidim/admin/form"
|
22
11
|
import "src/decidim/admin/external_domain_whitelist"
|
23
|
-
import "src/decidim/confirm"
|
24
12
|
import "src/decidim/admin/draggable-list"
|
25
13
|
import "src/decidim/admin/sortable"
|
26
|
-
import "src/decidim/gallery"
|
27
14
|
import "src/decidim/admin/moderations"
|
28
|
-
import "src/decidim/input_tags"
|
29
|
-
import "src/decidim/input_hashtags"
|
30
|
-
import "src/decidim/input_mentions"
|
31
|
-
import "src/decidim/vizzs"
|
32
|
-
import "src/decidim/ajax_modals"
|
33
15
|
import "src/decidim/admin/officializations"
|
34
|
-
import "src/decidim/session_timeouter"
|
35
16
|
import "src/decidim/slug_form"
|
36
|
-
import "src/decidim/direct_uploads/upload_field"
|
37
17
|
import "src/decidim/admin/admin_autocomplete"
|
18
|
+
import "src/decidim/admin/triadic_color_picker"
|
19
|
+
import "src/decidim/admin/participatory_space_search"
|
38
20
|
|
39
21
|
// CSS
|
40
22
|
import "entrypoints/decidim_admin.scss";
|
41
23
|
|
42
|
-
// This needs to be loaded after confirm dialog to bind properly
|
43
|
-
Rails.start()
|
44
|
-
|
45
24
|
window.addEventListener("DOMContentLoaded", () => {
|
46
25
|
initLanguageChangeSelect(document.querySelectorAll("select.language-change"));
|
47
26
|
});
|
@@ -1 +1 @@
|
|
1
|
-
@import "stylesheets/decidim/admin/application.scss"
|
1
|
+
@import "stylesheets/decidim/admin/application.scss";
|
@@ -2,9 +2,6 @@
|
|
2
2
|
|
3
3
|
import toggleNav from "src/decidim/admin/toggle_nav"
|
4
4
|
import createSortList from "src/decidim/admin/sort_list.component"
|
5
|
-
import createQuillEditor from "src/decidim/editor"
|
6
|
-
import formDatePicker from "src/decidim/form_datepicker"
|
7
|
-
import DataPicker from "src/decidim/data_picker"
|
8
5
|
import FormFilterComponent from "src/decidim/form_filter"
|
9
6
|
import Configuration from "src/decidim/configuration"
|
10
7
|
import InputCharacterCounter from "src/decidim/input_character_counter"
|
@@ -16,8 +13,6 @@ window.Decidim.config = new Configuration()
|
|
16
13
|
window.Decidim.InputCharacterCounter = InputCharacterCounter;
|
17
14
|
|
18
15
|
$(() => {
|
19
|
-
window.theDataPicker = new DataPicker($(".data-picker"));
|
20
|
-
|
21
16
|
$(document).foundation();
|
22
17
|
|
23
18
|
toggleNav();
|
@@ -37,16 +32,9 @@ $(() => {
|
|
37
32
|
}
|
38
33
|
})
|
39
34
|
|
40
|
-
formDatePicker();
|
41
|
-
|
42
|
-
$(".editor-container").each((_idx, container) => {
|
43
|
-
createQuillEditor(container);
|
44
|
-
});
|
45
|
-
|
46
35
|
$("form.new_filter").each(function () {
|
47
36
|
const formFilter = new FormFilterComponent($(this));
|
48
37
|
|
49
38
|
formFilter.mountComponent();
|
50
39
|
})
|
51
40
|
});
|
52
|
-
|
@@ -9,12 +9,30 @@ $(() => {
|
|
9
9
|
const $email = $("#user_email", $modal);
|
10
10
|
const $fullName = $("#user_full_name", $modal);
|
11
11
|
|
12
|
-
$("[data-
|
12
|
+
$("[data-dialog-open=show-email-modal]").on("click", (event) => {
|
13
13
|
event.preventDefault()
|
14
14
|
|
15
15
|
$button.show()
|
16
|
-
$button.attr("data-
|
16
|
+
$button.attr("data-remote-url", event.currentTarget.href)
|
17
17
|
$fullName.text($(event.currentTarget).data("full-name"))
|
18
|
-
$email.html("")
|
18
|
+
$email.html("");
|
19
19
|
})
|
20
|
+
|
21
|
+
/* eslint-disable */
|
22
|
+
async function getUserEmail(url) {
|
23
|
+
let response = await fetch(url);
|
24
|
+
if (response.ok) {
|
25
|
+
let userEmail = await response.text();
|
26
|
+
$("#user_email").html(userEmail);
|
27
|
+
$button.hide()
|
28
|
+
} else {
|
29
|
+
console.log(`Error-HTTP: " + ${response.status}`);
|
30
|
+
}
|
31
|
+
}
|
32
|
+
/* eslint-enable */
|
33
|
+
|
34
|
+
$("[data-open=user_email]").on("click", (event) => {
|
35
|
+
getUserEmail(event.currentTarget.dataset.remoteUrl);
|
36
|
+
})
|
37
|
+
|
20
38
|
})
|