Added global BCC setting for emails

This commit is contained in:
John Mullins
2024-06-12 11:43:49 +10:00
parent 98019055f1
commit f37827fd9d
2 changed files with 12 additions and 5 deletions
+11 -4
View File
@@ -6,10 +6,17 @@ from django.http import HttpResponse
from django.template.loader import get_template
from xhtml2pdf import pisa
from .models import Company, School
from .models import Company, School, Setting
from .context_helpers import bus_roll_context, emergency_contacts_context, school_roll_context
def _getBCC():
address = Setting.objects.filter(name="MAIL_BCC")
if address.exists():
return [address.first().value]
return []
def render_to_pdf(template, context):
html = get_template(template).render(context)
result = BytesIO()
@@ -40,7 +47,7 @@ def email_companies_bus_roll(request, query_set=None):
message = f"A new bus roll for {company.name} has been generated"
email_from = "bus.manager@education.vic.gov.au"
recipient = [company.contact_email]
email = EmailMessage(subject, message, email_from, recipient)
email = EmailMessage(subject, message, email_from, recipient, _getBCC())
email.attach(f"school_bus_roll_{date.today()}.pdf", pdf.content)
email.send(fail_silently=True)
@@ -68,7 +75,7 @@ def email_companies_emergency_contacts(request, query_set=None):
message = f"A new emergency contact list for {company.name} has been generated"
email_from = "bus.manager@education.vic.gov.au"
recipient = [company.contact_email]
email = EmailMessage(subject, message, email_from, recipient)
email = EmailMessage(subject, message, email_from, recipient, _getBCC())
email.attach(f"school_bus_roll_{date.today()}.pdf", pdf.content)
email.send(fail_silently=True)
@@ -95,7 +102,7 @@ def email_school_roll(request, query_set):
message = f"A new bus roll for {school.name} has been generated"
email_from = "bus.manager@education.vic.gov.au"
recipient = [school.email]
email = EmailMessage(subject, message, email_from, recipient)
email = EmailMessage(subject, message, email_from, recipient, _getBCC())
email.attach(f"school_bus_roll_{date.today()}.pdf", pdf.content)
email.send(fail_silently=True)
+1 -1
View File
@@ -6,7 +6,7 @@ from django.db import models
class Setting(models.Model):
name = models.CharField(max_length=20, unique=True)
value = models.CharField(max_length=20, blank=True)
value = models.CharField(max_length=50, blank=True)
def __str__(self):
return self.name