1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
/*------------------------------------------------------------------------
# SM Mega Menu - Version 3.2.0
# Copyright (c) 2015 YouTech Company. All Rights Reserved.
# @license - Copyrighted Commercial Software
# Author: YouTech Company
# Websites: http://www.magentech.com
-------------------------------------------------------------------------*/
namespace Sm\MegaMenu\Controller\Adminhtml\MenuGroup;
use Magento\Framework\Controller\ResultFactory;
use Magento\Backend\App\Action\Context;
use Magento\Framework\Registry;
class MassStatus extends \Sm\MegaMenu\Controller\Adminhtml\MenuGroup
{
protected $_coreRegistry;
public function __construct(
Context $context,
Registry $registry
)
{
$this->_coreRegistry = $registry;
parent::__construct($context, $registry);
}
/**
* Update product(s) status action
*
* @return \Magento\Backend\Model\View\Result\Redirect
*/
public function execute(){
$megamenuIds = $this->getRequest()->getParam('menugroup_param');
$menuItems = $this->_objectManager->create('Sm\MegaMenu\Model\MenuGroup');
$menuGroup = 0;
if(!is_array($megamenuIds)) {
$this->messageManager->addError($this->__('Please select item(s)'));
}
else{
try {
foreach ($megamenuIds as $group) {
$menuItems->load($group)
->setStatus($this->getRequest()->getParam('status'))
->setIsMassupdate(true)
->save();
$menuGroup++;
}
$this->messageManager->addSuccess(
__('A total of %1 record(s) have been update status.', $menuGroup)
);
$redirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT);
return $redirect->setPath('megamenu/*/index');
} catch (\Magento\Framework\Exception\LocalizedException $e) {
$this->messageManager->addError($e->getMessage());
} catch (\Exception $e) {
$this->_getSession()->addException($e, __('Something went wrong while updating the product(s) status.'));
}
}
$redirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT);
return $redirect->setPath('megamenu/*/index');
}
}