From c88e95c869ad5512cd17401b73f46703f0815b1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Gaillard?= Date: Wed, 6 Mar 2013 15:06:11 +0100 Subject: [PATCH] [-] BO: Auto-select the tax rules group most used on product creation --- classes/Product.php | 17 +++++++++++++++++ controllers/admin/AdminProductsController.php | 4 +++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/classes/Product.php b/classes/Product.php index 9eed6ee14..60c69ac32 100644 --- a/classes/Product.php +++ b/classes/Product.php @@ -5215,6 +5215,23 @@ class ProductCore extends ObjectModel ); } + public static function getIdTaxRulesGroupMostUsed() + { + return Db::getInstance()->getValue(' + SELECT id_tax_rules_group + FROM ( + SELECT COUNT(*) n, product_shop.id_tax_rules_group + FROM '._DB_PREFIX_.'product p + '.Shop::addSqlAssociation('product', 'p').' + JOIN '._DB_PREFIX_.'tax_rules_group trg ON (product_shop.id_tax_rules_group = trg.id_tax_rules_group) + WHERE trg.active = 1 + GROUP BY product_shop.id_tax_rules_group + ORDER BY n DESC + LIMIT 1 + ) most_used' + ); + } + /** * For a given ean13 reference, returns the corresponding id * diff --git a/controllers/admin/AdminProductsController.php b/controllers/admin/AdminProductsController.php index f958d4e7f..2f7f937c3 100644 --- a/controllers/admin/AdminProductsController.php +++ b/controllers/admin/AdminProductsController.php @@ -2876,13 +2876,15 @@ class AdminProductsControllerCore extends AdminController 'countries' => $countries, 'groups' => $groups, 'combinations' => $combinations, - 'product' => $product, 'multi_shop' => Shop::isFeatureActive(), 'link' => new Link() )); } else + { $this->displayWarning($this->l('You must save this product before adding specific pricing')); + $product->id_tax_rules_group = (int)Product::getIdTaxRulesGroupMostUsed(); + } // prices part $data->assign(array(