decidim-admin 0.28.5 → 0.29.0.rc1
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.
- checksums.yaml +4 -4
- data/README.md +13 -0
- data/app/cells/decidim/admin/content_block_cell.rb +0 -1
- data/app/cells/decidim/admin/results_per_page/show.erb +2 -2
- data/app/cells/decidim/admin/results_per_page_cell.rb +0 -2
- data/app/commands/decidim/admin/block_user.rb +0 -1
- data/app/commands/decidim/admin/create_area.rb +4 -32
- data/app/commands/decidim/admin/create_area_type.rb +4 -33
- data/app/commands/decidim/admin/create_attachment.rb +5 -4
- data/app/commands/decidim/admin/create_attachment_collection.rb +3 -3
- data/app/commands/decidim/admin/create_category.rb +4 -37
- data/app/commands/decidim/admin/create_component.rb +7 -40
- data/app/commands/decidim/admin/create_newsletter.rb +11 -29
- data/app/commands/decidim/admin/create_participatory_space_private_user.rb +4 -4
- data/app/commands/decidim/admin/create_scope.rb +15 -32
- data/app/commands/decidim/admin/create_scope_type.rb +3 -32
- data/app/commands/decidim/admin/create_static_page.rb +6 -47
- data/app/commands/decidim/admin/create_static_page_topic.rb +4 -26
- data/app/commands/decidim/admin/deliver_newsletter.rb +4 -5
- data/app/commands/decidim/admin/destroy_area.rb +2 -25
- data/app/commands/decidim/admin/destroy_category.rb +4 -29
- data/app/commands/decidim/admin/destroy_component.rb +5 -43
- data/app/commands/decidim/admin/destroy_newsletter.rb +2 -30
- data/app/commands/decidim/admin/destroy_participatory_space_private_user.rb +5 -32
- data/app/commands/decidim/admin/destroy_scope.rb +6 -33
- data/app/commands/decidim/admin/officialize_user.rb +1 -1
- data/app/commands/decidim/admin/participatory_space/create_admin.rb +4 -4
- data/app/commands/decidim/admin/process_participatory_space_private_user_import_csv.rb +5 -4
- data/app/commands/decidim/admin/promote_managed_user.rb +4 -5
- data/app/commands/decidim/admin/unofficialize_user.rb +1 -1
- data/app/commands/decidim/admin/update_area.rb +2 -41
- data/app/commands/decidim/admin/update_area_type.rb +2 -42
- data/app/commands/decidim/admin/update_attachment.rb +10 -7
- data/app/commands/decidim/admin/update_attachment_collection.rb +3 -3
- data/app/commands/decidim/admin/update_category.rb +2 -45
- data/app/commands/decidim/admin/update_component.rb +4 -5
- data/app/commands/decidim/admin/update_component_permissions.rb +3 -3
- data/app/commands/decidim/admin/{update_external_domain_whitelist.rb → update_external_domain_allowlist.rb} +6 -5
- data/app/commands/decidim/admin/update_help_sections.rb +6 -3
- data/app/commands/decidim/admin/update_newsletter.rb +8 -8
- data/app/commands/decidim/admin/update_organization.rb +9 -53
- data/app/commands/decidim/admin/update_organization_appearance.rb +10 -81
- data/app/commands/decidim/admin/update_scope.rb +7 -40
- data/app/commands/decidim/admin/update_scope_type.rb +2 -42
- data/app/commands/decidim/admin/update_static_page.rb +5 -46
- data/app/commands/decidim/admin/update_static_page_topic.rb +2 -43
- data/app/constraints/decidim/admin/organization_dashboard_constraint.rb +1 -1
- data/app/controllers/concerns/decidim/admin/content_blocks/landing_page.rb +2 -2
- data/app/controllers/concerns/decidim/admin/filterable.rb +79 -4
- data/app/controllers/concerns/decidim/admin/global_moderation_context.rb +1 -1
- data/app/controllers/concerns/decidim/admin/needs_admin_tos_accepted.rb +0 -7
- data/app/controllers/concerns/decidim/admin/paginable.rb +20 -0
- data/app/controllers/concerns/decidim/admin/participatory_space_export.rb +1 -1
- data/app/controllers/decidim/admin/application_controller.rb +2 -1
- data/app/controllers/decidim/admin/area_types_controller.rb +8 -9
- data/app/controllers/decidim/admin/areas_controller.rb +1 -1
- data/app/controllers/decidim/admin/authorization_workflows_controller.rb +1 -1
- data/app/controllers/decidim/admin/block_user_controller.rb +1 -1
- data/app/controllers/decidim/admin/categories_controller.rb +2 -2
- data/app/controllers/decidim/admin/component_permissions_controller.rb +1 -1
- data/app/controllers/decidim/admin/components_controller.rb +2 -2
- data/app/controllers/decidim/admin/concerns/has_attachment_collections.rb +2 -2
- data/app/controllers/decidim/admin/concerns/has_attachments.rb +2 -2
- data/app/controllers/decidim/admin/concerns/has_private_users.rb +1 -1
- data/app/controllers/decidim/admin/concerns/has_private_users_csv_import.rb +1 -1
- data/app/controllers/decidim/admin/conflicts_controller.rb +6 -14
- data/app/controllers/decidim/admin/help_sections_controller.rb +1 -1
- data/app/controllers/decidim/admin/impersonations_controller.rb +0 -1
- data/app/controllers/decidim/admin/managed_users/promotions_controller.rb +1 -1
- data/app/controllers/decidim/admin/moderations/reports_controller.rb +4 -4
- data/app/controllers/decidim/admin/moderations_controller.rb +7 -7
- data/app/controllers/decidim/admin/newsletter_templates_controller.rb +1 -1
- data/app/controllers/decidim/admin/newsletters_controller.rb +6 -7
- data/app/controllers/decidim/admin/organization_appearance_controller.rb +1 -1
- data/app/controllers/decidim/admin/organization_controller.rb +1 -1
- data/app/controllers/decidim/admin/{organization_external_domain_whitelist_controller.rb → organization_external_domain_allowlist_controller.rb} +7 -7
- data/app/controllers/decidim/admin/scope_types_controller.rb +7 -8
- data/app/controllers/decidim/admin/scopes_controller.rb +1 -1
- data/app/controllers/decidim/admin/share_tokens_controller.rb +1 -1
- data/app/controllers/decidim/admin/static_page_topics_controller.rb +2 -2
- data/app/controllers/decidim/admin/static_pages_controller.rb +2 -2
- data/app/forms/decidim/admin/attachment_form.rb +7 -1
- data/app/forms/decidim/admin/help_section_form.rb +1 -1
- data/app/forms/decidim/admin/impersonate_user_form.rb +0 -5
- data/app/forms/decidim/admin/organization_appearance_form.rb +2 -5
- data/app/forms/decidim/admin/{organization_external_domain_whitelist_form.rb → organization_external_domain_allowlist_form.rb} +3 -3
- data/app/forms/decidim/admin/organization_form.rb +4 -4
- data/app/forms/decidim/admin/static_page_form.rb +1 -2
- data/app/forms/decidim/admin/transfer_user_form.rb +0 -15
- data/app/helpers/decidim/admin/application_helper.rb +0 -13
- data/app/helpers/decidim/admin/filterable_helper.rb +19 -3
- data/app/helpers/decidim/admin/moderations/reports_helper.rb +3 -1
- data/app/helpers/decidim/admin/newsletters_helper.rb +3 -3
- data/app/helpers/decidim/admin/paginable/per_page_helper.rb +22 -0
- data/app/jobs/decidim/admin/import_participatory_space_private_user_csv_job.rb +2 -2
- data/app/packs/entrypoints/decidim_admin.js +4 -1
- data/app/packs/src/decidim/admin/application.js +19 -15
- data/app/packs/src/decidim/admin/css_preview.js +39 -0
- data/app/packs/src/decidim/admin/form.js +18 -1
- data/app/packs/src/decidim/admin/newsletters.js +9 -18
- data/app/packs/src/decidim/admin/participatory_space_search.js +1 -1
- data/app/packs/src/decidim/admin/proposal_infinite_edit.js +2 -2
- data/app/packs/src/decidim/admin/sync_radio_buttons.js +27 -0
- data/app/packs/src/decidim/admin/text_copy.js +19 -0
- data/app/packs/stylesheets/decidim/admin/_cards.scss +1 -1
- data/app/packs/stylesheets/decidim/admin/_datepicker.scss +62 -0
- data/app/packs/stylesheets/decidim/admin/_item_edit.scss +1 -1
- data/app/packs/stylesheets/decidim/admin/_item_show.scss +8 -0
- data/app/packs/stylesheets/decidim/admin/_moderations.scss +0 -8
- data/app/packs/stylesheets/decidim/admin/_proposal_status.scss +5 -0
- data/app/packs/stylesheets/decidim/admin/application.scss +2 -0
- data/app/permissions/decidim/admin/permissions.rb +2 -2
- data/app/queries/decidim/admin/newsletter_recipients.rb +5 -9
- data/app/queries/decidim/admin/user_filter.rb +4 -4
- data/app/queries/decidim/admin/user_groups_evaluation.rb +1 -1
- data/app/views/decidim/admin/attachment_collections/index.html.erb +1 -1
- data/app/views/decidim/admin/attachments/_form.html.erb +21 -2
- data/app/views/decidim/admin/attachments/index.html.erb +2 -2
- data/app/views/decidim/admin/authorization_workflows/index.html.erb +26 -8
- data/app/views/decidim/admin/block_user/new.html.erb +1 -1
- data/app/views/decidim/admin/categories/index.html.erb +2 -2
- data/app/views/decidim/admin/components/_form.html.erb +1 -1
- data/app/views/decidim/admin/components/index.html.erb +1 -5
- data/app/views/decidim/admin/conflicts/edit.html.erb +11 -21
- data/app/views/decidim/admin/conflicts/index.html.erb +6 -29
- data/app/views/decidim/admin/dashboard/_pending_moderations.html.erb +1 -1
- data/app/views/decidim/admin/dashboard/show.html.erb +1 -1
- data/app/views/decidim/admin/exports/_dropdown.html.erb +6 -6
- data/app/views/decidim/admin/impersonatable_users/index.html.erb +3 -3
- data/app/views/decidim/admin/imports/_dropdown.html.erb +5 -7
- data/app/views/decidim/admin/imports/new.html.erb +6 -7
- data/app/views/decidim/admin/logs/_filters.html.erb +3 -3
- data/app/views/decidim/admin/managed_users/promotions/new.html.erb +1 -1
- data/app/views/decidim/admin/moderated_users/index.html.erb +4 -4
- data/app/views/decidim/admin/moderations/index.html.erb +5 -5
- data/app/views/decidim/admin/moderations/reports/index.html.erb +6 -6
- data/app/views/decidim/admin/moderations/reports/show.html.erb +4 -4
- data/app/views/decidim/admin/newsletter_templates/index.html.erb +3 -2
- data/app/views/decidim/admin/newsletter_templates/show.html.erb +7 -7
- data/app/views/decidim/admin/newsletters/index.html.erb +1 -1
- data/app/views/decidim/admin/newsletters/select_recipients_to_deliver.html.erb +6 -7
- data/app/views/decidim/admin/newsletters/show.html.erb +1 -1
- data/app/views/decidim/admin/organization/_form.html.erb +3 -3
- data/app/views/decidim/admin/organization_appearance/form/_colors.html.erb +0 -3
- data/app/views/decidim/admin/organization_appearance/form/_images.html.erb +5 -5
- data/app/views/decidim/admin/organization_appearance/form/_minimap.html.erb +3 -3
- data/app/views/decidim/admin/{organization_external_domain_whitelist → organization_external_domain_allowlist}/_external_domain.html.erb +4 -4
- data/app/views/decidim/admin/{organization_external_domain_whitelist → organization_external_domain_allowlist}/_form.html.erb +2 -2
- data/app/views/decidim/admin/{organization_external_domain_whitelist → organization_external_domain_allowlist}/edit.html.erb +2 -2
- data/app/views/decidim/admin/participatory_space_private_users/index.html.erb +1 -1
- data/app/views/decidim/admin/participatory_space_private_users_csv_imports/new.html.erb +1 -1
- data/app/views/decidim/admin/share_tokens/_share_tokens.html.erb +1 -1
- data/app/views/decidim/admin/shared/_adjacent_navigation.html.erb +30 -0
- data/app/views/decidim/admin/shared/_admin_confirm_modal.html.erb +7 -7
- data/app/views/decidim/admin/shared/_filters.html.erb +1 -1
- data/app/views/decidim/admin/shared/_gallery.html.erb +1 -1
- data/app/views/decidim/admin/shared/landing_page/_content_blocks.html.erb +2 -2
- data/app/views/decidim/admin/shared/landing_page_content_blocks/edit.html.erb +1 -1
- data/app/views/decidim/admin/static_page_topics/index.html.erb +1 -1
- data/app/views/decidim/admin/static_pages/_form.html.erb +0 -4
- data/app/views/decidim/admin/users_statistics/_users_count.html.erb +2 -2
- data/app/views/layouts/decidim/admin/_admin_timeout_modal.html.erb +2 -2
- data/app/views/layouts/decidim/admin/_application.html.erb +4 -4
- data/app/views/layouts/decidim/admin/_callouts_full.html.erb +1 -1
- data/app/views/layouts/decidim/admin/_js_configuration.html.erb +3 -1
- data/app/views/layouts/decidim/admin/_title_bar.html.erb +2 -2
- data/app/views/layouts/decidim/admin/_title_bar_responsive.html.erb +2 -2
- data/config/locales/ar.yml +1 -54
- data/config/locales/bg.yml +15 -12
- data/config/locales/ca.yml +18 -15
- data/config/locales/cs.yml +15 -17
- data/config/locales/de.yml +18 -15
- data/config/locales/el.yml +0 -11
- data/config/locales/en.yml +15 -12
- data/config/locales/es-MX.yml +17 -14
- data/config/locales/es-PY.yml +17 -14
- data/config/locales/es.yml +19 -16
- data/config/locales/eu.yml +145 -154
- data/config/locales/fi-plain.yml +18 -15
- data/config/locales/fi.yml +39 -36
- data/config/locales/fr-CA.yml +15 -12
- data/config/locales/fr.yml +13 -10
- data/config/locales/ga-IE.yml +0 -3
- data/config/locales/gl.yml +2 -6
- data/config/locales/hu.yml +9 -10
- data/config/locales/id-ID.yml +0 -7
- data/config/locales/is-IS.yml +0 -15
- data/config/locales/it.yml +3 -10
- data/config/locales/ja.yml +20 -17
- data/config/locales/kaa.yml +3 -3
- data/config/locales/ko.yml +1 -6
- data/config/locales/lb.yml +4 -11
- data/config/locales/lt.yml +0 -12
- data/config/locales/lv.yml +2 -6
- data/config/locales/nl.yml +1 -8
- data/config/locales/no.yml +1 -8
- data/config/locales/pl.yml +15 -10
- data/config/locales/pt-BR.yml +8 -12
- data/config/locales/pt.yml +0 -11
- data/config/locales/ro-RO.yml +5 -22
- data/config/locales/ru.yml +1 -6
- data/config/locales/sk.yml +2 -6
- data/config/locales/sl.yml +2 -0
- data/config/locales/sq-AL.yml +3 -3
- data/config/locales/sr-CS.yml +3 -6
- data/config/locales/sv.yml +209 -357
- data/config/locales/th-TH.yml +0 -13
- data/config/locales/tr-TR.yml +2 -6
- data/config/locales/uk.yml +0 -6
- data/config/locales/zh-CN.yml +6 -3
- data/config/locales/zh-TW.yml +0 -11
- data/config/routes.rb +2 -2
- data/decidim-admin.gemspec +2 -2
- data/lib/decidim/admin/engine.rb +0 -1
- data/lib/decidim/admin/import/creator.rb +1 -1
- data/lib/decidim/admin/import/importer_factory.rb +2 -2
- data/lib/decidim/admin/menu.rb +4 -4
- data/lib/decidim/admin/test/commands/create_attachment_collection_examples.rb +3 -2
- data/lib/decidim/admin/test/commands/create_category_examples.rb +4 -2
- data/lib/decidim/admin/test/commands/update_attachment_collection_examples.rb +3 -2
- data/lib/decidim/admin/test/commands/update_category_examples.rb +3 -2
- data/lib/decidim/admin/test/filterable_examples.rb +5 -3
- data/lib/decidim/admin/test/filters_participatory_space_user_roles_examples.rb +5 -5
- data/lib/decidim/admin/test/invite_participatory_space_admins_shared_examples.rb +1 -1
- data/lib/decidim/admin/test/invite_participatory_space_users_shared_context.rb +0 -1
- data/lib/decidim/admin/test/manage_attachment_collections_examples.rb +12 -12
- data/lib/decidim/admin/test/manage_attachments_examples.rb +52 -28
- data/lib/decidim/admin/test/manage_categories_examples.rb +13 -13
- data/lib/decidim/admin/test/manage_component_permissions_examples.rb +5 -5
- data/lib/decidim/admin/test/manage_hide_content_examples.rb +4 -4
- data/lib/decidim/admin/test/manage_moderations_examples.rb +21 -21
- data/lib/decidim/admin/test/manage_paginated_collection_examples.rb +5 -5
- data/lib/decidim/admin/test/manage_participatory_space_publications_examples.rb +2 -2
- data/lib/decidim/admin/version.rb +1 -1
- data/lib/decidim/admin.rb +15 -0
- metadata +28 -27
- data/app/commands/decidim/admin/destroy_share_token.rb +0 -46
- data/app/commands/decidim/admin/destroy_static_page.rb +0 -40
- data/app/commands/decidim/admin/destroy_static_page_topic.rb +0 -40
- data/app/controllers/concerns/decidim/admin/verification_conflicts/filterable.rb +0 -31
- data/app/views/layouts/decidim/admin/login.html.erb +0 -19
- data/config/locales/bn-BD.yml +0 -1
- data/config/locales/bs-BA.yml +0 -528
- /data/app/packs/src/decidim/admin/{external_domain_whitelist.js → external_domain_allowlist.js} +0 -0
@@ -23,7 +23,7 @@ shared_examples "Managing component permissions" do
|
|
23
23
|
context "when setting permissions" do
|
24
24
|
before do
|
25
25
|
within ".component-#{component.id}" do
|
26
|
-
|
26
|
+
click_on "Permissions"
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
@@ -54,7 +54,7 @@ shared_examples "Managing component permissions" do
|
|
54
54
|
before do
|
55
55
|
allow_any_instance_of(Decidim::Admin::PermissionsForm).to receive(:valid?).and_return(false)
|
56
56
|
within ".component-#{component.id}" do
|
57
|
-
|
57
|
+
click_on "Permissions"
|
58
58
|
end
|
59
59
|
within "#components form" do
|
60
60
|
within ".foo-permission" do
|
@@ -85,7 +85,7 @@ shared_examples "Managing component permissions" do
|
|
85
85
|
)
|
86
86
|
|
87
87
|
within ".component-#{component.id}" do
|
88
|
-
|
88
|
+
click_on "Permissions"
|
89
89
|
end
|
90
90
|
end
|
91
91
|
|
@@ -120,7 +120,7 @@ shared_examples "Managing component permissions" do
|
|
120
120
|
)
|
121
121
|
|
122
122
|
within ".component-#{component.id}" do
|
123
|
-
|
123
|
+
click_on "Permissions"
|
124
124
|
end
|
125
125
|
end
|
126
126
|
|
@@ -206,7 +206,7 @@ shared_examples "Managing component permissions" do
|
|
206
206
|
let(:component_settings) { { resources_permissions_enabled: false } }
|
207
207
|
|
208
208
|
it "does not show the resource permissions settings" do
|
209
|
-
expect(page).
|
209
|
+
expect(page).to have_no_content(resource.title)
|
210
210
|
end
|
211
211
|
end
|
212
212
|
|
@@ -19,7 +19,7 @@ shared_examples "hideable resource during block" do
|
|
19
19
|
visit reportable_path
|
20
20
|
|
21
21
|
within ".profile__actions-secondary", match: :first do
|
22
|
-
|
22
|
+
click_on(I18n.t("decidim.shared.flag_modal.report"))
|
23
23
|
end
|
24
24
|
within ".flag-modal" do
|
25
25
|
find(:css, "input[name='report[block]']").set(true)
|
@@ -31,7 +31,7 @@ shared_examples "hideable resource during block" do
|
|
31
31
|
within ".flag-modal" do
|
32
32
|
find(:css, "input[name='report[hide]']").set(true)
|
33
33
|
end
|
34
|
-
|
34
|
+
click_on I18n.t("decidim.shared.flag_user_modal.block")
|
35
35
|
expect(page).to have_current_path(decidim_admin.new_user_block_path(user_id: reportable.id, hide: true))
|
36
36
|
end
|
37
37
|
|
@@ -46,12 +46,12 @@ shared_examples "hideable resource during block" do
|
|
46
46
|
within ".flag-modal" do
|
47
47
|
find(:css, "input[name='report[hide]']").set(true)
|
48
48
|
end
|
49
|
-
|
49
|
+
click_on I18n.t("decidim.shared.flag_user_modal.block")
|
50
50
|
expect(page).to have_current_path(decidim_admin.new_user_block_path(user_id: reportable.id, hide: true))
|
51
51
|
|
52
52
|
fill_in :block_user_justification, with: "This user is a spammer" * 2 # to have at least 15 chars
|
53
53
|
|
54
|
-
|
54
|
+
click_on I18n.t("decidim.admin.block_user.new.action")
|
55
55
|
|
56
56
|
expect(content.reload).to be_hidden
|
57
57
|
|
@@ -15,16 +15,16 @@ shared_examples "sorted moderations" do
|
|
15
15
|
before do
|
16
16
|
visit participatory_space_path
|
17
17
|
if moderations_link_in_admin_menu
|
18
|
-
within_admin_sidebar_menu {
|
18
|
+
within_admin_sidebar_menu { click_on(moderations_link_text) }
|
19
19
|
else
|
20
|
-
within("div.layout-nav") {
|
20
|
+
within("div.layout-nav") { click_on(moderations_link_text) }
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
24
|
it "sorts the most recent first" do
|
25
25
|
link_text = find("ul[data-pages]").text.split("\n")[-2]
|
26
26
|
within "ul[data-pages]" do
|
27
|
-
|
27
|
+
click_on link_text
|
28
28
|
end
|
29
29
|
all("tbody tr").each_with_index do |row, _index|
|
30
30
|
expect(row.find("td:first-child")).to have_content(reportables.first.id)
|
@@ -54,9 +54,9 @@ shared_examples "manage moderations" do
|
|
54
54
|
before do
|
55
55
|
visit participatory_space_path
|
56
56
|
if moderations_link_in_admin_menu
|
57
|
-
within_admin_sidebar_menu {
|
57
|
+
within_admin_sidebar_menu { click_on(moderations_link_text) }
|
58
58
|
else
|
59
|
-
within("div.layout-nav") {
|
59
|
+
within("div.layout-nav") { click_on(moderations_link_text) }
|
60
60
|
end
|
61
61
|
end
|
62
62
|
|
@@ -68,7 +68,7 @@ shared_examples "manage moderations" do
|
|
68
68
|
|
69
69
|
visit current_path
|
70
70
|
|
71
|
-
expect(page).
|
71
|
+
expect(page).to have_no_css("tr[data-id=\"#{external_moderation.id}\"]")
|
72
72
|
end
|
73
73
|
|
74
74
|
it "user can review them" do
|
@@ -82,7 +82,7 @@ shared_examples "manage moderations" do
|
|
82
82
|
|
83
83
|
it "user can un-report a resource" do
|
84
84
|
within "tr[data-id=\"#{moderation.id}\"]" do
|
85
|
-
|
85
|
+
click_on "Unreport"
|
86
86
|
end
|
87
87
|
|
88
88
|
expect(page).to have_admin_callout("Resource successfully unreported")
|
@@ -90,11 +90,11 @@ shared_examples "manage moderations" do
|
|
90
90
|
|
91
91
|
it "user can hide a resource" do
|
92
92
|
within "tr[data-id=\"#{moderation.id}\"]" do
|
93
|
-
|
93
|
+
click_on "Hide"
|
94
94
|
end
|
95
95
|
|
96
96
|
expect(page).to have_admin_callout("Resource successfully hidden")
|
97
|
-
expect(page).
|
97
|
+
expect(page).to have_no_content(moderation.reportable.reported_content_url)
|
98
98
|
end
|
99
99
|
|
100
100
|
it "user can sort by report count" do
|
@@ -102,7 +102,7 @@ shared_examples "manage moderations" do
|
|
102
102
|
moderations_ordered_by_report_count_asc = moderations.sort_by(&:report_count)
|
103
103
|
|
104
104
|
within "table" do
|
105
|
-
|
105
|
+
click_on "Reports count"
|
106
106
|
|
107
107
|
all("tbody tr").each_with_index do |row, index|
|
108
108
|
reportable_id = moderations_ordered_by_report_count_asc[index].reportable.id
|
@@ -116,23 +116,23 @@ shared_examples "manage moderations" do
|
|
116
116
|
within ".filters__section" do
|
117
117
|
find(:xpath, "//a[contains(text(), 'Filter')]").hover
|
118
118
|
find(:xpath, "//a[contains(text(), 'Type')]").hover
|
119
|
-
|
119
|
+
click_on reportable_type
|
120
120
|
end
|
121
|
-
expect(page).to
|
121
|
+
expect(page).to have_css("tbody tr", count: moderations.length)
|
122
122
|
end
|
123
123
|
|
124
124
|
it "user can filter by reported content" do
|
125
125
|
search = moderation.reportable.id
|
126
126
|
within ".filters__section" do
|
127
127
|
fill_in("Search Moderation by reportable id or content.", with: search)
|
128
|
-
|
128
|
+
within(".input-group-button") { click_on(class: "text-secondary") }
|
129
129
|
end
|
130
|
-
expect(page).to
|
130
|
+
expect(page).to have_css("tbody tr", count: 1)
|
131
131
|
end
|
132
132
|
|
133
133
|
it "user can see moderation details" do
|
134
134
|
within "tr[data-id=\"#{moderation.id}\"]" do
|
135
|
-
|
135
|
+
click_on "Expand"
|
136
136
|
end
|
137
137
|
|
138
138
|
reported_content_slice = moderation.reportable.reported_searchable_content_text.split("\n").first
|
@@ -144,7 +144,7 @@ shared_examples "manage moderations" do
|
|
144
144
|
moderation.reportable.destroy
|
145
145
|
visit current_path
|
146
146
|
|
147
|
-
expect(page).
|
147
|
+
expect(page).to have_no_css("tr[data-id=\"#{moderation.id}\"]")
|
148
148
|
end
|
149
149
|
end
|
150
150
|
|
@@ -170,7 +170,7 @@ shared_examples "manage moderations" do
|
|
170
170
|
)
|
171
171
|
|
172
172
|
within_language_menu(admin: true) do
|
173
|
-
|
173
|
+
click_on "Català"
|
174
174
|
end
|
175
175
|
end
|
176
176
|
|
@@ -184,11 +184,11 @@ shared_examples "manage moderations" do
|
|
184
184
|
|
185
185
|
context "when listing hidden resources" do
|
186
186
|
before do
|
187
|
-
|
187
|
+
click_on "Hidden"
|
188
188
|
end
|
189
189
|
|
190
190
|
it "user cannot unreport them" do
|
191
|
-
expect(page).
|
191
|
+
expect(page).to have_no_css(".action-icon--unreport")
|
192
192
|
end
|
193
193
|
|
194
194
|
it "user can review them" do
|
@@ -231,11 +231,11 @@ shared_examples "manage moderations" do
|
|
231
231
|
it "user can hide them" do
|
232
232
|
moderation_id = moderations.first.id
|
233
233
|
within "tr[data-id=\"#{moderation_id}\"]" do
|
234
|
-
|
234
|
+
click_on "Hide"
|
235
235
|
end
|
236
236
|
|
237
237
|
expect(page).to have_admin_callout("Resource successfully hidden")
|
238
|
-
expect(page).
|
238
|
+
expect(page).to have_no_css("tr[data-id=\"#{moderation_id}\"]")
|
239
239
|
end
|
240
240
|
end
|
241
241
|
end
|
@@ -3,7 +3,7 @@
|
|
3
3
|
shared_examples "a paginated collection" do |options|
|
4
4
|
before do
|
5
5
|
# Current path strips out the request parameters, use current_url when needed
|
6
|
-
# Be aware that
|
6
|
+
# Be aware that current_url can lead to flaky, use with caution
|
7
7
|
if options&.dig(:url)
|
8
8
|
visit current_url
|
9
9
|
else
|
@@ -12,17 +12,17 @@ shared_examples "a paginated collection" do |options|
|
|
12
12
|
end
|
13
13
|
|
14
14
|
describe "Number of results per page" do
|
15
|
-
it "lists
|
16
|
-
expect(page).to have_css(".table-list tbody tr", count:
|
15
|
+
it "lists 15 resources per page by default" do
|
16
|
+
expect(page).to have_css(".table-list tbody tr", count: 15)
|
17
17
|
end
|
18
18
|
|
19
19
|
it "changes the number of results per page" do
|
20
20
|
within "[data-pagination]" do
|
21
|
-
page.find("details", text: "
|
21
|
+
page.find("details", text: "15").click
|
22
22
|
click_on "50"
|
23
23
|
end
|
24
24
|
|
25
|
-
expect(page).to
|
25
|
+
expect(page).to have_css(".table-list tbody tr", count: 50)
|
26
26
|
end
|
27
27
|
end
|
28
28
|
end
|
@@ -15,7 +15,7 @@ shared_examples "manage participatory space publications" do |_options|
|
|
15
15
|
end
|
16
16
|
|
17
17
|
it "publishes it" do
|
18
|
-
|
18
|
+
click_on "Publish"
|
19
19
|
|
20
20
|
expect(page).to have_content("successfully")
|
21
21
|
|
@@ -42,7 +42,7 @@ shared_examples "manage participatory space publications" do |_options|
|
|
42
42
|
it "unpublishes it" do
|
43
43
|
# we cannot use "a 404 page" shared example as we want to check it
|
44
44
|
# inside an example
|
45
|
-
|
45
|
+
click_on "Unpublish"
|
46
46
|
|
47
47
|
expect(page).to have_content("successfully")
|
48
48
|
|
data/lib/decidim/admin.rb
CHANGED
@@ -17,6 +17,21 @@ module Decidim
|
|
17
17
|
|
18
18
|
include ActiveSupport::Configurable
|
19
19
|
|
20
|
+
# Public Setting that configures Kaminari configuration options
|
21
|
+
# https://github.com/kaminari/kaminari#general-configuration-options
|
22
|
+
|
23
|
+
# Range of number of results per_page. Defaults to [15, 50, 100].
|
24
|
+
# per_page_range.first sets the default number per page
|
25
|
+
# per_page_range.last sets the default max_per_page
|
26
|
+
config_accessor :per_page_range do
|
27
|
+
[15, 50, 100]
|
28
|
+
end
|
29
|
+
|
30
|
+
Kaminari.configure do |config|
|
31
|
+
config.default_per_page = Decidim::Admin.per_page_range.first
|
32
|
+
config.max_per_page = Decidim::Admin.per_page_range.last
|
33
|
+
end
|
34
|
+
|
20
35
|
# Public: Stores an instance of ViewHooks
|
21
36
|
def self.view_hooks
|
22
37
|
@view_hooks ||= ViewHooks.new
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decidim-admin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.29.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josep Jaume Rey Peroy
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2024-07-16 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: active_link_to
|
@@ -32,14 +32,14 @@ dependencies:
|
|
32
32
|
requirements:
|
33
33
|
- - '='
|
34
34
|
- !ruby/object:Gem::Version
|
35
|
-
version: 0.
|
35
|
+
version: 0.29.0.rc1
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
40
|
- - '='
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: 0.
|
42
|
+
version: 0.29.0.rc1
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: devise
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,28 +94,28 @@ dependencies:
|
|
94
94
|
requirements:
|
95
95
|
- - '='
|
96
96
|
- !ruby/object:Gem::Version
|
97
|
-
version: 0.
|
97
|
+
version: 0.29.0.rc1
|
98
98
|
type: :development
|
99
99
|
prerelease: false
|
100
100
|
version_requirements: !ruby/object:Gem::Requirement
|
101
101
|
requirements:
|
102
102
|
- - '='
|
103
103
|
- !ruby/object:Gem::Version
|
104
|
-
version: 0.
|
104
|
+
version: 0.29.0.rc1
|
105
105
|
- !ruby/object:Gem::Dependency
|
106
106
|
name: decidim-participatory_processes
|
107
107
|
requirement: !ruby/object:Gem::Requirement
|
108
108
|
requirements:
|
109
109
|
- - '='
|
110
110
|
- !ruby/object:Gem::Version
|
111
|
-
version: 0.
|
111
|
+
version: 0.29.0.rc1
|
112
112
|
type: :development
|
113
113
|
prerelease: false
|
114
114
|
version_requirements: !ruby/object:Gem::Requirement
|
115
115
|
requirements:
|
116
116
|
- - '='
|
117
117
|
- !ruby/object:Gem::Version
|
118
|
-
version: 0.
|
118
|
+
version: 0.29.0.rc1
|
119
119
|
description: Organization administration to manage a single organization.
|
120
120
|
email:
|
121
121
|
- josepjaume@gmail.com
|
@@ -162,9 +162,6 @@ files:
|
|
162
162
|
- app/commands/decidim/admin/destroy_newsletter.rb
|
163
163
|
- app/commands/decidim/admin/destroy_participatory_space_private_user.rb
|
164
164
|
- app/commands/decidim/admin/destroy_scope.rb
|
165
|
-
- app/commands/decidim/admin/destroy_share_token.rb
|
166
|
-
- app/commands/decidim/admin/destroy_static_page.rb
|
167
|
-
- app/commands/decidim/admin/destroy_static_page_topic.rb
|
168
165
|
- app/commands/decidim/admin/hide_resource.rb
|
169
166
|
- app/commands/decidim/admin/impersonate_user.rb
|
170
167
|
- app/commands/decidim/admin/invite_admin.rb
|
@@ -194,7 +191,7 @@ files:
|
|
194
191
|
- app/commands/decidim/admin/update_category.rb
|
195
192
|
- app/commands/decidim/admin/update_component.rb
|
196
193
|
- app/commands/decidim/admin/update_component_permissions.rb
|
197
|
-
- app/commands/decidim/admin/
|
194
|
+
- app/commands/decidim/admin/update_external_domain_allowlist.rb
|
198
195
|
- app/commands/decidim/admin/update_help_sections.rb
|
199
196
|
- app/commands/decidim/admin/update_newsletter.rb
|
200
197
|
- app/commands/decidim/admin/update_organization.rb
|
@@ -215,12 +212,12 @@ files:
|
|
215
212
|
- app/controllers/concerns/decidim/admin/logs/filterable.rb
|
216
213
|
- app/controllers/concerns/decidim/admin/needs_admin_tos_accepted.rb
|
217
214
|
- app/controllers/concerns/decidim/admin/officializations/filterable.rb
|
215
|
+
- app/controllers/concerns/decidim/admin/paginable.rb
|
218
216
|
- app/controllers/concerns/decidim/admin/participatory_space_admin_breadcrumb.rb
|
219
217
|
- app/controllers/concerns/decidim/admin/participatory_space_admin_context.rb
|
220
218
|
- app/controllers/concerns/decidim/admin/participatory_space_export.rb
|
221
219
|
- app/controllers/concerns/decidim/admin/user_groups.rb
|
222
220
|
- app/controllers/concerns/decidim/admin/user_groups/filterable.rb
|
223
|
-
- app/controllers/concerns/decidim/admin/verification_conflicts/filterable.rb
|
224
221
|
- app/controllers/concerns/decidim/moderated_users/admin/filterable.rb
|
225
222
|
- app/controllers/concerns/decidim/moderations/admin/filterable.rb
|
226
223
|
- app/controllers/concerns/decidim/participatory_space_private_users/admin/filterable.rb
|
@@ -262,7 +259,7 @@ files:
|
|
262
259
|
- app/controllers/decidim/admin/officializations_controller.rb
|
263
260
|
- app/controllers/decidim/admin/organization_appearance_controller.rb
|
264
261
|
- app/controllers/decidim/admin/organization_controller.rb
|
265
|
-
- app/controllers/decidim/admin/
|
262
|
+
- app/controllers/decidim/admin/organization_external_domain_allowlist_controller.rb
|
266
263
|
- app/controllers/decidim/admin/organization_homepage_content_blocks_controller.rb
|
267
264
|
- app/controllers/decidim/admin/organization_homepage_controller.rb
|
268
265
|
- app/controllers/decidim/admin/participatory_space/user_role_controller.rb
|
@@ -299,7 +296,7 @@ files:
|
|
299
296
|
- app/forms/decidim/admin/newsletter_form.rb
|
300
297
|
- app/forms/decidim/admin/officialization_form.rb
|
301
298
|
- app/forms/decidim/admin/organization_appearance_form.rb
|
302
|
-
- app/forms/decidim/admin/
|
299
|
+
- app/forms/decidim/admin/organization_external_domain_allowlist_form.rb
|
303
300
|
- app/forms/decidim/admin/organization_form.rb
|
304
301
|
- app/forms/decidim/admin/participatory_space_admin_user_form.rb
|
305
302
|
- app/forms/decidim/admin/participatory_space_private_user_csv_import_form.rb
|
@@ -331,6 +328,7 @@ files:
|
|
331
328
|
- app/helpers/decidim/admin/moderations/reports_helper.rb
|
332
329
|
- app/helpers/decidim/admin/moderations_helper.rb
|
333
330
|
- app/helpers/decidim/admin/newsletters_helper.rb
|
331
|
+
- app/helpers/decidim/admin/paginable/per_page_helper.rb
|
334
332
|
- app/helpers/decidim/admin/reminders_helper.rb
|
335
333
|
- app/helpers/decidim/admin/resource_permissions_helper.rb
|
336
334
|
- app/helpers/decidim/admin/resource_scope_helper.rb
|
@@ -357,9 +355,10 @@ files:
|
|
357
355
|
- app/packs/src/decidim/admin/auto_label_by_position.component.js
|
358
356
|
- app/packs/src/decidim/admin/budget_rule_toggler.component.js
|
359
357
|
- app/packs/src/decidim/admin/choose_language.js
|
358
|
+
- app/packs/src/decidim/admin/css_preview.js
|
360
359
|
- app/packs/src/decidim/admin/draggable-list.js
|
361
360
|
- app/packs/src/decidim/admin/dynamic_fields.component.js
|
362
|
-
- app/packs/src/decidim/admin/
|
361
|
+
- app/packs/src/decidim/admin/external_domain_allowlist.js
|
363
362
|
- app/packs/src/decidim/admin/field_dependent_inputs.component.js
|
364
363
|
- app/packs/src/decidim/admin/form.js
|
365
364
|
- app/packs/src/decidim/admin/managed_users.js
|
@@ -374,7 +373,9 @@ files:
|
|
374
373
|
- app/packs/src/decidim/admin/sortable.js
|
375
374
|
- app/packs/src/decidim/admin/subform_multi_toggler.component.js
|
376
375
|
- app/packs/src/decidim/admin/subform_toggler.component.js
|
376
|
+
- app/packs/src/decidim/admin/sync_radio_buttons.js
|
377
377
|
- app/packs/src/decidim/admin/tab_focus.js
|
378
|
+
- app/packs/src/decidim/admin/text_copy.js
|
378
379
|
- app/packs/src/decidim/admin/toggle_nav.js
|
379
380
|
- app/packs/src/decidim/admin/triadic_color_picker.js
|
380
381
|
- app/packs/src/decidim/admin/welcome_notification.js
|
@@ -383,6 +384,7 @@ files:
|
|
383
384
|
- app/packs/stylesheets/decidim/admin/_color_picker.scss
|
384
385
|
- app/packs/stylesheets/decidim/admin/_component-show.scss
|
385
386
|
- app/packs/stylesheets/decidim/admin/_data_picker.scss
|
387
|
+
- app/packs/stylesheets/decidim/admin/_datepicker.scss
|
386
388
|
- app/packs/stylesheets/decidim/admin/_dropdown.scss
|
387
389
|
- app/packs/stylesheets/decidim/admin/_filters.scss
|
388
390
|
- app/packs/stylesheets/decidim/admin/_forms.scss
|
@@ -394,6 +396,7 @@ files:
|
|
394
396
|
- app/packs/stylesheets/decidim/admin/_main-nav.scss
|
395
397
|
- app/packs/stylesheets/decidim/admin/_minimap.scss
|
396
398
|
- app/packs/stylesheets/decidim/admin/_moderations.scss
|
399
|
+
- app/packs/stylesheets/decidim/admin/_proposal_status.scss
|
397
400
|
- app/packs/stylesheets/decidim/admin/_secondary-nav.scss
|
398
401
|
- app/packs/stylesheets/decidim/admin/_show_email.scss
|
399
402
|
- app/packs/stylesheets/decidim/admin/_sidebar-menu.scss
|
@@ -496,9 +499,9 @@ files:
|
|
496
499
|
- app/views/decidim/admin/organization_appearance/form/_header_snippets.html.erb
|
497
500
|
- app/views/decidim/admin/organization_appearance/form/_images.html.erb
|
498
501
|
- app/views/decidim/admin/organization_appearance/form/_minimap.html.erb
|
499
|
-
- app/views/decidim/admin/
|
500
|
-
- app/views/decidim/admin/
|
501
|
-
- app/views/decidim/admin/
|
502
|
+
- app/views/decidim/admin/organization_external_domain_allowlist/_external_domain.html.erb
|
503
|
+
- app/views/decidim/admin/organization_external_domain_allowlist/_form.html.erb
|
504
|
+
- app/views/decidim/admin/organization_external_domain_allowlist/edit.html.erb
|
502
505
|
- app/views/decidim/admin/participatory_space_private_users/_form.html.erb
|
503
506
|
- app/views/decidim/admin/participatory_space_private_users/index.html.erb
|
504
507
|
- app/views/decidim/admin/participatory_space_private_users/new.html.erb
|
@@ -515,6 +518,7 @@ files:
|
|
515
518
|
- app/views/decidim/admin/scopes/index.html.erb
|
516
519
|
- app/views/decidim/admin/scopes/new.html.erb
|
517
520
|
- app/views/decidim/admin/share_tokens/_share_tokens.html.erb
|
521
|
+
- app/views/decidim/admin/shared/_adjacent_navigation.html.erb
|
518
522
|
- app/views/decidim/admin/shared/_admin_confirm_modal.html.erb
|
519
523
|
- app/views/decidim/admin/shared/_filters.html.erb
|
520
524
|
- app/views/decidim/admin/shared/_gallery.html.erb
|
@@ -549,7 +553,6 @@ files:
|
|
549
553
|
- app/views/layouts/decidim/admin/_title_bar_responsive.html.erb
|
550
554
|
- app/views/layouts/decidim/admin/application.html.erb
|
551
555
|
- app/views/layouts/decidim/admin/global_moderations.html.erb
|
552
|
-
- app/views/layouts/decidim/admin/login.html.erb
|
553
556
|
- app/views/layouts/decidim/admin/newsletters.erb
|
554
557
|
- app/views/layouts/decidim/admin/settings.html.erb
|
555
558
|
- app/views/layouts/decidim/admin/users.html.erb
|
@@ -560,8 +563,6 @@ files:
|
|
560
563
|
- config/locales/ar.yml
|
561
564
|
- config/locales/bg-BG.yml
|
562
565
|
- config/locales/bg.yml
|
563
|
-
- config/locales/bn-BD.yml
|
564
|
-
- config/locales/bs-BA.yml
|
565
566
|
- config/locales/ca.yml
|
566
567
|
- config/locales/cs-CZ.yml
|
567
568
|
- config/locales/cs.yml
|
@@ -692,7 +693,7 @@ files:
|
|
692
693
|
- lib/decidim/admin/version.rb
|
693
694
|
homepage: https://decidim.org
|
694
695
|
licenses:
|
695
|
-
- AGPL-3.0
|
696
|
+
- AGPL-3.0
|
696
697
|
metadata:
|
697
698
|
bug_tracker_uri: https://github.com/decidim/decidim/issues
|
698
699
|
documentation_uri: https://docs.decidim.org/
|
@@ -707,14 +708,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
707
708
|
requirements:
|
708
709
|
- - "~>"
|
709
710
|
- !ruby/object:Gem::Version
|
710
|
-
version: 3.
|
711
|
+
version: 3.2.0
|
711
712
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
712
713
|
requirements:
|
713
|
-
- - "
|
714
|
+
- - ">"
|
714
715
|
- !ruby/object:Gem::Version
|
715
|
-
version:
|
716
|
+
version: 1.3.1
|
716
717
|
requirements: []
|
717
|
-
rubygems_version: 3.
|
718
|
+
rubygems_version: 3.4.10
|
718
719
|
signing_key:
|
719
720
|
specification_version: 4
|
720
721
|
summary: Decidim organization administration
|
@@ -1,46 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module Admin
|
5
|
-
# A command with all the business logic to destroy a share token.
|
6
|
-
class DestroyShareToken < Decidim::Command
|
7
|
-
# Public: Initializes the command.
|
8
|
-
#
|
9
|
-
# share_token - The share_token to destroy
|
10
|
-
# current_user - the user performing the action
|
11
|
-
def initialize(share_token, current_user)
|
12
|
-
@share_token = share_token
|
13
|
-
@current_user = current_user
|
14
|
-
end
|
15
|
-
|
16
|
-
# Executes the command. Broadcasts these events:
|
17
|
-
#
|
18
|
-
# - :ok when everything is valid.
|
19
|
-
# - :invalid if the form was not valid and we could not proceed.
|
20
|
-
#
|
21
|
-
# Returns nothing.
|
22
|
-
def call
|
23
|
-
begin
|
24
|
-
destroy_share_token
|
25
|
-
rescue StandardError
|
26
|
-
broadcast(:invalid)
|
27
|
-
end
|
28
|
-
broadcast(:ok)
|
29
|
-
end
|
30
|
-
|
31
|
-
private
|
32
|
-
|
33
|
-
attr_reader :current_user
|
34
|
-
|
35
|
-
def destroy_share_token
|
36
|
-
Decidim.traceability.perform_action!(
|
37
|
-
"delete",
|
38
|
-
@share_token,
|
39
|
-
current_user
|
40
|
-
) do
|
41
|
-
@share_token.destroy!
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
@@ -1,40 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module Admin
|
5
|
-
# This command deals with destroying a StaticPage from the admin panel.
|
6
|
-
class DestroyStaticPage < Decidim::Command
|
7
|
-
# Public: Initializes the command.
|
8
|
-
#
|
9
|
-
# page - The StaticPage to be destroyed.
|
10
|
-
def initialize(page, current_user)
|
11
|
-
@page = page
|
12
|
-
@current_user = current_user
|
13
|
-
end
|
14
|
-
|
15
|
-
# Public: Executes the command.
|
16
|
-
#
|
17
|
-
# Broadcasts :ok if it got destroyed
|
18
|
-
def call
|
19
|
-
destroy_page
|
20
|
-
broadcast(:ok)
|
21
|
-
end
|
22
|
-
|
23
|
-
private
|
24
|
-
|
25
|
-
attr_reader :page, :current_user
|
26
|
-
|
27
|
-
def destroy_page
|
28
|
-
transaction do
|
29
|
-
Decidim.traceability.perform_action!(
|
30
|
-
"delete",
|
31
|
-
page,
|
32
|
-
current_user
|
33
|
-
) do
|
34
|
-
page.destroy!
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
@@ -1,40 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module Admin
|
5
|
-
# This command deals with destroying a StaticPageTopic from the admin panel.
|
6
|
-
class DestroyStaticPageTopic < Decidim::Command
|
7
|
-
# Public: Initializes the command.
|
8
|
-
#
|
9
|
-
# page - The StaticPageTopic to be destroyed.
|
10
|
-
def initialize(_topic, current_user)
|
11
|
-
@topic = page
|
12
|
-
@current_user = current_user
|
13
|
-
end
|
14
|
-
|
15
|
-
# Public: Executes the command.
|
16
|
-
#
|
17
|
-
# Broadcasts :ok if it got destroyed
|
18
|
-
def call
|
19
|
-
destroy_topic
|
20
|
-
broadcast(:ok)
|
21
|
-
end
|
22
|
-
|
23
|
-
private
|
24
|
-
|
25
|
-
attr_reader :page, :current_user
|
26
|
-
|
27
|
-
def destroy_topic
|
28
|
-
transaction do
|
29
|
-
Decidim.traceability.perform_action!(
|
30
|
-
"delete",
|
31
|
-
topic,
|
32
|
-
current_user
|
33
|
-
) do
|
34
|
-
topic.destroy!
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|