diff --git a/app/routes/inspections.py b/app/routes/inspections.py index 12b7fd9..75a9581 100644 --- a/app/routes/inspections.py +++ b/app/routes/inspections.py @@ -383,6 +383,16 @@ def start(): if not form.facility_id.choices: form.facility_id.choices = [('', '— no facilities —')] + # Seed area choices for the currently selected facility + selected_facility_id = form.facility_id.data if form.is_submitted() else ( + _session.get('reinspect_facility_id') or (facilities[0].id if facilities else None) + ) + if selected_facility_id: + areas = Area.query.filter_by(facility_id=selected_facility_id).order_by(Area.name).all() + else: + areas = [] + form.area_id.choices = [(0, '— No specific area —')] + [(a.id, a.name) for a in areas] + if not form.is_submitted(): if _session.get('reinspect_template_id'): form.template_id.data = _session['reinspect_template_id'] @@ -409,10 +419,11 @@ def start(): from flask import session as _session parent_id = _session.pop('reinspect_parent_id', None) + chosen_area_id = form.area_id.data if form.area_id.data and form.area_id.data != 0 else None inspection = Inspection( template_id = template.id, facility_id = form.facility_id.data, - area_id = None, + area_id = chosen_area_id, inspector_id = current_user.id, inspection_date = now_eastern(), status = 'in_progress', diff --git a/app/templates/inspections/start.html b/app/templates/inspections/start.html index 61f4901..2dab55c 100644 --- a/app/templates/inspections/start.html +++ b/app/templates/inspections/start.html @@ -35,6 +35,11 @@ + +