123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Wishlist\Controller\Index;
- use Magento\Framework\Data\Form\FormKey\Validator;
- use Magento\Framework\App\Action;
- use Magento\Framework\App\Action\Context;
- use Magento\Wishlist\Controller\WishlistProviderInterface;
- use Magento\Wishlist\Model\ItemCarrier;
- use Magento\Framework\Controller\ResultFactory;
- class Allcart extends \Magento\Wishlist\Controller\AbstractIndex
- {
- /**
- * @var WishlistProviderInterface
- */
- protected $wishlistProvider;
- /**
- * @var \Magento\Wishlist\Model\ItemCarrier
- */
- protected $itemCarrier;
- /**
- * @var \Magento\Framework\Data\Form\FormKey\Validator
- */
- protected $formKeyValidator;
- /**
- * @param Context $context
- * @param WishlistProviderInterface $wishlistProvider
- * @param Validator $formKeyValidator
- * @param ItemCarrier $itemCarrier
- */
- public function __construct(
- Context $context,
- WishlistProviderInterface $wishlistProvider,
- Validator $formKeyValidator,
- ItemCarrier $itemCarrier
- ) {
- $this->wishlistProvider = $wishlistProvider;
- $this->formKeyValidator = $formKeyValidator;
- $this->itemCarrier = $itemCarrier;
- parent::__construct($context);
- }
- /**
- * Add all items from wishlist to shopping cart
- *
- * @return \Magento\Framework\Controller\ResultInterface
- */
- public function execute()
- {
- /** @var \Magento\Framework\Controller\Result\Forward $resultForward */
- $resultForward = $this->resultFactory->create(ResultFactory::TYPE_FORWARD);
- if (!$this->formKeyValidator->validate($this->getRequest())) {
- $resultForward->forward('noroute');
- return $resultForward;
- }
- $wishlist = $this->wishlistProvider->getWishlist();
- if (!$wishlist) {
- $resultForward->forward('noroute');
- return $resultForward;
- }
- /** @var \Magento\Framework\Controller\Result\Redirect $resultRedirect */
- $resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT);
- $redirectUrl = $this->itemCarrier->moveAllToCart($wishlist, $this->getRequest()->getParam('qty'));
- $resultRedirect->setUrl($redirectUrl);
- return $resultRedirect;
- }
- }
|