From f71c84cea5ca371f9ce2ac1ea27363147b747df4 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Bellet Date: Thu, 7 Jul 2022 09:56:14 +0200 Subject: [PATCH] Handle `save` method as it should be: return false if any errors occurs --- app/controllers/spree/admin/products_controller.rb | 2 +- app/services/sets/product_set.rb | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/controllers/spree/admin/products_controller.rb b/app/controllers/spree/admin/products_controller.rb index cce9b363c8..17d4487560 100644 --- a/app/controllers/spree/admin/products_controller.rb +++ b/app/controllers/spree/admin/products_controller.rb @@ -76,7 +76,7 @@ module Spree product_set.collection.each { |p| authorize! :update, p } - if product_set.save && product_set.errors.empty? + if product_set.save redirect_to main_app.bulk_products_api_v0_products_path(bulk_index_query) elsif product_set.errors.present? render json: { errors: product_set.errors }, status: :bad_request diff --git a/app/services/sets/product_set.rb b/app/services/sets/product_set.rb index 4486606da2..664d202eff 100644 --- a/app/services/sets/product_set.rb +++ b/app/services/sets/product_set.rb @@ -97,6 +97,7 @@ module Sets variants_attributes.each do |attributes| create_or_update_variant(product, attributes) end + product.errors.empty? end def create_or_update_variant(product, variant_attributes)