diff --git a/app/controllers/admin/products_v3_controller.rb b/app/controllers/admin/products_v3_controller.rb index 15a30163b6..4b53da8622 100644 --- a/app/controllers/admin/products_v3_controller.rb +++ b/app/controllers/admin/products_v3_controller.rb @@ -70,17 +70,16 @@ module Admin def clone @product = Spree::Product.find(params[:id]) + @cloned_product = @product.duplicate + status = :ok - - begin - @cloned_product = @product.duplicate + if @cloned_product.persisted? flash.now[:success] = t('.success') - @product_index = "-#{@cloned_product.id}" @producer_options = producers @category_options = categories @tax_category_options = tax_category_options - rescue StandardError => _e + else flash.now[:error] = t('.error') status = :internal_server_error @product_index = "-1" # Create a unique enough index