From d95bb7736a4d850284d75f56fbc3b10c2fcb3d0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Gon=C3=A7alves?= Date: Sun, 1 Dec 2024 20:43:31 +0000 Subject: [PATCH] Fixed the logic and moved the code to a helper file --- app/controllers/spree/admin/products_controller.rb | 1 + app/helpers/spree/admin/tax_categories_helper.rb | 8 ++++++++ .../spree/admin/products/_tax_category_form.html.haml | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 app/helpers/spree/admin/tax_categories_helper.rb diff --git a/app/controllers/spree/admin/products_controller.rb b/app/controllers/spree/admin/products_controller.rb index 788d019dce..6aa006b151 100644 --- a/app/controllers/spree/admin/products_controller.rb +++ b/app/controllers/spree/admin/products_controller.rb @@ -11,6 +11,7 @@ module Spree include OrderCyclesHelper include EnterprisesHelper helper ::Admin::ProductsHelper + helper Spree::Admin::TaxCategoriesHelper before_action :load_data before_action :load_producers, only: [:index, :new] diff --git a/app/helpers/spree/admin/tax_categories_helper.rb b/app/helpers/spree/admin/tax_categories_helper.rb new file mode 100644 index 0000000000..d163437213 --- /dev/null +++ b/app/helpers/spree/admin/tax_categories_helper.rb @@ -0,0 +1,8 @@ +module Spree::Admin::TaxCategoriesHelper + def tax_category_dropdown_options(require_tax_category) + { + :include_blank => Spree::Config.products_require_tax_category ? false : t(:none), + selected: Spree::Config.products_require_tax_category ? Spree::TaxCategory.find_by(is_default: true)&.id : nil + } + end +end \ No newline at end of file diff --git a/app/views/spree/admin/products/_tax_category_form.html.haml b/app/views/spree/admin/products/_tax_category_form.html.haml index aa919ae4f1..38dd54ac87 100644 --- a/app/views/spree/admin/products/_tax_category_form.html.haml +++ b/app/views/spree/admin/products/_tax_category_form.html.haml @@ -1,5 +1,5 @@ = f.field_container :tax_category_id do = f.label :tax_category_id, t(:tax_category) %br - = f.collection_select(:tax_category_id, Spree::TaxCategory.all, :id, :name, {:include_blank => Spree::Config.products_require_tax_category ? false : t(:none), selected: Spree::TaxCategory.find_by(is_default: true)&.id}, {:class => "select2 fullwidth"}) + = f.collection_select(:tax_category_id, Spree::TaxCategory.all, :id, :name, tax_category_dropdown_options(Spree::Config.products_require_tax_category), {:class => "select2 fullwidth"}) = f.error_message_on :tax_category_id