From 6a5bccf372b958cc4ec5a35113410c5ddb2ac6d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Fromme?= Date: Mon, 1 Jul 2024 16:39:05 +0200 Subject: [PATCH] feat: send reminder emails for pending contracts --- src/Service/Cron/UploadReminderService.php | 16 +++++++--------- .../email/reminder_contract_upload.html.twig | 4 +++- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/Service/Cron/UploadReminderService.php b/src/Service/Cron/UploadReminderService.php index 800eb7e..b7dedd2 100644 --- a/src/Service/Cron/UploadReminderService.php +++ b/src/Service/Cron/UploadReminderService.php @@ -22,8 +22,9 @@ class UploadReminderService public function sendContractUploadReminders(): string { // Contracts have to be uploaded before assignment's begin date. Reminder is - // sent three days before end of this period thus due date is today in three days. - $contractDueDate = (new \DateTimeImmutable())->modify('+3 days'); + // sent 7 and 14 days after disposition has been created. + $contractDueDateFirst = (new \DateTimeImmutable())->modify('-7 days'); + $contractDueDateSecond = (new \DateTimeImmutable())->modify('-14 days'); // Find dispositions of assignments with due contract upload $qb = $this->dispositionRepository->createQueryBuilder('disposition'); @@ -36,17 +37,14 @@ class UploadReminderService ->where($qb->expr()->andX( $qb->expr()->isNull('document'), $qb->expr()->orX( - // Due date can be determined by assignment's date which potentially overrides destination date - $qb->expr()->andX( - $qb->expr()->isNotNull('assignment.dateFrom'), - $qb->expr()->eq('assignment.dateFrom', ':dateFrom') - ), - $qb->expr()->eq('destination.dateFrom', ':dateFrom'), + $qb->expr()->eq('document.createdAt', ':contractDueDateFirst'), + $qb->expr()->eq('document.createdAt', ':contractDueDateSecond'), ) )) ->setParameters([ 'documentType' => Upload::TYPE_CONTRACT, - 'dateFrom' => $contractDueDate, + 'contractDueDateFirst' => $contractDueDateFirst, + 'contractDueDateSecond' => $contractDueDateSecond, ]) ->getQuery() ->getResult() diff --git a/templates/email/reminder_contract_upload.html.twig b/templates/email/reminder_contract_upload.html.twig index 0d99f82..f8dad08 100644 --- a/templates/email/reminder_contract_upload.html.twig +++ b/templates/email/reminder_contract_upload.html.twig @@ -10,7 +10,9 @@

- {{ disposition.assignment.destination}}. + + {{ disposition.assignment.destination}} + .