From ec3b33def336a03df447ab0448609f6959673cbf Mon Sep 17 00:00:00 2001 From: John Mullins Date: Mon, 26 Feb 2024 17:19:03 +1100 Subject: [PATCH] Added dates to bus rolls --- busManager/coord/backup/backup_helpers.py | 17 ++++++++++++----- busManager/coord/context_helpers.py | 7 +++++-- .../coord/templates/reports/bus_roll.html | 2 ++ 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/busManager/coord/backup/backup_helpers.py b/busManager/coord/backup/backup_helpers.py index e3504a1..a9e07b8 100644 --- a/busManager/coord/backup/backup_helpers.py +++ b/busManager/coord/backup/backup_helpers.py @@ -60,15 +60,11 @@ def get_export_dict(): company_dict['buses'] = buses companies.append(company_dict) - ignore_fields = ['travel_start_date', 'travel_end_date', 'is_active', 'is_archived', 'bus_stops', 'fee_per_term'] + ignore_fields = ['travel_start_date', 'travel_end_date', 'is_active', 'is_archived', 'bus_stops', 'fee_per_term', 'address'] for traveller in Traveller.objects.all(): traveller_dict = model_to_dict(traveller) traveller_dict['school'] = traveller.school.name - if traveller.residential_suburb is not None: - traveller_dict['residential_suburb'] = traveller.residential_suburb.name - if traveller.postal_suburb is not None: - traveller_dict['postal_suburb'] = traveller.postal_suburb.name traveller_dict['dob'] = _to_date(traveller.dob) traveller_dict['assessment_date'] = _to_date(traveller.assessment_date) traveller_dict['created_on'] = traveller.created_on.strftime("%Y-%m-%d %H:%M:%S %Z") @@ -76,6 +72,17 @@ def get_export_dict(): for field in ignore_fields: traveller_dict.pop(field) + families = [] + for family in Family.objects.filter(traveller=traveller): + family_dict = model_to_dict(family) + family_dict.pop('traveller') + if family.residential_suburb is not None: + family_dict['residential_suburb'] = family.residential_suburb.name + if family.postal_suburb is not None: + family_dict['postal_suburb'] = family.postal_suburb.name + families.append(family_dict) + traveller_dict['families'] = families + routes = [] for route in TravellerRoute.objects.filter(traveller=traveller): route_dict = model_to_dict(route) diff --git a/busManager/coord/context_helpers.py b/busManager/coord/context_helpers.py index bc3cc7c..219fb83 100644 --- a/busManager/coord/context_helpers.py +++ b/busManager/coord/context_helpers.py @@ -1,9 +1,12 @@ +import datetime + from django.db.models import Q from coord.models import Bus, BusStop, TravellerRoute, Driver, Traveller, Shuttle def bus_roll_context(queryset=None, include_bus_stops=True): + date = datetime.date.today().strftime('%Y-%m-%d') bus_routes = [] if queryset is None: buses = Bus.objects.all() @@ -20,7 +23,7 @@ def bus_roll_context(queryset=None, include_bus_stops=True): shuttle_routes.append(shuttle_route_context(shuttle)) bus_routes.append({'bus': bus, 'route_stops': route_stops, 'shuttle_routes': shuttle_routes}) - return {'routes': bus_routes} + return {'routes': bus_routes, 'date': date} def school_roll_context(queryset): @@ -73,7 +76,7 @@ def traveller_roll_context(queryset): def route_paged_context(bus): - table_header_size = 4 + table_header_size = 5 page_max_size = 45 page_size = 3 # Account for traveller numbers at the top of the first page route_stops = [] diff --git a/busManager/coord/templates/reports/bus_roll.html b/busManager/coord/templates/reports/bus_roll.html index b5272dd..4777fc2 100644 --- a/busManager/coord/templates/reports/bus_roll.html +++ b/busManager/coord/templates/reports/bus_roll.html @@ -21,6 +21,7 @@ {% if route.route_stops %}

{{ route.bus.route_name }}

+ Date: {{ date }}
Total Travellers: {{ route.bus.traveller_count }}
Seating Capacity: {{ route.bus.seating_capacity }}

@@ -83,6 +84,7 @@ {% for shuttle_route in route.shuttle_routes %}

{{ shuttle_route.shuttle }}

+ Date: {{ date }}
Total Travellers: {{ shuttle_route.shuttle.traveller_count }}