I want to remove all cancelled orders from admin sales_order_grid. I am trying to add a collection as below. But it's not updating. However the printed data showing correctly.
<?php
namespace Custom\Module\Model\ResourceModel\Order\Grid;
use Magento\Sales\Model\ResourceModel\Order\Grid\Collection as OriginalCollection;
use Magento\Framework\Data\Collection\Db\FetchStrategyInterface as FetchStrategy;
use Magento\Framework\Data\Collection\EntityFactoryInterface as EntityFactory;
use Magento\Framework\Event\ManagerInterface as EventManager;
use Psr\Log\LoggerInterface as Logger;
class Collection extends OriginalCollection
{
protected $_authSession;
public function __construct(
EntityFactory $entityFactory,
Logger $logger,
FetchStrategy $fetchStrategy,
EventManager $eventManager,
\Magento\Backend\Model\Auth\Session $authSession
)
{
$this->_authSession = $authSession;
parent::__construct($entityFactory, $logger, $fetchStrategy, $eventManager);
}
protected function _initSelect()
{
parent::_initSelect();
$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); // Instance of object manager
$resource = $objectManager->get('Magento\Framework\App\ResourceConnection');
$connection = $resource->getConnection();
/*$sales_order = $resource->getTableName('sales_order');
$sales_order_item = $resource->getTableName('sales_order_item'); */
$sql ="SELECT * FROM `sales_order_grid` WHERE `status`!='canceled'";
$result = $connection->fetchAll($sql);
return $result;
}
}
If I print $result it's showing correct data, without cancelled orders. But in admin it's not updating.
Below is my di.xml code:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Magento\Framework\View\Element\UiComponent\DataProvider\CollectionFactory">
<arguments>
<argument name="collections" xsi:type="array">
<item name="sales_order_grid_data_source" xsi:type="string">Custom\Module\Model\ResourceModel\Order\Grid\Collection</item>
</argument>
</arguments>
</type>