diff --git a/classes/tax/TaxRule.php b/classes/tax/TaxRule.php index 82ab4e0f6..2859408c3 100644 --- a/classes/tax/TaxRule.php +++ b/classes/tax/TaxRule.php @@ -89,7 +89,9 @@ class TaxRuleCore extends ObjectModel t.`rate`, g.`zipcode_from`, g.`zipcode_to`, g.`description`, - g.`behavior` + g.`behavior`, + g.`id_country`, + g.`id_state` FROM `'._DB_PREFIX_.'tax_rule` g LEFT JOIN `'._DB_PREFIX_.'country_lang` c ON (g.`id_country` = c.`id_country` AND `id_lang` = '.(int)$id_lang.') LEFT JOIN `'._DB_PREFIX_.'state` s ON (g.`id_state` = s.`id_state`) diff --git a/classes/tax/TaxRulesGroup.php b/classes/tax/TaxRulesGroup.php index af3e38203..52a06a01c 100644 --- a/classes/tax/TaxRulesGroup.php +++ b/classes/tax/TaxRulesGroup.php @@ -113,6 +113,16 @@ class TaxRulesGroupCore extends ObjectModel WHERE `name` = \''.pSQL($name).'\'' ); } + + public function hasUniqueTaxRuleForCountry($id_country, $id_state) + { + $rules = TaxRule::getTaxRulesByGroupId((int)Context::getContext()->language->id, (int)$this->id); + foreach ($rules as $rule) + if ($rule['id_country'] == $id_country && $id_state == $rule['id_state'] && !$rule['behavior']) + return true; + + return false; + } /** * @deprecated since 1.5