about summary refs log tree commit diff
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2022-05-28T16·06+0200
committertazjin <tazjin@tvl.su>2022-05-28T17·03+0000
commit10768741cdc8c69240a8152d8195c2362c76535c (patch)
treed4c4e5f51dddb0df1a2dd1a9397bab084fbb2e70
parent38be32c6b0f847aec1d1e19eb2765485d9f2ed39 (diff)
fix(web/panettone): Only send emails if the email is known r/4178
Upcoming changes to the authentication model may mean that user
objects do not have an email address attached.

Change-Id: I4fddb810f723c790d243f779714ca7f189a02aeb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5770
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
-rw-r--r--web/panettone/src/email.lisp5
-rw-r--r--web/panettone/src/packages.lisp2
2 files changed, 4 insertions, 3 deletions
diff --git a/web/panettone/src/email.lisp b/web/panettone/src/email.lisp
index cb01c488a2..72b2e146b4 100644
--- a/web/panettone/src/email.lisp
+++ b/web/panettone/src/email.lisp
@@ -41,8 +41,9 @@ values of `*smtp-server*', `*smtp-server-port*' and `*email-notification-from*'"
   "Sends an email notification to the user with DN with the given SUBJECT and
   MESSAGE, iff that user has not disabled email notifications"
   (when (user-has-email-notifications-enabled-p dn)
-    (when-let ((user (find-user-by-dn dn)))
+    (when-let* ((user (find-user-by-dn dn))
+                (user-mail user))
       (send-email-notification
-       :to (mail user)
+       :to user-mail
        :subject subject
        :message message))))
diff --git a/web/panettone/src/packages.lisp b/web/panettone/src/packages.lisp
index 81d2bed728..d3e23d5b33 100644
--- a/web/panettone/src/packages.lisp
+++ b/web/panettone/src/packages.lisp
@@ -55,7 +55,7 @@
 (defpackage panettone.email
   (:nicknames :email)
   (:use :cl)
-  (:import-from :alexandria :when-let)
+  (:import-from :alexandria :when-let :when-let*)
   (:import-from :panettone.model
    :settings-for-user :enable-email-notifications-p)
   (:import-from :panettone.authentication