| Current Path : /home/rtorresani/www/vendor/magento/module-catalog/Controller/Product/Compare/ |
| Current File : //home/rtorresani/www/vendor/magento/module-catalog/Controller/Product/Compare/Clear.php |
<?php
/**
*
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Catalog\Controller\Product\Compare;
use Magento\Framework\App\Action\HttpPostActionInterface as HttpPostActionInterface;
use Magento\Framework\Controller\ResultFactory;
class Clear extends \Magento\Catalog\Controller\Product\Compare implements HttpPostActionInterface
{
/**
* Remove all items from comparison list
*
* @return \Magento\Framework\Controller\ResultInterface
*/
public function execute()
{
/** @var \Magento\Catalog\Model\ResourceModel\Product\Compare\Item\Collection $items */
$items = $this->_itemCollectionFactory->create();
if ($this->_customerSession->isLoggedIn()) {
$items->setCustomerId($this->_customerSession->getCustomerId());
} elseif ($this->_customerId) {
$items->setCustomerId($this->_customerId);
} else {
$items->setVisitorId($this->_customerVisitor->getId());
}
try {
$items->clear();
$this->messageManager->addSuccessMessage(__('You cleared the comparison list.'));
$this->_objectManager->get(\Magento\Catalog\Helper\Product\Compare::class)->calculate();
} catch (\Magento\Framework\Exception\LocalizedException $e) {
$this->messageManager->addErrorMessage($e->getMessage());
} catch (\Exception $e) {
$this->messageManager->addExceptionMessage($e, __('Something went wrong clearing the comparison list.'));
}
/** @var \Magento\Framework\Controller\Result\Redirect $resultRedirect */
$resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT);
return $resultRedirect->setRefererOrBaseUrl();
}
}