Added email emergency contacts to bus companies function

This commit is contained in:
John Mullins
2024-06-12 11:08:05 +10:00
parent 57bee43c38
commit 00659568ee
2 changed files with 40 additions and 7 deletions
+31 -3
View File
@@ -6,8 +6,8 @@ from django.http import HttpResponse
from django.template.loader import get_template
from xhtml2pdf import pisa
from coord.context_helpers import bus_roll_context, school_roll_context
from coord.models import Company, School
from .models import Company, School
from .context_helpers import bus_roll_context, emergency_contacts_context, school_roll_context
def render_to_pdf(template, context):
@@ -47,6 +47,34 @@ def email_companies_bus_roll(request, query_set=None):
return render_to_pdf(html_template, context)
def email_companies_emergency_contacts(request, query_set=None):
html_template = 'reports/emergency_contacts.html'
context = emergency_contacts_context(query_set)
for company in Company.objects.all():
if not company.contact_email:
continue
company_route = []
for route in context.get("routes"):
if route.get("bus").company == company:
company_route.append(route)
if not company_route:
continue
company_context = {'routes': company_route}
pdf = render_to_pdf(html_template, company_context)
subject = "Echuca School Buses Emergency Contacts"
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.attach(f"school_bus_roll_{date.today()}.pdf", pdf.content)
email.send(fail_silently=True)
return render_to_pdf(html_template, context)
def email_school_roll(request, query_set):
html_template = 'reports/school_roll.html'
context = school_roll_context(query_set)
@@ -71,4 +99,4 @@ def email_school_roll(request, query_set):
email.attach(f"school_bus_roll_{date.today()}.pdf", pdf.content)
email.send(fail_silently=True)
return render_to_pdf(html_template, context)
return render_to_pdf(html_template, context)