From 79358be90f2b23ed54e55bdbde397babcc9d2724 Mon Sep 17 00:00:00 2001 From: chihlasm Date: Sat, 21 Mar 2026 04:09:54 +0000 Subject: [PATCH] =?UTF-8?q?fix(escalation):=20use=20User.name=20not=20disp?= =?UTF-8?q?lay=5Fname=20=E2=80=94=20attribute=20doesn't=20exist?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit User model has 'name', not 'display_name'. Fixed in flowpilot_engine (escalate notify + pickup briefing) and psa_documentation_service (engineer name in exported docs). Co-Authored-By: Claude Opus 4.6 --- backend/app/services/flowpilot_engine.py | 6 +++--- backend/app/services/psa_documentation_service.py | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/backend/app/services/flowpilot_engine.py b/backend/app/services/flowpilot_engine.py index 1164d2b2..e97c36b9 100644 --- a/backend/app/services/flowpilot_engine.py +++ b/backend/app/services/flowpilot_engine.py @@ -537,7 +537,7 @@ async def escalate_session( # Notify about escalation await notify("session.escalated", session.account_id, { "session_id": str(session_id), - "engineer_name": session.user.display_name if session.user else "Unknown", + "engineer_name": session.user.name if session.user else "Unknown", "escalation_reason": request.escalation_reason, "problem_summary": session.problem_summary or "N/A", "link": f"/pilot/{session_id}", @@ -590,8 +590,8 @@ async def pickup_session( # Build a briefing message for the new engineer original_user_name = "the previous engineer" - if session.user and hasattr(session.user, 'display_name') and session.user.display_name: - original_user_name = session.user.display_name + if session.user and session.user.name: + original_user_name = session.user.name briefing_parts = [ f"## Escalation Briefing", diff --git a/backend/app/services/psa_documentation_service.py b/backend/app/services/psa_documentation_service.py index 88b2475d..6a40bbf5 100644 --- a/backend/app/services/psa_documentation_service.py +++ b/backend/app/services/psa_documentation_service.py @@ -66,8 +66,8 @@ def format_resolution_note(session: AISession, include_steps: bool = True) -> st # Engineer name from relationship if loaded, otherwise user_id engineer_name = getattr(session, 'user', None) - if engineer_name and hasattr(engineer_name, 'display_name'): - lines.append(f"Engineer: {engineer_name.display_name}") + if engineer_name and hasattr(engineer_name, 'name'): + lines.append(f"Engineer: {engineer_name.name}") lines.extend([ f"Date: {_format_datetime(session.resolved_at)}", @@ -162,12 +162,12 @@ def format_escalation_note(session: AISession, include_steps: bool = True) -> st ] engineer_name = getattr(session, 'user', None) - if engineer_name and hasattr(engineer_name, 'display_name'): - lines.append(f"Escalated by: {engineer_name.display_name}") + if engineer_name and hasattr(engineer_name, 'name'): + lines.append(f"Escalated by: {engineer_name.name}") escalated_to = getattr(session, 'escalated_to', None) - if escalated_to and hasattr(escalated_to, 'display_name'): - lines.append(f"Escalated to: {escalated_to.display_name}") + if escalated_to and hasattr(escalated_to, 'name'): + lines.append(f"Escalated to: {escalated_to.name}") else: lines.append("Escalated to: Unassigned")