[-] BO: Fix tax rule edition - unique tax rule can't be edited

This commit is contained in:
Rémi Gaillard
2013-07-16 11:52:05 +02:00
parent d2ff50ddb7
commit 8d39f32506
2 changed files with 3 additions and 3 deletions
+2 -2
View File
@@ -113,11 +113,11 @@ class TaxRulesGroupCore extends ObjectModel
); );
} }
public function hasUniqueTaxRuleForCountry($id_country, $id_state) public function hasUniqueTaxRuleForCountry($id_country, $id_state, $id_tax_rule = false)
{ {
$rules = TaxRule::getTaxRulesByGroupId((int)Context::getContext()->language->id, (int)$this->id); $rules = TaxRule::getTaxRulesByGroupId((int)Context::getContext()->language->id, (int)$this->id);
foreach ($rules as $rule) foreach ($rules as $rule)
if ($rule['id_country'] == $id_country && $id_state == $rule['id_state'] && !$rule['behavior']) if ($rule['id_country'] == $id_country && $id_state == $rule['id_state'] && !$rule['behavior'] && (int)$id_tax_rule != $rule['id_tax_rule'])
return true; return true;
return false; return false;
@@ -404,7 +404,7 @@ class AdminTaxRulesGroupControllerCore extends AdminController
{ {
foreach ($this->selected_states as $id_state) foreach ($this->selected_states as $id_state)
{ {
if ($tax_rules_group->hasUniqueTaxRuleForCountry($id_country, $id_state)) if ($tax_rules_group->hasUniqueTaxRuleForCountry($id_country, $id_state, $id_rule))
{ {
$this->errors[] = Tools::displayError('A tax rule already exists for this country/state with tax only behavior'); $this->errors[] = Tools::displayError('A tax rule already exists for this country/state with tax only behavior');
continue; continue;