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 @@
+
+ {{ form.area_id.label(class="form-label fw-semibold") }}
+ {{ form.area_id(class="form-select", id="areaSelect") }}
+
+