Files
kupshop/bundles/External/ZNZBundle/Context/QuantityDiscountContext.php
2025-08-02 16:30:27 +02:00

48 lines
1.4 KiB
PHP

<?php
declare(strict_types=1);
namespace External\ZNZBundle\Context;
use External\ZNZBundle\Util\ZNZConfiguration;
use External\ZNZBundle\Util\ZNZUtil;
use KupShop\KupShopBundle\Util\Contexts;
use KupShop\PricelistBundle\Context\PricelistContext;
use KupShop\QuantityDiscountBundle\Util\QuantityDiscountUtil;
use Symfony\Contracts\Service\Attribute\Required;
class QuantityDiscountContext extends \KupShop\QuantityDiscountBundle\Context\QuantityDiscountContext
{
#[Required]
public ZNZConfiguration $configuration;
#[Required]
public ZNZUtil $znzUtil;
#[Required]
public QuantityDiscountUtil $quantityDiscountUtil;
public function getActive()
{
$groups = $this->quantityDiscountUtil->getGroups();
// v pripade B2B by se ID aktivni skupiny melo rovnat ID aktivniho ceniku
if ($this->configuration->isB2BShop()) {
if (isset($groups[Contexts::get(PricelistContext::class)->getActiveId()])) {
return Contexts::get(PricelistContext::class)->getActiveId();
}
return parent::getActive();
}
$groups = array_flip($groups);
$website = $this->znzUtil->getCurrentWebsite();
// aktivuju skupinu pro danou websitu
if ($groups[$website] ?? false) {
return $groups[$website];
}
return parent::getActive();
}
}