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?