From 5a7021396ea70751f172d823aa7a98090d2e9c5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Wed, 6 Mar 2024 14:05:17 +0100 Subject: [PATCH] Use a button to destroy content blocks from the edit page We were already using button to destroy content blocks from the content blocks index. As mentioned in commits 5311daadf and bb958daf0, using links combined with JavaScript to generate POST (or, in this case, DELETE) requests to the server has a few issues. --- .../site_customization/content_blocks/edit.html.erb | 12 ++++++++---- .../admin/site_customization/content_blocks_spec.rb | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/app/views/admin/site_customization/content_blocks/edit.html.erb b/app/views/admin/site_customization/content_blocks/edit.html.erb index 0a66bd5d5..5fa818c7d 100644 --- a/app/views/admin/site_customization/content_blocks/edit.html.erb +++ b/app/views/admin/site_customization/content_blocks/edit.html.erb @@ -4,10 +4,14 @@ <%= back_link_to admin_site_customization_content_blocks_path %> -<%= link_to t("admin.site_customization.content_blocks.index.delete"), - (@is_heading_content_block ? admin_site_customization_delete_heading_content_block_path(@content_block.id) : admin_site_customization_content_block_path(@content_block)), - method: :delete, - class: "delete float-right" %> +<%= render Admin::ActionComponent.new( + :destroy, + @content_block, + text: t("admin.site_customization.content_blocks.index.delete"), + path: (@is_heading_content_block ? admin_site_customization_delete_heading_content_block_path(@content_block.id) : admin_site_customization_content_block_path(@content_block)), + method: :delete, + class: "delete float-right" +) %>

<%= t("admin.site_customization.content_blocks.edit.title") %>

diff --git a/spec/system/admin/site_customization/content_blocks_spec.rb b/spec/system/admin/site_customization/content_blocks_spec.rb index b9e49774a..42c125769 100644 --- a/spec/system/admin/site_customization/content_blocks_spec.rb +++ b/spec/system/admin/site_customization/content_blocks_spec.rb @@ -103,7 +103,7 @@ describe "Admin custom content blocks", :admin do block = create(:site_customization_content_block) visit edit_admin_site_customization_content_block_path(block) - click_link "Delete block" + click_button "Delete block" expect(page).not_to have_content("#{block.name} (#{block.locale})") expect(page).not_to have_content(block.body)