05/04 Update code to replace Area related to Facility

This commit is contained in:
2026-05-04 13:46:37 -04:00
parent 2bdd6c1a26
commit a0136bd99b
17 changed files with 174 additions and 95 deletions
+10 -4
View File
@@ -66,9 +66,12 @@ def index():
open_issues_q = open_issues_q.filter(False)
else:
from app.models.facility import Area
open_issues_q = open_issues_q.join(
open_issues_q = open_issues_q.outerjoin(
Area, Issue.area_id == Area.id
).filter(Area.facility_id.in_(customer_facility_ids))
).filter(db.or_(
Issue.facility_id.in_(customer_facility_ids),
Area.facility_id.in_(customer_facility_ids)
))
# Single query — derive count from the list to avoid hitting the DB twice
open_issues_all = open_issues_q.all()
@@ -136,8 +139,11 @@ def index():
sla_q = Issue.query.filter(Issue.status.in_(['open', 'in_progress']))
if is_customer and customer_facility_ids:
from app.models.facility import Area
sla_q = sla_q.join(Area, Issue.area_id == Area.id).filter(
Area.facility_id.in_(customer_facility_ids)
sla_q = sla_q.outerjoin(Area, Issue.area_id == Area.id).filter(
db.or_(
Issue.facility_id.in_(customer_facility_ids),
Area.facility_id.in_(customer_facility_ids)
)
)
all_open_issues = sla_q.all() if not is_customer or customer_facility_ids else []
sla_breached = sum(1 for i in all_open_issues if sla_status(i) == 'breached')