From 739afe30e77f8b0a5923f34af3d7397af4119c99 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 18 Mar 2020 09:05:48 +0100 Subject: [PATCH 1/3] Set the affected usrs on email event object Signed-off-by: Joas Schilling --- lib/MailQueueHandler.php | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/MailQueueHandler.php b/lib/MailQueueHandler.php index 1dbd9e0c0..82ca7f05a 100644 --- a/lib/MailQueueHandler.php +++ b/lib/MailQueueHandler.php @@ -335,6 +335,7 @@ protected function sendEmailToUser($userName, $email, $lang, $timezone, $maxTime try { $event->setApp((string) $activity['amq_appid']) ->setType((string) $activity['amq_type']) + ->setAffectedUser((string) $activity['amq_affecteduser']) ->setTimestamp((int) $activity['amq_timestamp']) ->setSubject((string) $activity['amq_subject'], (array) json_decode($activity['amq_subjectparams'], true)) ->setObject((string) $activity['object_type'], (int) $activity['object_id']); From 65786cde7bcd4a4f2a7d34c83e22ef639e1e7249 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 18 Mar 2020 09:06:11 +0100 Subject: [PATCH 2/3] Import exception that is being caught Signed-off-by: Joas Schilling --- lib/MailQueueHandler.php | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/MailQueueHandler.php b/lib/MailQueueHandler.php index 82ca7f05a..94327207a 100644 --- a/lib/MailQueueHandler.php +++ b/lib/MailQueueHandler.php @@ -36,6 +36,7 @@ use OCP\IUserManager; use OCP\L10N\IFactory; use OCP\Mail\IMailer; +use OCP\RichObjectStrings\InvalidObjectExeption; use OCP\RichObjectStrings\IValidator; use OCP\Util; From 2215549cdbb6537871c83a5477e6b4b4c4e8ce5d Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 18 Mar 2020 09:06:49 +0100 Subject: [PATCH 3/3] Set the formatting object only once per event Signed-off-by: Joas Schilling --- lib/MailQueueHandler.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/MailQueueHandler.php b/lib/MailQueueHandler.php index 94327207a..22039c3a7 100644 --- a/lib/MailQueueHandler.php +++ b/lib/MailQueueHandler.php @@ -443,14 +443,14 @@ protected function getHTMLSubject(IEvent $event): string { * @throws \InvalidArgumentException when the event could not be parsed */ protected function parseEvent($lang, IEvent $event) { + $this->activityManager->setFormattingObject($event->getObjectType(), $event->getObjectId()); foreach ($this->activityManager->getProviders() as $provider) { try { - $this->activityManager->setFormattingObject($event->getObjectType(), $event->getObjectId()); $event = $provider->parse($lang, $event); - $this->activityManager->setFormattingObject('', 0); } catch (\InvalidArgumentException $e) { } } + $this->activityManager->setFormattingObject('', 0); try { $this->richObjectValidator->validate($event->getRichSubject(), $event->getRichSubjectParameters());