123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Checkout\Controller\Cart;
- use Magento\Framework;
- use Magento\Checkout\Model\Cart as CustomerCart;
- class EstimatePost extends \Magento\Checkout\Controller\Cart
- {
- /**
- * @var \Magento\Quote\Api\CartRepositoryInterface
- */
- protected $quoteRepository;
- /**
- * @param \Magento\Framework\App\Action\Context $context
- * @param \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig
- * @param \Magento\Checkout\Model\Session $checkoutSession
- * @param \Magento\Store\Model\StoreManagerInterface $storeManager
- * @param \Magento\Framework\Data\Form\FormKey\Validator $formKeyValidator
- * @param CustomerCart $cart
- * @param \Magento\Quote\Api\CartRepositoryInterface $quoteRepository
- * @codeCoverageIgnore
- */
- public function __construct(
- Framework\App\Action\Context $context,
- Framework\App\Config\ScopeConfigInterface $scopeConfig,
- \Magento\Checkout\Model\Session $checkoutSession,
- \Magento\Store\Model\StoreManagerInterface $storeManager,
- \Magento\Framework\Data\Form\FormKey\Validator $formKeyValidator,
- CustomerCart $cart,
- \Magento\Quote\Api\CartRepositoryInterface $quoteRepository
- ) {
- $this->quoteRepository = $quoteRepository;
- parent::__construct(
- $context,
- $scopeConfig,
- $checkoutSession,
- $storeManager,
- $formKeyValidator,
- $cart
- );
- }
- /**
- * Initialize shipping information
- *
- * @return \Magento\Framework\Controller\Result\Redirect
- */
- public function execute()
- {
- $country = (string)$this->getRequest()->getParam('country_id');
- $postcode = (string)$this->getRequest()->getParam('estimate_postcode');
- $city = (string)$this->getRequest()->getParam('estimate_city');
- $regionId = (string)$this->getRequest()->getParam('region_id');
- $region = (string)$this->getRequest()->getParam('region');
- $this->cart->getQuote()->getShippingAddress()
- ->setCountryId($country)
- ->setCity($city)
- ->setPostcode($postcode)
- ->setRegionId($regionId)
- ->setRegion($region)
- ->setCollectShippingRates(true);
- $this->quoteRepository->save($this->cart->getQuote());
- $this->cart->save();
- return $this->_goBack();
- }
- }
|