From 05fe7cd4b904db49def64f7b154f71d60cafe6e4 Mon Sep 17 00:00:00 2001 From: Ahmed Ejaz Date: Mon, 17 Jun 2024 23:17:32 +0500 Subject: [PATCH] 11987: add flash messages for product clone --- .../admin/products_v3_controller.rb | 9 ++++++- .../admin/products_v3/clone.turbo_stream.haml | 26 +++++++++++-------- config/locales/en.yml | 3 +++ 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/app/controllers/admin/products_v3_controller.rb b/app/controllers/admin/products_v3_controller.rb index 8299884db0..3fe8f5fd56 100644 --- a/app/controllers/admin/products_v3_controller.rb +++ b/app/controllers/admin/products_v3_controller.rb @@ -72,7 +72,14 @@ module Admin @product = Spree::Product.find(params[:id]) @cloned_product = @product.duplicate @product_index = params[:product_index].to_i + 1 - status = @cloned_product.save ? :ok : :internal_server_error + + status = :ok + if @cloned_product.save + flash.now[:success] = t('.success') + else + flash.now[:error] = t('.error') + status = :internal_server_error + end @producer_options = producers @category_options = categories diff --git a/app/views/admin/products_v3/clone.turbo_stream.haml b/app/views/admin/products_v3/clone.turbo_stream.haml index d5a48cd1f4..9ea413541d 100644 --- a/app/views/admin/products_v3/clone.turbo_stream.haml +++ b/app/views/admin/products_v3/clone.turbo_stream.haml @@ -1,11 +1,15 @@ -- product_body = nil -- form_with url: bulk_update_admin_products_path, method: :post, id: "products-form", - builder: BulkFormBuilder, - html: { data: { 'turbo-frame': "_self", - controller: "bulk-form", - 'bulk-form-disable-selector-value': "#sort,#filters", - 'bulk-form-error-value': defined?(@error_counts), - } } do |form| - - product_body = render partial: 'product_variant_row', locals: { form:, product: @cloned_product, product_index: @product_index, producer_options: @producer_options, category_options: @category_options, tax_category_options: @tax_category_options, should_slide_in: true }, formats: :html -= turbo_stream.before dom_id(@product) do - = product_body +- unless flash[:error] + - product_body = nil + - form_with url: bulk_update_admin_products_path, method: :post, id: "products-form", + builder: BulkFormBuilder, + html: { data: { 'turbo-frame': "_self", + controller: "bulk-form", + 'bulk-form-disable-selector-value': "#sort,#filters", + 'bulk-form-error-value': defined?(@error_counts), + } } do |form| + - product_body = render partial: 'product_variant_row', locals: { form:, product: @cloned_product, product_index: @product_index, producer_options: @producer_options, category_options: @category_options, tax_category_options: @tax_category_options, should_slide_in: true }, formats: :html + = turbo_stream.before dom_id(@product) do + = product_body + += turbo_stream.append "flashes" do + = render(partial: 'admin/shared/flashes', locals: { flashes: flash }) diff --git a/config/locales/en.yml b/config/locales/en.yml index 61277a47eb..119d4daf58 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -912,6 +912,9 @@ en: tax_category_field_name: "Tax Category" product_row: producer_field_name: "Producer" + clone: + success: Successfully cloned the product + error: Unable to clone the product product_import: title: Product Import file_not_found: File not found or could not be opened