From b7ab2fd5b12ce9483b1e08f8d77f1d62365a6bc4 Mon Sep 17 00:00:00 2001
From: Henning Leutz <leutz@pcsg.de>
Date: Wed, 25 Sep 2019 10:22:55 +0200
Subject: [PATCH] fix: candyman-gmbh/projektplanung#78

---
 src/QUI/ERP/Shipping/EventHandler.php        |  2 --
 src/QUI/ERP/Shipping/Rules/ShippingRule.php  |  5 +++--
 src/QUI/ERP/Shipping/Types/ShippingEntry.php | 10 +++++-----
 3 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/src/QUI/ERP/Shipping/EventHandler.php b/src/QUI/ERP/Shipping/EventHandler.php
index 6234413..b615467 100644
--- a/src/QUI/ERP/Shipping/EventHandler.php
+++ b/src/QUI/ERP/Shipping/EventHandler.php
@@ -100,8 +100,6 @@ public static function onQuiqqerOrderBasketToOrderEnd(
             return;
         }
 
-        $Shipping->setOrder($Order);
-
         $PriceFactors = $Products->getPriceFactors();
         $PriceFactors->addToEnd($Shipping->toPriceFactor());
 
diff --git a/src/QUI/ERP/Shipping/Rules/ShippingRule.php b/src/QUI/ERP/Shipping/Rules/ShippingRule.php
index c5776a5..54293cd 100644
--- a/src/QUI/ERP/Shipping/Rules/ShippingRule.php
+++ b/src/QUI/ERP/Shipping/Rules/ShippingRule.php
@@ -335,7 +335,7 @@ public function canUsedInOrder($Order)
         $articleList = $Articles->getArticles();
 
         $articles    = $this->getAttribute('articles');
-        $articleOnly = $this->getAttribute('articles_only');
+        $articleOnly = (int)$this->getAttribute('articles_only');
         $unitTerms   = $this->getUnitTerms();
 
         $quantityFrom  = $this->getAttribute('purchase_quantity_from');     // Einkaufsmenge ab
@@ -362,6 +362,8 @@ public function canUsedInOrder($Order)
             }
 
             $articles = \array_flip($articles);
+        } else {
+            $articleOnly = 0;
         }
 
         foreach ($articleList as $Article) {
@@ -417,7 +419,6 @@ public function canUsedInOrder($Order)
             }
         }
 
-
         if ($articleFound && $articleOnly && \count($articleList) !== 1) {
             QUI\ERP\Shipping\Debug::addLog(
                 "{$this->getTitle()} :: is not a single article"
diff --git a/src/QUI/ERP/Shipping/Types/ShippingEntry.php b/src/QUI/ERP/Shipping/Types/ShippingEntry.php
index beb1796..e41bafd 100644
--- a/src/QUI/ERP/Shipping/Types/ShippingEntry.php
+++ b/src/QUI/ERP/Shipping/Types/ShippingEntry.php
@@ -591,7 +591,7 @@ public function getShippingRules()
 
             if (!$Rule->canUsedInOrder($this->Order)) {
                 if ($debugging) {
-                    Debug::addLog("### {$Rule->getTitle()} can not use in order");
+                    Debug::addLog("### {$Rule->getTitle()} can not used in order");
 
                     $debuggingLog[] = [
                         'id'     => $Rule->getId(),
@@ -601,13 +601,13 @@ public function getShippingRules()
                     ];
                 }
 
-                if ($debugging) {
-                    Debug::addLog("### {$Rule->getTitle()} can use in order");
-                }
-
                 continue;
             }
 
+            if ($debugging) {
+                Debug::addLog("### {$Rule->getTitle()} can used in order");
+            }
+
             $result[] = $Rule;
 
             if ($debugging) {
-- 
GitLab