diff --git a/busManager/coord/email_helpers.py b/busManager/coord/email_helpers.py index 59c948d..df82698 100644 --- a/busManager/coord/email_helpers.py +++ b/busManager/coord/email_helpers.py @@ -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) diff --git a/busManager/coord/models.py b/busManager/coord/models.py index 15ae53e..e39e0fa 100644 --- a/busManager/coord/models.py +++ b/busManager/coord/models.py @@ -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