From fdc7309a6a3af79cb0a3a60d312494da038eec56 Mon Sep 17 00:00:00 2001 From: Henning <leutz@pcsg.de> Date: Sun, 23 Feb 2025 10:13:20 +0100 Subject: [PATCH] refactor(phpstan): improve order handling and cleanup code Changes include: - Updated `AbstractOrderingStep.php` to handle null case in `getOrder` method and modified return type. - Refactored `Order.php` to remove unnecessary checks and improve readability. - Ensured safety against calling non-existent `save()` method in `Checkout.php`. - Simplified address getting logic in `CustomerData.php`. - Removed unnecessary check in isUserB2B function. Related: quiqqer/order#172 --- src/QUI/ERP/Order/Controls/AbstractOrderingStep.php | 11 ++++++++--- src/QUI/ERP/Order/Controls/Order/Order.php | 12 ++++-------- .../ERP/Order/Controls/OrderProcess/Checkout.php | 4 +++- .../Order/Controls/OrderProcess/CustomerData.php | 13 +------------ 4 files changed, 16 insertions(+), 24 deletions(-) diff --git a/src/QUI/ERP/Order/Controls/AbstractOrderingStep.php b/src/QUI/ERP/Order/Controls/AbstractOrderingStep.php index 4a928c26..7c96473f 100644 --- a/src/QUI/ERP/Order/Controls/AbstractOrderingStep.php +++ b/src/QUI/ERP/Order/Controls/AbstractOrderingStep.php @@ -7,6 +7,7 @@ namespace QUI\ERP\Order\Controls; use QUI; +use QUI\ERP\Order\AbstractOrder; use QUI\Locale; use ReflectionClass; @@ -48,11 +49,15 @@ public function getIcon(): string /** * Return the current order * - * @return QUI\ERP\Order\AbstractOrder + * @return AbstractOrder|null */ - public function getOrder(): QUI\ERP\Order\AbstractOrder + public function getOrder(): ?QUI\ERP\Order\AbstractOrder { - return $this->getAttribute('Order'); + if ($this->getAttribute('Order') instanceof QUI\ERP\Order\AbstractOrder) { + return $this->getAttribute('Order'); + } + + return null; } /** diff --git a/src/QUI/ERP/Order/Controls/Order/Order.php b/src/QUI/ERP/Order/Controls/Order/Order.php index 512d3554..8a4a4717 100644 --- a/src/QUI/ERP/Order/Controls/Order/Order.php +++ b/src/QUI/ERP/Order/Controls/Order/Order.php @@ -21,7 +21,7 @@ class Order extends QUI\Control /** * @var null|QUI\ERP\Order\AbstractOrder */ - protected QUI\ERP\Order\AbstractOrder|null $Order = null; + protected QUI\ERP\Order\AbstractOrder | null $Order = null; /** * Order constructor. @@ -83,16 +83,12 @@ public function getBody(): string if ($Order->hasInvoice()) { $Invoice = $Order->getInvoice(); } - - if ($Invoice instanceof QUI\ERP\Accounting\Invoice\InvoiceTemporary) { - $View->setAttribute('downloadLink', false); - } } catch (QUI\Exception $Exception) { QUI\System\Log::writeDebugException($Exception); + } - if ($Invoice instanceof QUI\ERP\Accounting\Invoice\InvoiceTemporary) { - $View->setAttribute('downloadLink', false); - } + if ($Invoice instanceof QUI\ERP\Accounting\Invoice\InvoiceTemporary) { + $View->setAttribute('downloadLink', false); } switch ($this->getAttribute('template')) { diff --git a/src/QUI/ERP/Order/Controls/OrderProcess/Checkout.php b/src/QUI/ERP/Order/Controls/OrderProcess/Checkout.php index 52f058fd..0a269e9e 100644 --- a/src/QUI/ERP/Order/Controls/OrderProcess/Checkout.php +++ b/src/QUI/ERP/Order/Controls/OrderProcess/Checkout.php @@ -254,7 +254,9 @@ public function forceSave(): void $Order->setData('orderedWithCosts', 1); $Order->setData('orderedWithCostsPayment', $Payment->getId()); - $Order->save(); + if (method_exists($Order, 'save')) { + $Order->save(); + } } /** diff --git a/src/QUI/ERP/Order/Controls/OrderProcess/CustomerData.php b/src/QUI/ERP/Order/Controls/OrderProcess/CustomerData.php index e62706a8..7b4c1713 100644 --- a/src/QUI/ERP/Order/Controls/OrderProcess/CustomerData.php +++ b/src/QUI/ERP/Order/Controls/OrderProcess/CustomerData.php @@ -64,14 +64,7 @@ public function getBody(): string } if (!$Address) { - try { - /* @var $User User */ - $Address = $User->getStandardAddress(); - } catch (QUI\Exception) { - // user has no address - // create a new standard address - $Address = $User->addAddress(); - } + $Address = $User->getStandardAddress(); } try { @@ -83,10 +76,6 @@ public function getBody(): string $isUserB2B = function () use ($User) { - if (!$User) { - return ''; - } - if ($User->getAttribute('quiqqer.erp.isNettoUser') === QUI\ERP\Utils\User::IS_NETTO_USER) { return ' selected="selected"'; } -- GitLab