diff --git a/app/controllers/checkout_controller.rb b/app/controllers/checkout_controller.rb index efd8e80eeb..0c6e9568e0 100644 --- a/app/controllers/checkout_controller.rb +++ b/app/controllers/checkout_controller.rb @@ -10,7 +10,6 @@ class CheckoutController < BaseController include CheckoutCallbacks include CheckoutSteps include OrderCompletion - include CablecarResponses include WhiteLabel helper 'terms_and_conditions' @@ -49,7 +48,7 @@ class CheckoutController < BaseController rescue Spree::Core::GatewayError => e flash[:error] = I18n.t(:spree_gateway_error_flash_for_checkout, error: e.message) @order.update_column(:state, "payment") - render cable_ready: cable_car.redirect_to(url: checkout_step_path(:payment)) + redirect_to checkout_step_path(:payment) end private @@ -57,9 +56,12 @@ class CheckoutController < BaseController def render_error flash.now[:error] ||= I18n.t('checkout.errors.saving_failed') - render status: :unprocessable_entity, cable_ready: cable_car. - replace("#checkout", partial("checkout/checkout")). - replace("#flashes", partial("shared/flashes", locals: { flashes: flash })) + respond_to do |format| + format.html { head :unprocessable_entity } + format.turbo_stream do + render :render_error, status: :unprocessable_entity + end + end end def check_payments_adjustments @@ -87,7 +89,7 @@ class CheckoutController < BaseController return unless selected_payment_method&.external_gateway? return unless (redirect_url = selected_payment_method.external_payment_url(order: @order)) - render cable_ready: cable_car.redirect_to(url: redirect_url) + redirect_to redirect_url true end diff --git a/app/controllers/concerns/order_stock_check.rb b/app/controllers/concerns/order_stock_check.rb index 13ff145ae8..d769bc9ff9 100644 --- a/app/controllers/concerns/order_stock_check.rb +++ b/app/controllers/concerns/order_stock_check.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true module OrderStockCheck - include CablecarResponses extend ActiveSupport::Concern def valid_order_line_items? @@ -27,13 +26,7 @@ module OrderStockCheck current_order.set_order_cycle! nil flash[:info] = I18n.t('order_cycle_closed') - respond_to do |format| - format.cable_ready { - render status: :see_other, cable_ready: cable_car.redirect_to(url: main_app.shop_path) - } - format.json { render json: { path: main_app.shop_path }, status: :see_other } - format.html { redirect_to main_app.shop_path, status: :see_other } - end + redirect_to main_app.shop_path end private diff --git a/app/controllers/spree/orders_controller.rb b/app/controllers/spree/orders_controller.rb index af0738b17e..c84030ef12 100644 --- a/app/controllers/spree/orders_controller.rb +++ b/app/controllers/spree/orders_controller.rb @@ -4,7 +4,6 @@ module Spree class OrdersController < ::BaseController include OrderCyclesHelper include Rails.application.routes.url_helpers - include CablecarResponses include WhiteLabel layout 'darkswarm' @@ -107,8 +106,7 @@ module Spree else flash[:error] = I18n.t(:orders_could_not_cancel) end - render status: :found, - cable_ready: cable_car.redirect_to(url: request.referer || main_app.order_path(@order)) + redirect_to request.referer || main_app.order_path(@order) end private diff --git a/app/views/checkout/_details.html.haml b/app/views/checkout/_details.html.haml index 56146d19c0..4c386c7dfe 100644 --- a/app/views/checkout/_details.html.haml +++ b/app/views/checkout/_details.html.haml @@ -1,4 +1,4 @@ -= form_with url: checkout_update_path(checkout_step), model: @order, method: :put, data: { remote: "true" } do |f| += form_with url: checkout_update_path(checkout_step), model: @order, method: :put, data: { turbo: true } do |f| .medium-6 = f.fields :bill_address, model: @order.bill_address do |bill_address| %div.checkout-substep diff --git a/app/views/checkout/_payment.html.haml b/app/views/checkout/_payment.html.haml index 516d2025bb..ff6cc14e5f 100644 --- a/app/views/checkout/_payment.html.haml +++ b/app/views/checkout/_payment.html.haml @@ -3,7 +3,7 @@ %div.checkout-substep = render partial: "checkout/voucher_section", locals: { order: @order, voucher_adjustment: @order.voucher_adjustments.first } - = form_with url: checkout_update_path(local_assigns[:step] || 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: { turbo: "true" } do |f| %div.checkout-substep{"data-controller": "paymentmethod"} %div.checkout-title = t("checkout.step2.payment_method.title") diff --git a/app/views/checkout/_summary.html.haml b/app/views/checkout/_summary.html.haml index 682f02639e..c5698d447f 100644 --- a/app/views/checkout/_summary.html.haml +++ b/app/views/checkout/_summary.html.haml @@ -1,4 +1,4 @@ -= form_with url: checkout_update_path(checkout_step), model: @order, method: :put, data: { remote: "true", 'guest-checkout-target': 'summary' } do |f| += form_with url: checkout_update_path(checkout_step), model: @order, method: :put, data: { turbo: "true", 'guest-checkout-target': 'summary' } do |f| .summary-main = render partial: "checkout/already_ordered" if show_bought_items? && checkout_step?(:summary) .checkout-substep diff --git a/app/views/checkout/render_error.turbo_stream.haml b/app/views/checkout/render_error.turbo_stream.haml new file mode 100644 index 0000000000..04cd8fb3dc --- /dev/null +++ b/app/views/checkout/render_error.turbo_stream.haml @@ -0,0 +1,4 @@ += turbo_stream.replace "flashes" do + = render(partial: 'shared/flashes', locals: { flashes: flash }) += turbo_stream.replace "checkout" do + = render(partial: 'checkout/checkout') \ No newline at end of file