diff --git a/Components/Services/BasketService.php b/Components/Services/BasketService.php index 2227cf9a..7c9ff4fc 100644 --- a/Components/Services/BasketService.php +++ b/Components/Services/BasketService.php @@ -165,7 +165,10 @@ public function restoreBasket($orderId) } // recalculate order - $order->calculateInvoiceAmount(); + if ($this->config->resetInvoiceAndShipping()) { + $order->calculateInvoiceAmount(); + } + /** @var Status $statusCanceled */ $statusCanceled = Shopware()->Container()->get('models')->getRepository( @@ -370,8 +373,12 @@ public function resetOrderDetailQuantity(Detail $orderDetail) $orderDetail->setQuantity(0); try { + $classMetaData = $this->modelManager->getClassMetadata(get_class($orderDetail)); + $events = $classMetaData->lifecycleCallbacks; + $classMetaData->setLifecycleCallbacks([]); $this->modelManager->persist($orderDetail); $this->modelManager->flush($orderDetail); + $classMetaData->setLifecycleCallbacks($events); } catch (Exception $e) { // }