Files
2025-08-02 16:30:27 +02:00

47 lines
1.4 KiB
PHP

<?php
declare(strict_types=1);
namespace External\PompoBundle\Overrides\Order;
use KupShop\OrderingBundle\Util\Order\DeliveryInfo;
use Symfony\Contracts\Service\Attribute\Required;
class OrderInfo extends \KupShop\OrderingBundle\Util\Order\OrderInfo
{
#[Required]
public DeliveryInfo $deliveryInfo;
/**
* @param \Order $order
*/
public function getDeliveryDate($order): ?\DateTime
{
$date = null;
// zkusim nacist datum doruceni ulozeny na objednavce - osobni odbery
$deliveryData = $order->getData('delivery_data');
if ($deliveryData['deliveryDate'] ?? false) {
try {
// ihned vratim datum, protoze kdyz uz je ulozeny na objednavce, tak je to spravny datum
return new \DateTime($deliveryData['deliveryDate']);
} catch (\Throwable) {
}
}
// pokud nemam datum, tak nactu nejdriv parent date
if (!$date) {
if (!($date = parent::getDeliveryDate($order))) {
$order->fetchItems();
// pokud nemam u objednavky ulozeny delivery date, tak ho spocitam
$date = $this->deliveryInfo->getDeliveryDate(
$order->productList,
$order->getDeliveryType()->getDelivery()
);
}
}
return $date;
}
}