Added csv export for traveller and email to schools function
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
from coord.models import Bus, BusStop, TravellerRoute, Driver, Traveller, Shuttle
|
||||
from coord.models import Bus, BusStop, TravellerRoute, Driver, Traveller, Shuttle, School
|
||||
|
||||
|
||||
def bus_roll_context(queryset=None):
|
||||
@@ -30,7 +30,6 @@ def bus_roll_context(queryset=None):
|
||||
'pm': bus_stop.pm_time,
|
||||
'travellers': traveller_list
|
||||
}
|
||||
# print(traveller_list)
|
||||
bus_route.append(stop_result)
|
||||
|
||||
# Todo Add shuttles
|
||||
@@ -39,6 +38,42 @@ def bus_roll_context(queryset=None):
|
||||
return {'routes': bus_routes}
|
||||
|
||||
|
||||
def traveller_roll_context(queryset):
|
||||
travellers = []
|
||||
for traveller in queryset:
|
||||
for traveller_route in TravellerRoute.objects.filter(traveller=traveller):
|
||||
travellers.append(traveller_route_context(traveller_route))
|
||||
return travellers
|
||||
|
||||
|
||||
def school_roll_context(school):
|
||||
travellers = []
|
||||
for travellerRoute in TravellerRoute.objects.filter(traveller__school=school):
|
||||
traveller = travellerRoute.traveller
|
||||
if not traveller.is_active():
|
||||
continue
|
||||
travellers.append(traveller_route_context(travellerRoute))
|
||||
return travellers
|
||||
|
||||
|
||||
def traveller_route_context(traveller_route):
|
||||
traveller = traveller_route.traveller
|
||||
return {
|
||||
'first_name': traveller.first_name,
|
||||
'last_name': traveller.last_name,
|
||||
'school': traveller.school,
|
||||
'dob': traveller.dob,
|
||||
'year_level': traveller.year_level,
|
||||
'address': f"{traveller.residential_address} {traveller.residential_suburb}",
|
||||
'start_date': traveller.travel_start_date,
|
||||
'end_date': traveller.travel_end_date,
|
||||
'eligibility': traveller.get_eligibility_status_display(),
|
||||
'shuttle': traveller.shuttle,
|
||||
'route': traveller_route.busStop.bus,
|
||||
'stop': f"#{traveller_route.busStop.get_stop_number()} - {traveller_route.busStop.address}"
|
||||
}
|
||||
|
||||
|
||||
def emergency_contacts_context(queryset=None):
|
||||
if queryset is None:
|
||||
buses = Bus.objects.all()
|
||||
@@ -123,3 +158,5 @@ def bus_summary_context():
|
||||
'over_capacity': over_capacity,
|
||||
})
|
||||
return {'routes': bus_routes}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user