Skip to content
Code-Schnipsel Gruppen Projekte
getCouponPrice.php 1,39 KiB
Newer Older
Henning Leutz's avatar
Henning Leutz committed
<?php

/**
 * This file contains package_quiqqer_coupons_ajax_backend_getCouponPrice
 */

/**
 * Return the price factor of this coupon
 *
 * @param int $couponId - CouponCode ID
 * @return array
 */
QUI::$Ajax->registerFunction(
    'package_quiqqer_coupons_ajax_backend_getCouponPrice',
    function ($couponId, $vat) {
        $Coupon = QUI\ERP\Coupons\Handler::getCouponCode($couponId);
Henning Leutz's avatar
Henning Leutz committed
        $discounts = $Coupon->getDiscounts();
        $price = 0;
Henning Leutz's avatar
Henning Leutz committed

        foreach ($discounts as $Discount) {
            $PriceFactor = $Discount->toPriceFactor();

Henning Leutz's avatar
Henning Leutz committed
            if ($PriceFactor->getCalculation() === QUI\ERP\Accounting\Calc::CALCULATION_PERCENTAGE) {
                continue;
            }

            if ($PriceFactor->getCalculation() === QUI\ERP\Accounting\Calc::CALCULATION_COMPLEMENT) {
                continue;
            }

            if ($vat !== false && method_exists($PriceFactor, 'setVat')) {
Henning Leutz's avatar
Henning Leutz committed
                $PriceFactor->setVat($vat);
            }

            $PriceFactor->setTitle(
                QUI::getLocale()->get('quiqqer/coupons', 'coupon.discount.title', [
                    'code' => $Coupon->getCode()
                ])
            );

            $price = $price + $PriceFactor->getValue();
        }


        return [
            'title' => $Coupon->getTitle(),
            'price' => $price
        ];
    },
    ['couponId', 'vat'],
    'Permission::checkAdminUser'
);