Skip to content

Commit a5de753

Browse files
committed
issue#13952: add condition if empty cart.
1 parent c4b3a0a commit a5de753

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

app/code/Magento/Quote/Model/QuoteManagement.php

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -388,11 +388,14 @@ protected function createCustomerCart($customerId, $storeId)
388388
public function placeOrder($cartId, PaymentInterface $paymentMethod = null)
389389
{
390390
$quote = $this->quoteRepository->getActive($cartId);
391-
$quote->setIsActive(false);
392-
$this->quoteRepository->save($quote);
393391
$customer = $quote->getCustomer();
394392
$customerId = $customer ? $customer->getId() : null;
395393

394+
if (!$quote->isEmpty()) {
395+
$quote->setIsActive(false);
396+
$this->quoteRepository->save($quote);
397+
}
398+
396399
if ($paymentMethod) {
397400
$paymentMethod->setChecks(
398401
[
@@ -613,8 +616,10 @@ protected function submitQuote(QuoteEntity $quote, $orderData = [])
613616
);
614617
$this->quoteRepository->save($quote);
615618
} catch (\Exception $e) {
616-
$quote->setIsActive(1);
617-
$this->quoteRepository->save($quote);
619+
if (!$quote->isEmpty()) {
620+
$quote->setIsActive(1);
621+
$this->quoteRepository->save($quote);
622+
}
618623
$this->rollbackAddresses($quote, $order, $e);
619624
throw $e;
620625
}

0 commit comments

Comments
 (0)