diff --git a/src/QUI/ERP/Order/AbstractOrder.php b/src/QUI/ERP/Order/AbstractOrder.php index c3a3f472fa83b1349cac6a1bec61f84c6632f346..01915c29f85fa7899ad77317e4f8a6e5697a8ea4 100644 --- a/src/QUI/ERP/Order/AbstractOrder.php +++ b/src/QUI/ERP/Order/AbstractOrder.php @@ -2228,15 +2228,15 @@ public function setProcessingStatus(ProcessingStatus\Status|int $status): void * Return the shipping status * -> This method only works if shipping is installed * - * @return bool|QUI\ERP\Shipping\ShippingStatus\Status|null + * @return QUI\ERP\Shipping\ShippingStatus\Status|null */ - public function getShippingStatus(): bool|QUI\ERP\Shipping\ShippingStatus\Status|null + public function getShippingStatus(): QUI\ERP\Shipping\ShippingStatus\Status|null { if ( !QUI::getPackageManager()->isInstalled('quiqqer/shipping') || !class_exists('QUI\ERP\Shipping\ShippingStatus\Handler') ) { - return false; + return null; } if ($this->ShippingStatus !== null) { @@ -2251,7 +2251,7 @@ public function getShippingStatus(): bool|QUI\ERP\Shipping\ShippingStatus\Status // use default status if ($this->ShippingStatus === null) { - return false; + return null; } return $this->ShippingStatus; diff --git a/src/QUI/ERP/Order/Search.php b/src/QUI/ERP/Order/Search.php index 49e8269fe323afc09fb59e84acbcbfe737683a9c..bc493279f346ef2e28b47c0e45c35e5ef582a435 100644 --- a/src/QUI/ERP/Order/Search.php +++ b/src/QUI/ERP/Order/Search.php @@ -527,7 +527,7 @@ protected function parseListForGrid(array $data): array } catch (QUI\Exception $Exception) { QUI\System\Log::writeException($Exception); - $result[] = $fillFields($entry); + $fillFields($entry); continue; } @@ -604,12 +604,14 @@ protected function parseListForGrid(array $data): array $orderData['shipping_status_title'] = Handler::EMPTY_VALUE; $orderData['shipping_status_color'] = ''; - $ShippingStatus = $Order->getShippingStatus(); + if (class_exists('QUI\ERP\Shipping\ShippingStatus\Status')) { + $ShippingStatus = $Order->getShippingStatus(); - if ($ShippingStatus) { - $orderData['shipping_status_id'] = $ShippingStatus->getId(); - $orderData['shipping_status_title'] = $ShippingStatus->getTitle(); - $orderData['shipping_status_color'] = $ShippingStatus->getColor(); + if ($ShippingStatus) { + $orderData['shipping_status_id'] = $ShippingStatus->getId(); + $orderData['shipping_status_title'] = $ShippingStatus->getTitle(); + $orderData['shipping_status_color'] = $ShippingStatus->getColor(); + } } } diff --git a/src/QUI/ERP/Order/Utils/DataLayer.php b/src/QUI/ERP/Order/Utils/DataLayer.php index 6759f73ec41a5731029505619526fef1bf8955b8..e6c54efb11db90cf68e59d7c78f3f370d09b16d3 100644 --- a/src/QUI/ERP/Order/Utils/DataLayer.php +++ b/src/QUI/ERP/Order/Utils/DataLayer.php @@ -119,7 +119,7 @@ public static function parseOrder(QUI\ERP\Order\OrderInterface $Order, null | QU 'tax' => $tax ]; - if ($Order->getShipping()) { + if (class_exists('QUI\ERP\Shipping\Types\ShippingEntry') && $Order->getShipping()) { $order['shipping'] = $Order->getShipping()->getPrice(); } diff --git a/src/QUI/ERP/Order/Utils/Utils.php b/src/QUI/ERP/Order/Utils/Utils.php index c972f67e0e1d1f55994f5fdfad2144e9eecfa342..ee5cfce6a85fe4afd29cc1e2fa312d6c23b9e46b 100644 --- a/src/QUI/ERP/Order/Utils/Utils.php +++ b/src/QUI/ERP/Order/Utils/Utils.php @@ -429,6 +429,7 @@ public static function getMergedProductList($products): array { $newProductList = []; $getProductIndex = function ($product) use (&$newProductList) { + // @phpstan-ignore-next-line foreach ($newProductList as $index => $p) { $p1 = serialize(self::getCompareProductArray($product)); $p2 = serialize(self::getCompareProductArray($p));