decidim-admin 0.27.10 → 0.28.0.rc4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of decidim-admin might be problematic. Click here for more details.
- 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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5984ece47933091c48377e75d0b9f5a9ec1b999f90d077a9da76d75b435855fe
|
4
|
+
data.tar.gz: 66d069b1df9ad3b1bde850a0a900f91483751c3c74f93a12e69fc6f3313c449b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e9a78e6a75102bd913010bccbf30a7495d61df25aa48c9ce9d5be62cff997f9db58c55de12e413d651347a9b60bba3c731a181b234862a1e404d4e919ea86f4b
|
7
|
+
data.tar.gz: 850ecd7ab839cdbcc7569e6058dc148c9e77cd2d409e54a4cfb844bfb47df021321b8216bf654cf7f7574e987b01616444668d0f856466746fdfa1d446d28bf3
|
data/README.md
CHANGED
@@ -6,7 +6,7 @@ organization, participatory processes and all other entities.
|
|
6
6
|
## Usage
|
7
7
|
|
8
8
|
This will add an admin dashboard to manage an organization an all its entities.
|
9
|
-
It
|
9
|
+
It is included by default with Decidim.
|
10
10
|
|
11
11
|
## Installation
|
12
12
|
|
@@ -29,14 +29,14 @@ bundle
|
|
29
29
|
This component allows an admin to create pages to serve static content. Some
|
30
30
|
example of this kind of pages could be:
|
31
31
|
|
32
|
-
* Terms
|
32
|
+
* Terms of service
|
33
33
|
* FAQ
|
34
34
|
* Accessibility guidelines
|
35
35
|
* About the project
|
36
36
|
|
37
37
|
All the pages can be created with I18n support and will be accessible as
|
38
38
|
`/pages/:page-slug`. You can link them at your website the same way you link
|
39
|
-
other Rails models: `pages_path("terms-
|
39
|
+
other Rails models: `pages_path("terms-of-service")`.
|
40
40
|
|
41
41
|
There are some pages that exist by default and cannot be deleted since there
|
42
42
|
are links to them inside the Decidim framework, see `Decidim::StaticPage` for
|
@@ -1,3 +1,3 @@
|
|
1
1
|
<% if private_space? && !(transparent_space?) %>
|
2
|
-
|
2
|
+
<%= cell("decidim/announcement", t("decidim.admin.attachments_privacy_warning.message"), callout_class: "warning") %>
|
3
3
|
<% end %>
|
@@ -1,13 +1,18 @@
|
|
1
|
-
<li draggable="true" data-content-block-
|
1
|
+
<li draggable="true" data-content-block-id="<%= model.id %>">
|
2
2
|
<div class="draggable-content">
|
3
|
-
<%=
|
3
|
+
<%= name %>
|
4
4
|
<div>
|
5
|
-
<% if
|
6
|
-
|
7
|
-
<%=
|
5
|
+
<% if model.persisted? %>
|
6
|
+
<% if has_settings? %>
|
7
|
+
<%= link_to edit_content_block_path, class: "mr-s text-muted" do %>
|
8
|
+
<%= icon "pencil-line", role: "img", "aria-hidden": true %>
|
9
|
+
<% end %>
|
10
|
+
<% end %>
|
11
|
+
<%= link_to content_block_path, method: :delete, data: { confirm: content_block_destroy_confirmation_text }, class: "mr-s text-muted" do %>
|
12
|
+
<%= icon "delete-bin-line", role: "img", "aria-hidden": true %>
|
8
13
|
<% end %>
|
9
14
|
<% end %>
|
10
|
-
<%= icon "menu", role: "img", "aria-hidden": true %>
|
15
|
+
<%= icon "menu-line", role: "img", "aria-hidden": true %>
|
11
16
|
</div>
|
12
17
|
</div>
|
13
18
|
</li>
|
@@ -4,19 +4,33 @@ module Decidim
|
|
4
4
|
module Admin
|
5
5
|
class ContentBlockCell < Decidim::ViewModel
|
6
6
|
include Decidim::IconHelper
|
7
|
+
include Decidim::ContentBlocks::HasRelatedComponents
|
7
8
|
|
8
|
-
delegate :public_name_key, :has_settings?, to: :model
|
9
|
+
delegate :public_name_key, :has_settings?, :component_manifest_name, to: :model
|
10
|
+
delegate :content_block_destroy_confirmation_text, to: :controller
|
9
11
|
|
10
|
-
def
|
11
|
-
|
12
|
+
def edit_content_block_path
|
13
|
+
raise "#{self.class.name} is expected to implement #edit_content_block_path"
|
12
14
|
end
|
13
15
|
|
14
|
-
def
|
15
|
-
|
16
|
+
def content_block_path
|
17
|
+
raise "#{self.class.name} is expected to implement #content_block_path"
|
18
|
+
end
|
19
|
+
|
20
|
+
def component
|
21
|
+
@component ||= if component_manifest_name.present?
|
22
|
+
components = components_for(model)
|
23
|
+
component_id = model.settings.try(:component_id)
|
24
|
+
components = components.where(id: component_id) if component_id.present?
|
25
|
+
|
26
|
+
components.first if components.one?
|
27
|
+
end
|
16
28
|
end
|
17
29
|
|
18
|
-
def
|
19
|
-
|
30
|
+
def name
|
31
|
+
return I18n.t(public_name_key) if component.blank?
|
32
|
+
|
33
|
+
"#{I18n.t(public_name_key)} (#{translated_attribute(component&.name)})"
|
20
34
|
end
|
21
35
|
end
|
22
36
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Admin
|
5
|
+
class HomepageContentBlockCell < ContentBlockCell
|
6
|
+
def edit_content_block_path
|
7
|
+
decidim_admin.edit_organization_homepage_content_block_path(model)
|
8
|
+
end
|
9
|
+
|
10
|
+
def content_block_path
|
11
|
+
decidim_admin.organization_homepage_content_block_path(model)
|
12
|
+
end
|
13
|
+
|
14
|
+
def decidim_admin
|
15
|
+
Decidim::Admin::Engine.routes.url_helpers
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<span class="dropdown-menu-inverted_label"><%= t("decidim.admin.actions.per_page") %> :</span>
|
2
2
|
<ul class="results-per-page__dropdown dropdown menu dropdown-inverted" data-dropdown-menu data-close-on-click-inside="false">
|
3
3
|
<li class="is-dropdown-submenu-parent">
|
4
|
-
<a title="<%= %
|
4
|
+
<a title="<%= %(#{per_page} #{t("decidim.admin.actions.per_page")}) %>">
|
5
5
|
<%= per_page %>
|
6
6
|
</a>
|
7
7
|
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Admin
|
5
|
+
class StaticPageContentBlockCell < ContentBlockCell
|
6
|
+
delegate :scoped_resource, to: :controller
|
7
|
+
|
8
|
+
def edit_content_block_path
|
9
|
+
decidim_admin.edit_static_page_content_block_path(scoped_resource, model)
|
10
|
+
end
|
11
|
+
|
12
|
+
def content_block_path
|
13
|
+
decidim_admin.static_page_content_block_path(scoped_resource, model)
|
14
|
+
end
|
15
|
+
|
16
|
+
def decidim_admin
|
17
|
+
Decidim::Admin::Engine.routes.url_helpers
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -19,11 +19,10 @@ module Decidim
|
|
19
19
|
def call
|
20
20
|
return broadcast(:invalid) unless form.valid?
|
21
21
|
|
22
|
-
|
22
|
+
with_events(with_transaction: true) do
|
23
23
|
find_or_create_moderation!
|
24
24
|
register_justification!
|
25
25
|
block!
|
26
|
-
notify_user!
|
27
26
|
end
|
28
27
|
|
29
28
|
broadcast(:ok, form.user)
|
@@ -31,10 +30,22 @@ module Decidim
|
|
31
30
|
|
32
31
|
private
|
33
32
|
|
34
|
-
attr_reader :form
|
33
|
+
attr_reader :form, :current_blocking
|
34
|
+
|
35
|
+
def event_arguments
|
36
|
+
{
|
37
|
+
resource: form.user,
|
38
|
+
extra: {
|
39
|
+
event_author: form.current_user,
|
40
|
+
locale:,
|
41
|
+
justification: form.justification,
|
42
|
+
hide: form.hide?
|
43
|
+
}
|
44
|
+
}
|
45
|
+
end
|
35
46
|
|
36
47
|
def find_or_create_moderation!
|
37
|
-
Decidim::UserModeration.
|
48
|
+
Decidim::UserModeration.find_or_create_by!(user: form.user)
|
38
49
|
end
|
39
50
|
|
40
51
|
def register_justification!
|
@@ -45,13 +56,6 @@ module Decidim
|
|
45
56
|
)
|
46
57
|
end
|
47
58
|
|
48
|
-
def notify_user!
|
49
|
-
Decidim::BlockUserJob.perform_later(
|
50
|
-
@current_blocking.user,
|
51
|
-
@current_blocking.justification
|
52
|
-
)
|
53
|
-
end
|
54
|
-
|
55
59
|
def block!
|
56
60
|
Decidim.traceability.perform_action!(
|
57
61
|
"block",
|
@@ -32,7 +32,7 @@ module Decidim
|
|
32
32
|
private
|
33
33
|
|
34
34
|
def impersonation_log
|
35
|
-
@impersonation_log ||= Decidim::ImpersonationLog.where(admin: current_user, user:
|
35
|
+
@impersonation_log ||= Decidim::ImpersonationLog.where(admin: current_user, user:).active.first
|
36
36
|
end
|
37
37
|
|
38
38
|
def close_session
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Admin
|
5
|
+
module ContentBlocks
|
6
|
+
# A command that reorders a collection of content blocks. It also creates
|
7
|
+
# the ones that might be missing.
|
8
|
+
class CreateContentBlock < Decidim::Command
|
9
|
+
# Public: Initializes the command.
|
10
|
+
#
|
11
|
+
# organization - the Organization where the content blocks reside
|
12
|
+
# scope - the scope applied to the content blocks
|
13
|
+
# manifest_name - the manifest name for the content block created
|
14
|
+
# scoped_resource_id - (optional) The id of the resource the content blocks belongs to
|
15
|
+
def initialize(organization, scope, manifest_name, scoped_resource_id = nil)
|
16
|
+
@organization = organization
|
17
|
+
@scope = scope
|
18
|
+
@manifest_name = manifest_name
|
19
|
+
@scoped_resource_id = scoped_resource_id
|
20
|
+
end
|
21
|
+
|
22
|
+
# Executes the command. Broadcasts these events:
|
23
|
+
#
|
24
|
+
# - :ok when everything is valid.
|
25
|
+
# - :invalid if the data was not valid and we could not proceed.
|
26
|
+
#
|
27
|
+
# Returns nothing.
|
28
|
+
def call
|
29
|
+
create_content_block
|
30
|
+
broadcast(:ok)
|
31
|
+
rescue StandardError
|
32
|
+
broadcast(:invalid)
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
|
37
|
+
attr_reader :organization, :scope, :scoped_resource_id, :manifest_name
|
38
|
+
|
39
|
+
def create_content_block
|
40
|
+
Decidim::ContentBlock.create!(
|
41
|
+
organization:,
|
42
|
+
scope_name: scope,
|
43
|
+
scoped_resource_id:,
|
44
|
+
manifest_name:
|
45
|
+
)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Admin
|
5
|
+
module ContentBlocks
|
6
|
+
# A command with all the business logic to destroy a content block
|
7
|
+
class DestroyContentBlock < Decidim::Command
|
8
|
+
# Public: Initializes the command.
|
9
|
+
#
|
10
|
+
# content_block - The content_block to destroy
|
11
|
+
def initialize(content_block)
|
12
|
+
@content_block = content_block
|
13
|
+
end
|
14
|
+
|
15
|
+
# Executes the command. Broadcasts these events:
|
16
|
+
#
|
17
|
+
# - :ok when everything is valid.
|
18
|
+
# - :invalid if the form was not valid and we could not proceed.
|
19
|
+
#
|
20
|
+
# Returns nothing.
|
21
|
+
def call
|
22
|
+
destroy_content_block
|
23
|
+
broadcast(:ok)
|
24
|
+
rescue StandardError
|
25
|
+
broadcast(:invalid)
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
def destroy_content_block
|
31
|
+
@content_block.destroy!
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,88 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Admin
|
5
|
+
module ContentBlocks
|
6
|
+
# A command that reorders a collection of content blocks
|
7
|
+
# the ones that might be missing.
|
8
|
+
class ReorderContentBlocks < Decidim::Command
|
9
|
+
# Public: Initializes the command.
|
10
|
+
#
|
11
|
+
# organization - the Organization where the content blocks reside
|
12
|
+
# scope - the scope applied to the content blocks
|
13
|
+
# order - an Array holding the order of IDs of published content blocks.
|
14
|
+
# scoped_resource_id - (optional) The id of the resource the content blocks belongs to.
|
15
|
+
def initialize(organization, scope, order, scoped_resource_id = nil)
|
16
|
+
@organization = organization
|
17
|
+
@scope = scope
|
18
|
+
@order = order
|
19
|
+
@scoped_resource_id = scoped_resource_id
|
20
|
+
end
|
21
|
+
|
22
|
+
# Executes the command. Broadcasts these events:
|
23
|
+
#
|
24
|
+
# - :ok when everything is valid.
|
25
|
+
# - :invalid if the data was not valid and we could not proceed.
|
26
|
+
#
|
27
|
+
# Returns nothing.
|
28
|
+
def call
|
29
|
+
return broadcast(:invalid) if order.blank?
|
30
|
+
|
31
|
+
reorder_steps
|
32
|
+
broadcast(:ok)
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
|
37
|
+
attr_reader :organization, :scope, :scoped_resource_id
|
38
|
+
|
39
|
+
def reorder_steps
|
40
|
+
transaction do
|
41
|
+
reset_weights
|
42
|
+
collection.reload
|
43
|
+
set_new_weights
|
44
|
+
unpublish_removed_content_blocks
|
45
|
+
publish_appearing_content_blocks
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
def reset_weights
|
50
|
+
# rubocop:disable Rails/SkipsModelValidations
|
51
|
+
collection.where.not(weight: nil).update_all(weight: nil)
|
52
|
+
# rubocop:enable Rails/SkipsModelValidations
|
53
|
+
end
|
54
|
+
|
55
|
+
def set_new_weights
|
56
|
+
data = order.each_with_index.inject({}) do |hash, (id, index)|
|
57
|
+
hash.update(id => index + 1)
|
58
|
+
end
|
59
|
+
|
60
|
+
data.each do |id, weight|
|
61
|
+
content_block = collection.find_by(id:)
|
62
|
+
content_block.update!(weight:) if content_block.present?
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
# rubocop:disable Rails/SkipsModelValidations
|
67
|
+
def unpublish_removed_content_blocks
|
68
|
+
collection.where(weight: nil).update_all(published_at: nil)
|
69
|
+
end
|
70
|
+
|
71
|
+
def publish_appearing_content_blocks
|
72
|
+
collection.where(published_at: nil).where.not(weight: nil).update_all(published_at: Time.current)
|
73
|
+
end
|
74
|
+
# rubocop:enable Rails/SkipsModelValidations
|
75
|
+
|
76
|
+
def order
|
77
|
+
return nil unless @order.is_a?(Array) && @order.present?
|
78
|
+
|
79
|
+
@order
|
80
|
+
end
|
81
|
+
|
82
|
+
def collection
|
83
|
+
@collection ||= Decidim::ContentBlock.for_scope(scope, organization:).where(scoped_resource_id:)
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
@@ -0,0 +1,81 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Admin
|
5
|
+
module ContentBlocks
|
6
|
+
# This command gets called when a content block is updated from the admin
|
7
|
+
# panel.
|
8
|
+
class UpdateContentBlock < Decidim::Command
|
9
|
+
attr_reader :form, :content_block, :scope
|
10
|
+
|
11
|
+
# Public: Initializes the command.
|
12
|
+
#
|
13
|
+
# form - The form from which the data in this component comes from.
|
14
|
+
# component - The component to update.
|
15
|
+
# scope - the scope where the content block belongs to.
|
16
|
+
def initialize(form, content_block, scope)
|
17
|
+
@form = form
|
18
|
+
@content_block = content_block
|
19
|
+
@scope = scope
|
20
|
+
end
|
21
|
+
|
22
|
+
# Public: Updates the content block settings and its attachments.
|
23
|
+
#
|
24
|
+
# Broadcasts :ok if created, :invalid otherwise.
|
25
|
+
def call
|
26
|
+
return broadcast(:invalid) if form.invalid?
|
27
|
+
|
28
|
+
images_valid = true
|
29
|
+
|
30
|
+
transaction do
|
31
|
+
update_content_block_settings
|
32
|
+
content_block.save!
|
33
|
+
|
34
|
+
# Saving the images will cause the image file validations to run
|
35
|
+
# according to their uploader settings and the organization settings.
|
36
|
+
# The content block validation will fail in case there are processing
|
37
|
+
# errors on the image files.
|
38
|
+
#
|
39
|
+
# NOTE:
|
40
|
+
# The images can be only stored correctly if the content block is
|
41
|
+
# already persisted. This is not the case e.g. when creating a new
|
42
|
+
# newsletter which uses the content blocks through newsletter
|
43
|
+
# templates. This is why this needs to happen after the initial
|
44
|
+
# `content_block.save!` call.
|
45
|
+
update_content_block_images
|
46
|
+
unless content_block.valid?
|
47
|
+
images_valid = false
|
48
|
+
raise ActiveRecord::Rollback
|
49
|
+
end
|
50
|
+
|
51
|
+
# The save method needs to be called another time in order to store
|
52
|
+
# the image information.
|
53
|
+
content_block.save!
|
54
|
+
end
|
55
|
+
|
56
|
+
return broadcast(:invalid) unless images_valid
|
57
|
+
|
58
|
+
broadcast(:ok, content_block)
|
59
|
+
end
|
60
|
+
|
61
|
+
private
|
62
|
+
|
63
|
+
def update_content_block_settings
|
64
|
+
content_block.settings = form.settings
|
65
|
+
end
|
66
|
+
|
67
|
+
def update_content_block_images
|
68
|
+
content_block.manifest.images.each do |image_config|
|
69
|
+
image_name = image_config[:name]
|
70
|
+
|
71
|
+
if form.images[image_name]
|
72
|
+
content_block.images_container.send("#{image_name}=", form.images[image_name])
|
73
|
+
elsif form.images["remove_#{image_name}".to_sym] == "1"
|
74
|
+
content_block.images_container.send("#{image_name}=", nil)
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
@@ -14,7 +14,7 @@ module Decidim
|
|
14
14
|
# Executes the command. Broadcasts these events:
|
15
15
|
#
|
16
16
|
# - :ok when everything is valid.
|
17
|
-
# - :invalid if the form
|
17
|
+
# - :invalid if the form was not valid and we could not proceed.
|
18
18
|
#
|
19
19
|
# Returns nothing.
|
20
20
|
def call
|
@@ -15,7 +15,7 @@ module Decidim
|
|
15
15
|
# Executes the command. Broadcasts these events:
|
16
16
|
#
|
17
17
|
# - :ok when everything is valid.
|
18
|
-
# - :invalid if the form
|
18
|
+
# - :invalid if the form was not valid and we could not proceed.
|
19
19
|
#
|
20
20
|
# Returns nothing.
|
21
21
|
def call
|
@@ -18,7 +18,7 @@ module Decidim
|
|
18
18
|
# Executes the command. Broadcasts these events:
|
19
19
|
#
|
20
20
|
# - :ok when everything is valid.
|
21
|
-
# - :invalid if the form
|
21
|
+
# - :invalid if the form was not valid and we could not proceed.
|
22
22
|
#
|
23
23
|
# Returns nothing.
|
24
24
|
def call
|
@@ -18,7 +18,7 @@ module Decidim
|
|
18
18
|
# Executes the command. Broadcasts these events:
|
19
19
|
#
|
20
20
|
# - :ok when everything is valid.
|
21
|
-
# - :invalid if the form
|
21
|
+
# - :invalid if the form was not valid and we could not proceed.
|
22
22
|
#
|
23
23
|
# Returns nothing.
|
24
24
|
def call
|
@@ -19,7 +19,7 @@ module Decidim
|
|
19
19
|
# Executes the command. Broadcasts these events:
|
20
20
|
#
|
21
21
|
# - :ok when everything is valid.
|
22
|
-
# - :invalid if the form
|
22
|
+
# - :invalid if the form was not valid and we could not proceed.
|
23
23
|
#
|
24
24
|
# Returns nothing.
|
25
25
|
def call
|
@@ -43,7 +43,7 @@ module Decidim
|
|
43
43
|
end
|
44
44
|
|
45
45
|
def create_content_block
|
46
|
-
UpdateContentBlock.call(form, content_block, user) do
|
46
|
+
ContentBlocks::UpdateContentBlock.call(form, content_block, user) do
|
47
47
|
on(:ok) do |content_block|
|
48
48
|
content_block.update(scoped_resource_id: newsletter.id)
|
49
49
|
@content_block = content_block
|
@@ -20,7 +20,7 @@ module Decidim
|
|
20
20
|
# Executes the command. Broadcasts these events:
|
21
21
|
#
|
22
22
|
# - :ok when everything is valid.
|
23
|
-
# - :invalid if the form
|
23
|
+
# - :invalid if the form was not valid and we could not proceed.
|
24
24
|
#
|
25
25
|
# Returns nothing.
|
26
26
|
def call
|
@@ -52,7 +52,7 @@ module Decidim
|
|
52
52
|
}
|
53
53
|
) do
|
54
54
|
Decidim::ParticipatorySpacePrivateUser.find_or_create_by!(
|
55
|
-
user
|
55
|
+
user:,
|
56
56
|
privatable_to: @private_user_to
|
57
57
|
)
|
58
58
|
end
|
@@ -85,7 +85,7 @@ module Decidim
|
|
85
85
|
organization: private_user_to.organization,
|
86
86
|
admin: false,
|
87
87
|
invited_by: current_user,
|
88
|
-
invitation_instructions:
|
88
|
+
invitation_instructions:)
|
89
89
|
end
|
90
90
|
|
91
91
|
def invitation_instructions
|
@@ -16,7 +16,7 @@ module Decidim
|
|
16
16
|
# Executes the command. Broadcasts these events:
|
17
17
|
#
|
18
18
|
# - :ok when everything is valid.
|
19
|
-
# - :invalid if the form
|
19
|
+
# - :invalid if the form was not valid and we could not proceed.
|
20
20
|
#
|
21
21
|
# Returns nothing.
|
22
22
|
def call
|
@@ -15,7 +15,7 @@ module Decidim
|
|
15
15
|
# Executes the command. Broadcasts these events:
|
16
16
|
#
|
17
17
|
# - :ok when everything is valid.
|
18
|
-
# - :invalid if the form
|
18
|
+
# - :invalid if the form was not valid and we could not proceed.
|
19
19
|
#
|
20
20
|
# Returns nothing.
|
21
21
|
def call
|
@@ -15,7 +15,7 @@ module Decidim
|
|
15
15
|
# Executes the command. Broadcasts these events:
|
16
16
|
#
|
17
17
|
# - :ok when everything is valid.
|
18
|
-
# - :invalid if the form
|
18
|
+
# - :invalid if the form was not valid and we could not proceed.
|
19
19
|
#
|
20
20
|
# Returns nothing.
|
21
21
|
def call
|
@@ -14,7 +14,7 @@ module Decidim
|
|
14
14
|
# Executes the command. Broadcasts these events:
|
15
15
|
#
|
16
16
|
# - :ok when everything is valid.
|
17
|
-
# - :invalid if the form
|
17
|
+
# - :invalid if the form was not valid and we could not proceed.
|
18
18
|
#
|
19
19
|
# Returns nothing.
|
20
20
|
def call
|
@@ -16,7 +16,7 @@ module Decidim
|
|
16
16
|
# Executes the command. Broadcasts these events:
|
17
17
|
#
|
18
18
|
# - :ok when everything is valid.
|
19
|
-
# - :invalid if the form
|
19
|
+
# - :invalid if the form was not valid and we could not proceed.
|
20
20
|
#
|
21
21
|
# Returns nothing.
|
22
22
|
def call
|
@@ -16,11 +16,11 @@ module Decidim
|
|
16
16
|
# Executes the command. Broadcasts these events:
|
17
17
|
#
|
18
18
|
# - :ok when everything is valid.
|
19
|
-
# - :invalid if the data
|
19
|
+
# - :invalid if the data was not valid and we could not proceed.
|
20
20
|
#
|
21
21
|
# Returns nothing.
|
22
22
|
def call
|
23
|
-
return broadcast(:invalid) if category.nil? || category.subcategories.any?
|
23
|
+
return broadcast(:invalid) if category.nil? || category.subcategories.any?
|
24
24
|
|
25
25
|
destroy_category
|
26
26
|
broadcast(:ok)
|
@@ -16,7 +16,7 @@ module Decidim
|
|
16
16
|
# Executes the command. Broadcasts these events:
|
17
17
|
#
|
18
18
|
# - :ok when everything is valid.
|
19
|
-
# - :invalid if the form
|
19
|
+
# - :invalid if the form was not valid and we could not proceed.
|
20
20
|
#
|
21
21
|
# Returns nothing.
|
22
22
|
def call
|
@@ -16,7 +16,7 @@ module Decidim
|
|
16
16
|
# Executes the command. Broadcasts these events:
|
17
17
|
#
|
18
18
|
# - :ok when everything is valid.
|
19
|
-
# - :invalid if the form
|
19
|
+
# - :invalid if the form was not valid and we could not proceed.
|
20
20
|
#
|
21
21
|
# Returns nothing.
|
22
22
|
def call
|