From 77001f0bfec087fc9ce3be73011fc5c8fb162989 Mon Sep 17 00:00:00 2001 From: Henning Leutz <leutz@pcsg.de> Date: Mon, 25 May 2020 13:58:11 +0200 Subject: [PATCH] fix: candyman-gmbh/projektplanung#121 - discount usable checks --- src/QUI/ERP/Coupons/Events.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/QUI/ERP/Coupons/Events.php b/src/QUI/ERP/Coupons/Events.php index b7d0689..c61dc0c 100644 --- a/src/QUI/ERP/Coupons/Events.php +++ b/src/QUI/ERP/Coupons/Events.php @@ -7,6 +7,7 @@ use QUI\ERP\Order\Basket\Basket; use QUI\ERP\Order\Basket\BasketGuest; use QUI\ERP\Coupons\Handler as CouponsHandler; +use QUI\ERP\Discount\EventHandling as DiscountEvents; /** * Class Events @@ -109,6 +110,9 @@ public static function onQuiqqerOrderBasketToOrder( } $PriceFactors = $Products->getPriceFactors(); + $products = $Products->toArray(); + $productCount = $Products->count(); + $subSum = $products['calculations']['subSum']; foreach ($coupons as $coupon) { /* @var $Coupon CouponCode */ @@ -127,6 +131,14 @@ public static function onQuiqqerOrderBasketToOrder( $discounts = $Coupon->getDiscounts(); foreach ($discounts as $Discount) { + if (!DiscountEvents::isDiscountUsableWithQuantity($Discount, $productCount)) { + continue; + } + + if (!DiscountEvents::isDiscountUsableWithPurchaseValue($Discount, $subSum)) { + continue; + } + $PriceFactor = $Discount->toPriceFactor(null, $Order->getCustomer()); $PriceFactor->setTitle( QUI::getLocale()->get('quiqqer/coupons', 'coupon.discount.title', [ -- GitLab