Added global BCC setting for emails
This commit is contained in:
@@ -6,10 +6,17 @@ from django.http import HttpResponse
|
|||||||
from django.template.loader import get_template
|
from django.template.loader import get_template
|
||||||
from xhtml2pdf import pisa
|
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
|
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):
|
def render_to_pdf(template, context):
|
||||||
html = get_template(template).render(context)
|
html = get_template(template).render(context)
|
||||||
result = BytesIO()
|
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"
|
message = f"A new bus roll for {company.name} has been generated"
|
||||||
email_from = "bus.manager@education.vic.gov.au"
|
email_from = "bus.manager@education.vic.gov.au"
|
||||||
recipient = [company.contact_email]
|
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.attach(f"school_bus_roll_{date.today()}.pdf", pdf.content)
|
||||||
email.send(fail_silently=True)
|
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"
|
message = f"A new emergency contact list for {company.name} has been generated"
|
||||||
email_from = "bus.manager@education.vic.gov.au"
|
email_from = "bus.manager@education.vic.gov.au"
|
||||||
recipient = [company.contact_email]
|
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.attach(f"school_bus_roll_{date.today()}.pdf", pdf.content)
|
||||||
email.send(fail_silently=True)
|
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"
|
message = f"A new bus roll for {school.name} has been generated"
|
||||||
email_from = "bus.manager@education.vic.gov.au"
|
email_from = "bus.manager@education.vic.gov.au"
|
||||||
recipient = [school.email]
|
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.attach(f"school_bus_roll_{date.today()}.pdf", pdf.content)
|
||||||
email.send(fail_silently=True)
|
email.send(fail_silently=True)
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ from django.db import models
|
|||||||
|
|
||||||
class Setting(models.Model):
|
class Setting(models.Model):
|
||||||
name = models.CharField(max_length=20, unique=True)
|
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):
|
def __str__(self):
|
||||||
return self.name
|
return self.name
|
||||||
|
|||||||
Reference in New Issue
Block a user