Do not allow voucher code duplications for same customer

This commit is contained in:
Abhishek Kumar
2023-08-07 16:15:10 +05:30
parent ccace94c38
commit a49650efbe
2 changed files with 11 additions and 3 deletions

View File

@@ -669,6 +669,13 @@ abstract class PaymentModuleCore extends Module
$voucher->code = preg_replace('/'.$matches[0].'$/', '-'.(intval($matches[1]) + 1), $voucher->code);
}
// If ABCDEFGH-2 already exists for customer use ABCDEFGH-3
while (CartRule::cartRuleExists($voucher->code, $order->id_customer)) {
if (preg_match('/\-([0-9]{1,2})$/', $voucher->code, $matches)) {
$voucher->code = preg_replace('/'.$matches[1].'$/', (intval($matches[1]) + 1), $voucher->code);
}
}
// Set the new voucher value
$voucher->reduction_amount = $remaining_amount;
if ($voucher->reduction_tax) {
@@ -1782,4 +1789,4 @@ abstract class PaymentModuleCore extends Module
}
return $result;
}
}
}