From c287dac4330308452e0e219be1a01d090804b457 Mon Sep 17 00:00:00 2001 From: Ben Sturmfels Date: Wed, 31 Jan 2024 12:28:45 +1100 Subject: [PATCH] usethesource: Make email addresses configurable --- conservancy/settings.py | 5 +++++ conservancy/usethesource/emails.py | 22 ++++++++++++++++------ 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/conservancy/settings.py b/conservancy/settings.py index b8e847ad..2e355a23 100644 --- a/conservancy/settings.py +++ b/conservancy/settings.py @@ -149,3 +149,8 @@ MIDDLEWARE = [ 'conservancy.middleware.ForceCanonicalHostnameMiddleware', # 'django.middleware.doc.XViewMiddleware', ] + +USETHESOURCE = { + 'SENDER': 'compliance@sfconservancy.org', + 'LIST_RECIPIENT': 'nutbush@lists.sfconservancy.org', +} diff --git a/conservancy/usethesource/emails.py b/conservancy/usethesource/emails.py index 082e10db..4620a8f2 100644 --- a/conservancy/usethesource/emails.py +++ b/conservancy/usethesource/emails.py @@ -1,8 +1,9 @@ +from django.conf import settings from django.core.mail import EmailMessage from django.shortcuts import reverse -SENDER = 'compliance@sfconservancy.org' -LIST_RECIPIENT = 'nutbush@lists.sfconservancy.org' +SENDER = settings.USETHESOURCE['SENDER'] +LIST_RECIPIENT = settings.USETHESOURCE['LIST_RECIPIENT'] def make_candidate_email(candidate, user): @@ -21,23 +22,32 @@ Released: {candidate.release_date} {candidate.description} -To download this candidate's source and binary image, visit: +To view this candidate and download the source and binary image, visit: https://sfconservancy.org{reverse('usethesource:candidate', kwargs={'slug': candidate.slug})} -- {signature} -''' +(Via http//sfconservancy.org{reverse('usethesource:landing')})''' headers = {'Message-ID': candidate.email_message_id} return EmailMessage(subject, body, sender, to, headers=headers) def make_comment_email(comment): """Email when a comment is added to a candidate.""" - subject = f'Re: {comment.candidate.name}' + candidate = comment.candidate + subject = f'Re: {candidate.name}' signature = comment.user.get_full_name() or comment.user.username sender = f'{signature} <{SENDER}>' to = [LIST_RECIPIENT] - body = f'{comment.message}\n\n--\n{signature}' + body = f'''\ +{comment.message} + +To view this candidate and download the source and binary image, visit: +https://sfconservancy.org{reverse('usethesource:candidate', kwargs={'slug': candidate.slug})} + +-- +{signature} +(Via http//sfconservancy.org{reverse('usethesource:landing')})''' headers = {'Message-ID': comment.email_message_id} if in_reply_to := comment.in_reply_to(): # From my testing, both "In-Reply-To" and "References" headers trigger