Files
ltsecurityinc/app/code/JR/NetSuite/Plugin/SendEmailWhenRmaChanged.php
T

47 lines
1.3 KiB
PHP
Executable File

<?php
namespace JR\NetSuite\Plugin;
class SendEmailWhenRmaChanged
{
/**
* @var \JR\NetSuite\Model\ResourceModel\RmaQueue\CollectionFactory
*/
private $rmaQueueCollectionFactory;
/**
* @var \Mirasvit\Rma\Api\Service\Rma\RmaManagementInterface
*/
private $rmaManagement;
public function __construct(
\JR\NetSuite\Model\ResourceModel\RmaQueue\CollectionFactory $rmaQueueCollectionFactory,
\Mirasvit\Rma\Api\Service\Rma\RmaManagementInterface $rmaManagement
)
{
$this->rmaQueueCollectionFactory = $rmaQueueCollectionFactory;
$this->rmaManagement = $rmaManagement;
}
public function aroundOnRmaStatusChange(
\Mirasvit\Rma\Helper\Rma\Event $subject,
callable $proceed,
$rma
) {
// if RMA just created, do nothing
$rmaQueueCollection = $this->rmaQueueCollectionFactory->create();
$rmaQueueCollection->addFieldToFilter('status', 'processing');
$order = $this->rmaManagement->getOrder($rma);
foreach ($rmaQueueCollection as $rmaQueue) {
if ($rmaQueue->getOrderIncrementId() == $order->getRealorderId()) {
return;
}
}
$result = $proceed($rma);
return $result;
}
}