Prevent deleting lists with emails that are being sent

[MAILPOET-3417]
This commit is contained in:
Pavel Dohnal
2021-02-17 14:43:38 +01:00
committed by Veljko V
parent dc4727117c
commit aad1495262
3 changed files with 29 additions and 3 deletions

View File

@ -53,4 +53,23 @@ class NewsletterSegmentRepository extends Repository {
}
return $nameMap;
}
public function getSendingEmailSubjectsBySegmentIds(array $segmentIds): array {
$results = $this->doctrineRepository->createQueryBuilder('ns')
->select('IDENTITY(ns.segment) AS segment_id, n.subject')
->join('ns.newsletter', 'n')
->join('n.queues', 'q')
->join('q.task', 't')
->where('t.status IS NULL')
->andWhere('ns.segment IN (:segmentIds)')
->setParameter('segmentIds', $segmentIds)
->getQuery()
->getResult();
$nameMap = [];
foreach ($results as $result) {
$nameMap[(string)$result['segment_id']][] = $result['subject'];
}
return $nameMap;
}
}