From e884bc28e1f013d3b1b34039438437dcf030f3f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Wed, 6 Mar 2024 14:15:05 +0100 Subject: [PATCH] Use a button to moderate proposal notifications As mentioned in commits 5311daadf and bb958daf0, using links combined with JavaScript to generate POST (or, in this case, PUT) requests to the server has a few issues. --- .../_proposal_notification_digest.html.erb | 13 ++++++++----- spec/system/admin/system_emails_spec.rb | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/app/views/admin/system_emails/preview_pending/_proposal_notification_digest.html.erb b/app/views/admin/system_emails/preview_pending/_proposal_notification_digest.html.erb index fa02ac0a5..24627ee0a 100644 --- a/app/views/admin/system_emails/preview_pending/_proposal_notification_digest.html.erb +++ b/app/views/admin/system_emails/preview_pending/_proposal_notification_digest.html.erb @@ -30,11 +30,14 @@ - <%= link_to t("admin.system_emails.preview_pending.moderate_pending"), - admin_system_email_moderate_pending_path(system_email_id: "proposal_notification_digest", - id: preview.id), - method: :put, - class: "button hollow float-right" %> + <%= render Admin::ActionComponent.new( + :moderate_pending, + "proposal_notification_digest", + text: t("admin.system_emails.preview_pending.moderate_pending"), + path: admin_system_email_moderate_pending_path(system_email_id: "proposal_notification_digest", id: preview.id), + method: :put, + class: "button hollow float-right" + ) %>
<% end %> diff --git a/spec/system/admin/system_emails_spec.rb b/spec/system/admin/system_emails_spec.rb index c2cf3e26c..baefc2e2f 100644 --- a/spec/system/admin/system_emails_spec.rb +++ b/spec/system/admin/system_emails_spec.rb @@ -328,7 +328,7 @@ describe "System Emails" do visit admin_system_email_preview_pending_path("proposal_notification_digest") within("#proposal_notification_#{proposal_notification1.id}") do - click_link "Moderate notification send" + click_button "Moderate notification send" end expect(page).not_to have_content("Proposal A Title")