Created new models to replicate out of and split coord app
Moved helpers and views to their respective new apps
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
from common.documents import render_to_pdf
|
||||
from messaging.services.email import email_companies_bus_roll, email_companies_emergency_contacts, \
|
||||
email_school_shuttle_roll
|
||||
from messaging.services.sms import send_sms
|
||||
from transport.context_busroll import bus_roll_context
|
||||
from transport.context_helpers import emergency_contacts_context
|
||||
from transport.forms import roll_date_selector
|
||||
from traveller.models import Traveller
|
||||
|
||||
|
||||
class BusRollMixin:
|
||||
|
||||
def show_bus_roll(self, request, queryset):
|
||||
return render_to_pdf('reports/bus_roll.html', bus_roll_context(queryset))
|
||||
|
||||
def show_bus_roll_on_date(self, request, queryset):
|
||||
return roll_date_selector(self, request, queryset)
|
||||
|
||||
def show_emergency_contacts(self, request, queryset):
|
||||
return render_to_pdf('reports/emergency_contacts.html', emergency_contacts_context(queryset))
|
||||
|
||||
def sms_traveller_contacts(self, request, queryset):
|
||||
travellers = None
|
||||
for bus in queryset:
|
||||
query = Traveller.objects.filter(bus_stops__bus=bus).filter(is_active=True).distinct()
|
||||
if travellers is None:
|
||||
travellers = query
|
||||
else:
|
||||
travellers.union(query)
|
||||
return send_sms(self, request, travellers)
|
||||
|
||||
def email_bus_roll(self, request, queryset):
|
||||
return email_companies_bus_roll(request, queryset)
|
||||
|
||||
def email_emergency_contacts(self, request, queryset):
|
||||
return email_companies_emergency_contacts(request, queryset)
|
||||
|
||||
email_bus_roll.short_description = "Email Bus Roll to Company"
|
||||
email_emergency_contacts.short_description = "Email Emergency Contacts to Company"
|
||||
|
||||
class ShuttleRollMixin:
|
||||
|
||||
def show_shuttle_roll(self, request, queryset):
|
||||
if queryset is None:
|
||||
buses = None
|
||||
else:
|
||||
buses = []
|
||||
for shuttle in queryset:
|
||||
if shuttle.bus not in buses:
|
||||
buses.append(shuttle.bus)
|
||||
return render_to_pdf('reports/bus_roll.html', bus_roll_context(buses, include_bus_stops=False))
|
||||
|
||||
def email_shuttle_roll(self, request, queryset):
|
||||
return email_school_shuttle_roll(request, queryset)
|
||||
Reference in New Issue
Block a user