From 259e758d6e5aa68f0fef6bcdcc39da85465461bf Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Bellet Date: Thu, 22 Apr 2021 09:33:30 +0200 Subject: [PATCH] When suppress_error_msg is present do no validate order and redirect - When creating a new order, it's not necessary to display the "Line items can't be blank" as the order has just been created and the user is rightly doing configuration about line items --- app/controllers/spree/admin/orders_controller.rb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/controllers/spree/admin/orders_controller.rb b/app/controllers/spree/admin/orders_controller.rb index e5bc415bc5..67f8a61db6 100644 --- a/app/controllers/spree/admin/orders_controller.rb +++ b/app/controllers/spree/admin/orders_controller.rb @@ -38,11 +38,12 @@ module Spree @order.recreate_all_fees! unless order_params.present? && @order.update(order_params) && @order.line_items.present? - if @order.line_items.empty? + if @order.line_items.empty? && !params[:suppress_error_msg] @order.errors.add(:line_items, Spree.t('errors.messages.blank')) end - return redirect_to(spree.edit_admin_order_path(@order), - flash: { error: @order.errors.full_messages.join(', ') }) + + flash[:error] = @order.errors.full_messages.join(', ') if @order.errors.present? + return redirect_to spree.edit_admin_order_path(@order) end if @order.complete?