// Fix duplication of conditions when editing specifice rules
This commit is contained in:
@@ -72,6 +72,13 @@ class SpecificPriceRuleCore extends ObjectModel
|
|||||||
);
|
);
|
||||||
|
|
||||||
public function delete()
|
public function delete()
|
||||||
|
{
|
||||||
|
$this->deleteConditions();
|
||||||
|
Db::getInstance()->execute('DELETE FROM '._DB_PREFIX_.'specific_price WHERE id_specific_price_rule='.(int)$this->id);
|
||||||
|
return parent::delete();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function deleteConditions()
|
||||||
{
|
{
|
||||||
$ids_condition_group = Db::getInstance()->executeS('SELECT id_specific_price_rule_condition_group
|
$ids_condition_group = Db::getInstance()->executeS('SELECT id_specific_price_rule_condition_group
|
||||||
FROM '._DB_PREFIX_.'specific_price_rule_condition_group
|
FROM '._DB_PREFIX_.'specific_price_rule_condition_group
|
||||||
@@ -79,13 +86,9 @@ class SpecificPriceRuleCore extends ObjectModel
|
|||||||
if ($ids_condition_group)
|
if ($ids_condition_group)
|
||||||
foreach ($ids_condition_group as $row)
|
foreach ($ids_condition_group as $row)
|
||||||
{
|
{
|
||||||
Db::getInstance()->execute('DELETE FROM '._DB_PREFIX_.'specific_price_rule_condition_group
|
Db::getInstance()->delete('specific_price_rule_condition_group', 'id_specific_price_rule_condition_group='.(int)$row['id_specific_price_rule_condition_group']);
|
||||||
WHERE id_specific_price_rule_condition_group='.(int)$row['id_specific_price_rule_condition_group']);
|
Db::getInstance()->delete('specific_price_rule_condition', 'id_specific_price_rule_condition_group='.(int)$row['id_specific_price_rule_condition_group']);
|
||||||
Db::getInstance()->execute('DELETE FROM '._DB_PREFIX_.'specific_price_rule_condition
|
|
||||||
WHERE id_specific_price_rule_condition_group='.(int)$row['id_specific_price_rule_condition_group']);
|
|
||||||
}
|
}
|
||||||
Db::getInstance()->execute('DELETE FROM '._DB_PREFIX_.'specific_price WHERE id_specific_price_rule='.(int)$this->id);
|
|
||||||
return parent::delete();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function addConditions($conditions)
|
public function addConditions($conditions)
|
||||||
|
|||||||
@@ -273,6 +273,7 @@ class AdminSpecificPriceRuleControllerCore extends AdminController
|
|||||||
$conditions = array();
|
$conditions = array();
|
||||||
if (Validate::isLoadedObject(($object = parent::processSave($token))))
|
if (Validate::isLoadedObject(($object = parent::processSave($token))))
|
||||||
{
|
{
|
||||||
|
$object->deleteConditions();
|
||||||
foreach ($_POST as $key => $values)
|
foreach ($_POST as $key => $values)
|
||||||
{
|
{
|
||||||
if (preg_match('/^condition_group_([0-9]+)$/Ui', $key, $condition_group))
|
if (preg_match('/^condition_group_([0-9]+)$/Ui', $key, $condition_group))
|
||||||
|
|||||||
Reference in New Issue
Block a user