From 695b7fa7fdeafb7cf1f20049c59ee1fee6e36882 Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Mon, 1 May 2023 15:39:46 +0100 Subject: [PATCH] Use named value on voucher submit button to distinguish between submission types --- app/controllers/split_checkout_controller.rb | 19 +++++++++++++------ .../split_checkout/_voucher_section.html.haml | 2 +- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/app/controllers/split_checkout_controller.rb b/app/controllers/split_checkout_controller.rb index 83116d6d8ff..be6301d8dc3 100644 --- a/app/controllers/split_checkout_controller.rb +++ b/app/controllers/split_checkout_controller.rb @@ -30,11 +30,7 @@ def edit end def update - if add_voucher - return render_voucher_section - elsif @order.errors.present? - return render_error - end + return process_voucher if params[:apply_voucher].present? if confirm_order || update_order return if performed? @@ -196,8 +192,19 @@ def shipping_method_ship_address_not_required? selected_shipping_method.first.require_ship_address == false end + def process_voucher + if add_voucher + render_voucher_section + elsif @order.errors.present? + render_error + end + end + def add_voucher - return unless payment_step? && params.dig(:order, :voucher_code).present? + if params.dig(:order, :voucher_code).blank? + @order.errors.add(:voucher, I18n.t('split_checkout.errors.voucher_not_found')) + return false + end # Fetch Voucher voucher = Voucher.find_by(code: params[:order][:voucher_code], enterprise: @order.distributor) diff --git a/app/views/split_checkout/_voucher_section.html.haml b/app/views/split_checkout/_voucher_section.html.haml index 44d1499054f..1e760b3c903 100644 --- a/app/views/split_checkout/_voucher_section.html.haml +++ b/app/views/split_checkout/_voucher_section.html.haml @@ -17,4 +17,4 @@ = t("split_checkout.step2.voucher.warning_forfeit_remaining_amount") - else = text_field_tag "[order][voucher_code]", params.dig(:order, :voucher_code), data: { action: "input->toggle-button-disabled#inputIsChanged", }, placeholder: t("split_checkout.step2.voucher.placeholder") , class: "voucher" - = submit_tag t("split_checkout.step2.voucher.apply"), disabled: true, class: "button cancel voucher", data: { "toggle-button-disabled-target": "button" }, id: "testdisable" + = submit_tag t("split_checkout.step2.voucher.apply"), name: "apply_voucher", disabled: true, class: "button cancel voucher", data: { "toggle-button-disabled-target": "button" }, id: "testdisable"