From 11454065311ec07b4d00d2cc12dfe08034b7628f Mon Sep 17 00:00:00 2001 From: yuri Date: Mon, 21 Sep 2015 11:41:14 +0300 Subject: [PATCH] remove queue after mass email remove --- application/Espo/Modules/Crm/Services/MassEmail.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/application/Espo/Modules/Crm/Services/MassEmail.php b/application/Espo/Modules/Crm/Services/MassEmail.php index 74489bd2be..735571614d 100644 --- a/application/Espo/Modules/Crm/Services/MassEmail.php +++ b/application/Espo/Modules/Crm/Services/MassEmail.php @@ -62,6 +62,18 @@ class MassEmail extends \Espo\Services\Record } } + protected function afterRemove(Entity $entity, array $data = array()) + { + parent::afterRemove($entity, $data); + $existingQueueItemList = $this->getEntityManager()->getRepository('EmailQueueItem')->where(array( + 'status' => ['Pending', 'Failed'], + 'massEmailId' => $massEmail->id + ))->find(); + foreach ($existingQueueItemList as $existingQueueItem) { + $this->getEntityManager()->getMapper('RDB')->deleteFromDb('EmailQueueItem', $existingQueueItem->id); + } + } + public function createQueue(Entity $massEmail, $isTest = false, $additionalTargetList = []) { if (!$isTest && $massEmail->get('status') !== 'Pending') {