Show/hide payment methods if voucher changes order total to zero

This commit is contained in:
Matt-Yorkley
2023-06-02 21:34:30 +01:00
parent 55bce9f1b2
commit de97e69e7d
2 changed files with 8 additions and 10 deletions

View File

@@ -6,8 +6,9 @@ class VoucherAdjustmentsController < BaseController
def create
if add_voucher
VoucherAdjustmentsService.calculate(@order)
@order.update_totals_and_states
render_voucher_section
update_payment_section
elsif @order.errors.present?
render_error
end
@@ -16,7 +17,7 @@ class VoucherAdjustmentsController < BaseController
def destroy
@order.voucher_adjustments.find_by(id: params[:id])&.destroy
render_voucher_section
update_payment_section
end
private
@@ -49,13 +50,10 @@ class VoucherAdjustmentsController < BaseController
true
end
def render_voucher_section
def update_payment_section
render cable_ready: cable_car.replace(
selector: "#voucher-section",
html: render_to_string(
partial: "split_checkout/voucher_section",
locals: { order: @order,voucher_adjustment: @order.voucher_adjustments.first }
)
selector: "#checkout-payment-methods",
html: render_to_string(partial: "split_checkout/payment", locals: { step: "payment" })
)
end

View File

@@ -1,9 +1,9 @@
.medium-6
.medium-6#checkout-payment-methods
- if @order.distributor.vouchers.present?
%div.checkout-substep
= render partial: "split_checkout/voucher_section", locals: { order: @order, voucher_adjustment: @order.voucher_adjustments.first }
= form_with url: checkout_update_path(checkout_step), model: @order, method: :put, data: { remote: "true" } do |f|
= form_with url: checkout_update_path(local_assigns[:step] || checkout_step), model: @order, method: :put, data: { remote: "true" } do |f|
%div.checkout-substep{"data-controller": "paymentmethod"}
%div.checkout-title
= t("split_checkout.step2.payment_method.title")