| Current Path : /home/rtorresani/www/vendor/magento/module-indexer/Controller/Adminhtml/Indexer/ |
| Current File : //home/rtorresani/www/vendor/magento/module-indexer/Controller/Adminhtml/Indexer/MassChangelog.php |
<?php
/**
*
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Indexer\Controller\Adminhtml\Indexer;
use Magento\Framework\App\Action\HttpPostActionInterface as HttpPostActionInterface;
/**
* Controller endpoint for mass action: set index mode as 'Update by Schedule'
*/
class MassChangelog extends \Magento\Indexer\Controller\Adminhtml\Indexer implements HttpPostActionInterface
{
/**
* Turn mview on for the given indexers
*
* @return void
*/
public function execute()
{
$indexerIds = $this->getRequest()->getParam('indexer_ids');
if (!is_array($indexerIds)) {
$this->messageManager->addErrorMessage(__('Please select indexers.'));
} else {
try {
foreach ($indexerIds as $indexerId) {
/** @var \Magento\Framework\Indexer\IndexerInterface $model */
$model = $this->_objectManager->get(
\Magento\Framework\Indexer\IndexerRegistry::class
)->get($indexerId);
$model->setScheduled(true);
}
$this->messageManager->addSuccess(
__('%1 indexer(s) are in "Update by Schedule" mode.', count($indexerIds))
);
} catch (\Magento\Framework\Exception\LocalizedException $e) {
$this->messageManager->addErrorMessage($e->getMessage());
} catch (\Exception $e) {
$this->messageManager->addException(
$e,
__("We couldn't change indexer(s)' mode because of an error.")
);
}
}
$this->_redirect('*/*/list');
}
}