From 6172d1f2e5b7bc5b18d1107fc05ba176e215d9a5 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Bellet Date: Tue, 18 Apr 2023 11:21:46 +0200 Subject: [PATCH] Extract method `on_update` that will be used elsewhere --- app/controllers/spree/admin/orders_controller.rb | 16 ++++++++++------ config/routes/spree.rb | 1 + 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/app/controllers/spree/admin/orders_controller.rb b/app/controllers/spree/admin/orders_controller.rb index e6a2355c8a..d77f61d668 100644 --- a/app/controllers/spree/admin/orders_controller.rb +++ b/app/controllers/spree/admin/orders_controller.rb @@ -34,12 +34,7 @@ module Spree end def update - @order.recreate_all_fees! - - unless @order.cart? - @order.create_tax_charge! - @order.update_order! - end + on_update if params[:set_distribution_step] && @order.update(order_params) return redirect_to spree.admin_order_customer_path(@order) @@ -106,6 +101,15 @@ module Spree private + def on_update + @order.recreate_all_fees! + + unless @order.cart? + @order.create_tax_charge! + @order.update_order! + end + end + def order_params return params[:order] if params[:order].blank? diff --git a/config/routes/spree.rb b/config/routes/spree.rb index c58d365606..18ba8f3698 100644 --- a/config/routes/spree.rb +++ b/config/routes/spree.rb @@ -90,6 +90,7 @@ Spree::Core::Engine.routes.draw do get :invoice get :print get :distribution, to: 'orders#set_distribution' + put :distribution, to: 'orders#set_distribution' end collection do