From bb442812601d1b94a78ff83994d3dc38f3251e6a Mon Sep 17 00:00:00 2001 From: NguyenND Date: Thu, 18 Jun 2026 11:22:49 -0400 Subject: [PATCH] 06/18 Add inspections' filter by ID, and add id column on inspections/issues page --- app/routes/inspections.py | 43 +++++++++++++++++------------ app/templates/inspections/list.html | 10 +++++-- app/templates/issues/list.html | 2 ++ 3 files changed, 36 insertions(+), 19 deletions(-) diff --git a/app/routes/inspections.py b/app/routes/inspections.py index 7c3fc43..12b7fd9 100644 --- a/app/routes/inspections.py +++ b/app/routes/inspections.py @@ -228,16 +228,19 @@ def index(): else: q = q.filter(Inspection.facility_id.in_(customer_facility_ids)) - status_filter = request.args.get('status', '') - facility_filter = request.args.get('facility_id', '') - follow_up_filter = request.args.get('follow_up', '') - contract_filter = request.args.get('contract_id', '') - date_from_filter = request.args.get('date_from', '') - date_to_filter = request.args.get('date_to', '') - score_min_filter = request.args.get('score_min', '') - score_max_filter = request.args.get('score_max', '') - inspector_filter = request.args.get('inspector_id', '') + status_filter = request.args.get('status', '') + facility_filter = request.args.get('facility_id', '') + follow_up_filter = request.args.get('follow_up', '') + contract_filter = request.args.get('contract_id', '') + date_from_filter = request.args.get('date_from', '') + date_to_filter = request.args.get('date_to', '') + score_min_filter = request.args.get('score_min', '') + score_max_filter = request.args.get('score_max', '') + inspector_filter = request.args.get('inspector_id', '') + inspection_id_filter = request.args.get('inspection_id', '') + if inspection_id_filter.isdigit(): + q = q.filter(Inspection.id == int(inspection_id_filter)) if status_filter == 'follow_up': q = q.filter( Inspection.follow_up_required == True, @@ -334,6 +337,7 @@ def index(): score_min_filter=score_min_filter, score_max_filter=score_max_filter, inspector_filter=inspector_filter, + inspection_id_filter=inspection_id_filter, now=now_eastern()) @@ -1004,15 +1008,18 @@ def export_list_pdf(): else: q = q.filter(Inspection.facility_id.in_(customer_facility_ids)) - status_filter = request.args.get('status', '') - facility_filter = request.args.get('facility_id', '') - contract_filter = request.args.get('contract_id', '') - date_from_filter = request.args.get('date_from', '') - date_to_filter = request.args.get('date_to', '') - score_min_filter = request.args.get('score_min', '') - score_max_filter = request.args.get('score_max', '') - inspector_filter = request.args.get('inspector_id', '') + status_filter = request.args.get('status', '') + facility_filter = request.args.get('facility_id', '') + contract_filter = request.args.get('contract_id', '') + date_from_filter = request.args.get('date_from', '') + date_to_filter = request.args.get('date_to', '') + score_min_filter = request.args.get('score_min', '') + score_max_filter = request.args.get('score_max', '') + inspector_filter = request.args.get('inspector_id', '') + inspection_id_filter = request.args.get('inspection_id', '') + if inspection_id_filter.isdigit(): + q = q.filter(Inspection.id == int(inspection_id_filter)) if status_filter == 'follow_up': q = q.filter( Inspection.follow_up_required == True, @@ -1058,6 +1065,8 @@ def export_list_pdf(): # Build a human-readable filter summary for the PDF header filter_parts = [] + if inspection_id_filter.isdigit(): + filter_parts.append(f'Inspection #: {inspection_id_filter}') if status_filter: label = {'follow_up': 'Flagged Follow-up', 'has_issues': 'Has Issues'}.get( status_filter, status_filter.replace('_', ' ').title() diff --git a/app/templates/inspections/list.html b/app/templates/inspections/list.html index f7cef78..714db45 100644 --- a/app/templates/inspections/list.html +++ b/app/templates/inspections/list.html @@ -15,6 +15,11 @@
+
+ + +