Skip to content

Commit

Permalink
Merge pull request #182 from bold-commerce/Q1-662
Browse files Browse the repository at this point in the history
Prevent quote save in case self-hosted checkout.
  • Loading branch information
p-bystritsky authored Nov 22, 2023
2 parents bae63d4 + f13ebc1 commit 07bae2f
Showing 1 changed file with 16 additions and 3 deletions.
19 changes: 16 additions & 3 deletions Model/Quote/SetQuoteAddresses.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

use Bold\Checkout\Api\Data\Quote\ResultInterface;
use Bold\Checkout\Api\Quote\SetQuoteAddressesInterface;
use Bold\Checkout\Model\ConfigInterface;
use Bold\Checkout\Model\Quote\Result\Builder;
use Magento\Framework\Exception\LocalizedException;
use Magento\Quote\Api\Data\AddressInterface;
Expand Down Expand Up @@ -36,22 +37,30 @@ class SetQuoteAddresses implements SetQuoteAddressesInterface
*/
private $loadAndValidate;

/**
* @var ConfigInterface
*/
private $config;

/**
* @param ShippingAssignmentProcessor $shippingAssignmentProcessor
* @param Builder $quoteResultBuilder
* @param QuoteResource $quoteResource
* @param LoadAndValidate $loadAndValidate
* @param ConfigInterface $config
*/
public function __construct(
ShippingAssignmentProcessor $shippingAssignmentProcessor,
Builder $quoteResultBuilder,
QuoteResource $quoteResource,
LoadAndValidate $loadAndValidate
LoadAndValidate $loadAndValidate,
ConfigInterface $config
) {
$this->shippingAssignmentProcessor = $shippingAssignmentProcessor;
$this->quoteResultBuilder = $quoteResultBuilder;
$this->quoteResource = $quoteResource;
$this->loadAndValidate = $loadAndValidate;
$this->config = $config;
}

/**
Expand All @@ -73,7 +82,9 @@ public function setAddresses(
$quote->removeAddress($quote->getShippingAddress()->getId());
$quote->setDataChanges(true);
$quote->collectTotals();
$this->quoteResource->save($quote);
if (!$this->config->isCheckoutTypeSelfHosted((int)$quote->getStore()->getWebsiteId())) {
$this->quoteResource->save($quote);
}
$quote->getExtensionAttributes()->setShippingAssignments([]);
return $this->quoteResultBuilder->createSuccessResult($quote);
}
Expand All @@ -90,7 +101,9 @@ public function setAddresses(
}
$quote->setDataChanges(true);
$quote->collectTotals();
$this->quoteResource->save($quote);
if (!$this->config->isCheckoutTypeSelfHosted((int)$quote->getStore()->getWebsiteId())) {
$this->quoteResource->save($quote);
}
return $this->quoteResultBuilder->createSuccessResult($quote);
}
}

0 comments on commit 07bae2f

Please sign in to comment.