diff --git a/src/QUI/ERP/Order/AbstractOrderProcessProvider.php b/src/QUI/ERP/Order/AbstractOrderProcessProvider.php index 4aa905d80b886e76cd49706b20a59adaaa40b507..d39f1424a45c8dafc50f3141e91b2499730b189e 100644 --- a/src/QUI/ERP/Order/AbstractOrderProcessProvider.php +++ b/src/QUI/ERP/Order/AbstractOrderProcessProvider.php @@ -6,6 +6,7 @@ namespace QUI\ERP\Order; +use QUI\ERP\Order\Controls\AbstractOrderingStep; use QUI\ERP\Order\Utils\OrderProcessSteps; /** @@ -45,10 +46,10 @@ public function initSteps(OrderProcessSteps $OrderProcessSteps, OrderProcess $Or * The processing order provider can display a separate step in the order processing * * @param AbstractOrder $Order - * @param null $Step + * @param AbstractOrderingStep|null $Step * @return string */ - public function getDisplay(AbstractOrder $Order, $Step = null): string + public function getDisplay(AbstractOrder $Order, null | AbstractOrderingStep $Step = null): string { return ''; } diff --git a/src/QUI/ERP/Order/EventHandling.php b/src/QUI/ERP/Order/EventHandling.php index df36c47a2e638841a61ee6177b81364320015028..cab4b85e00935f03dc8de65e8d7a252779e73715 100644 --- a/src/QUI/ERP/Order/EventHandling.php +++ b/src/QUI/ERP/Order/EventHandling.php @@ -11,6 +11,7 @@ use QUI; use QUI\ERP\Accounting\Payments\Transactions\Transaction; use QUI\ERP\Order\Controls\OrderProcess\CustomerData; +use QUI\ERP\Products\Interfaces\ProductTypeInterface; use QUI\Smarty\Collector; use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\Response; @@ -392,7 +393,7 @@ public static function onPackageSetup(QUI\Package\Package $Package): void */ public static function onDetailEquipmentButtons( Collector $Collection, - QUI\ERP\Products\Product\Types\AbstractType $Product + ProductTypeInterface $Product ): void { // add to basket -> only for complete products // variant products cant be added directly @@ -400,7 +401,6 @@ public static function onDetailEquipmentButtons( $Product instanceof QUI\ERP\Products\Product\Product || $Product instanceof QUI\ERP\Products\Product\Types\VariantChild ) { - /* @var $Product QUI\ERP\Products\Product\Product */ $AddToBasket = new QUI\ERP\Order\Controls\Buttons\ProductToBasket([ 'Product' => $Product, 'input' => false @@ -563,6 +563,7 @@ public static function onQuiqqerSalesOrdersSaveEnd(QUI\ERP\SalesOrders\SalesOrde // set shipping if ($SalesOrder->getShipping()) { + // @phpstan-ignore-next-line $Order->setShipping($SalesOrder->getShipping()); } diff --git a/src/QUI/ERP/Order/Factory.php b/src/QUI/ERP/Order/Factory.php index fa0e45e45dbc147417a185c280eb9edbe82c56d7..b73c67b12f12a1996027d52fdbffd832481de622 100644 --- a/src/QUI/ERP/Order/Factory.php +++ b/src/QUI/ERP/Order/Factory.php @@ -83,7 +83,7 @@ public function create( $Config = QUI::getPackage('quiqqer/order')->getConfig(); $orderId = $Config->getValue('order', 'orderCurrentIdIndex'); - if (empty($orderId) && $orderId != 0) { + if (empty($orderId)) { $orderId = 0; } else { $orderId = (int)$orderId + 1; diff --git a/src/QUI/ERP/Order/FrontendUsers/Controls/UserOrders.php b/src/QUI/ERP/Order/FrontendUsers/Controls/UserOrders.php index 83a4ba6d7c41510aab0bfd3742a1002efc7c5937..2135ea1603881ff97a78e49ee0731bc2506fbe3a 100644 --- a/src/QUI/ERP/Order/FrontendUsers/Controls/UserOrders.php +++ b/src/QUI/ERP/Order/FrontendUsers/Controls/UserOrders.php @@ -179,7 +179,7 @@ public function renderOrder(OrderInterface $Order): string $shippingStatus = false; if ( - QUI::getPackageManager()->isInstalled('quiqqer/shipping') + class_exists('QUI\ERP\Shipping\ShippingStatus\Status') && $Order->getShippingStatus() ) { $shippingStatus = $Order->getShippingStatus()->getTitle(); @@ -230,7 +230,9 @@ public function renderArticle(QUI\ERP\Accounting\Article $Article): string if (!empty($Product)) { try { - $Image = $Product->getImage(); + if (method_exists($Product, 'getImage')) { + $Image = $Product->getImage(); + } } catch (QUI\Exception) { } } diff --git a/src/QUI/ERP/Order/Mail.php b/src/QUI/ERP/Order/Mail.php index e44fd685310c2fa9cdcd5d1fb628542b0eb4969e..4613a745dc38e7e07d67730fae2cb1a7d705c80d 100644 --- a/src/QUI/ERP/Order/Mail.php +++ b/src/QUI/ERP/Order/Mail.php @@ -530,14 +530,17 @@ protected static function addBCCMailAddress(QUI\Mail\Mailer $Mailer): void //region mail helper /** - * @param OrderInterface $Order + * @param QUI\ERP\ErpEntityInterface $Order * @param QUI\Interfaces\Users\User $Customer * @return array - * @throws Exception */ - protected static function getOrderLocaleVar(OrderInterface $Order, QUI\Interfaces\Users\User $Customer): array + protected static function getOrderLocaleVar(QUI\ERP\ErpEntityInterface $Order, QUI\Interfaces\Users\User $Customer): array { - $Address = $Customer->getAddress(); + if ($Customer instanceof QUI\ERP\User) { + $Address = $Customer->getAddress(); + } else { + $Address = $Customer->getStandardAddress(); + } // customer name $user = $Customer->getName(); diff --git a/src/QUI/ERP/Order/OrderView.php b/src/QUI/ERP/Order/OrderView.php index c0cf446b80336dc477ac820ad8d9375c27610773..79fc5987577a7e01f43e6607881c9c534467e7a1 100644 --- a/src/QUI/ERP/Order/OrderView.php +++ b/src/QUI/ERP/Order/OrderView.php @@ -175,9 +175,9 @@ public function getCreateDate(): string } /** - * @return bool|QUI\ERP\Shipping\ShippingStatus\Status + * @return null|QUI\ERP\Shipping\ShippingStatus\Status */ - public function getShippingStatus(): bool | QUI\ERP\Shipping\ShippingStatus\Status + public function getShippingStatus(): null | QUI\ERP\Shipping\ShippingStatus\Status { return $this->Order->getShippingStatus(); }