From 3a385771cb4eec251692608ae9de65fee1a33615 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 2f424ebaf3b190a84ade52143321435f955e8fc4 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 5f62afbea31ad28495a435c0180c913dd5b0e536 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());