Is it possible to see which user completed a customer order?
1 Answer
First you need to create a plugin.
di.xml
<type name="Magento\Framework\View\Element\UiComponent\DataProvider\CollectionFactory">
<plugin name="sales_order_grid_collection" type="VENDOR\MODULE\Plugin\OrderGridCollection" sortOrder="100" />
</type>
Create plugin file in VENDOR/MODULE/plugin/OrderGridCollection.php
<?php namespace VENDOR\MODULE\Plugin;
use Magento\Framework\Message\ManagerInterface as MessageManager;
use Magento\Sales\Model\ResourceModel\Order\Grid\Collection as SalesOrderGridCollection;
class OrderGridCollection
{
private $messageManager;
private $collection;
protected $adminSession;
public function __construct(MessageManager $messageManager,
SalesOrderGridCollection $collection,
\Magento\Backend\Model\Auth\Session $adminSession
) {
$this->messageManager = $messageManager;
$this->collection = $collection;
$this->adminSession = $adminSession;
}
public function aroundGetReport(
\Magento\Framework\View\Element\UiComponent\DataProvider\CollectionFactory $subject,
\Closure $proceed,
$requestName
) {
$result = $proceed($requestName);
if ($requestName == 'sales_order_grid_data_source') {
$current_adminuser = $this->adminSession->getUser();
}
}
}