diff --git a/classes/CartRule.php b/classes/CartRule.php index 4cbc3a0c7..d753fed71 100644 --- a/classes/CartRule.php +++ b/classes/CartRule.php @@ -913,6 +913,15 @@ class CartRuleCore extends ObjectModel return $reduction_value; } + + /** + * Make sure caches are empty + * Must be called before calling multiple time getContextualValue() + */ + public static function cleanCache() + { + self::$only_one_gift = array(); + } protected function getCartRuleCombinations() { diff --git a/classes/PaymentModule.php b/classes/PaymentModule.php index f1b13769b..37c6ec3d1 100644 --- a/classes/PaymentModule.php +++ b/classes/PaymentModule.php @@ -195,6 +195,9 @@ abstract class PaymentModuleCore extends Module foreach ($data['package_list'] as $id_package) $package_list[$id_address][$id_package]['id_carrier'] = $id_carrier; + // Make sure CarRule caches are empty + CartRule::cleanCache(); + foreach ($package_list as $id_address => $packageByAddress) foreach ($packageByAddress as $id_package => $package) {