fix(escalation): use User.name not display_name — attribute doesn't exist
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 <noreply@anthropic.com>
This commit is contained in:
@@ -537,7 +537,7 @@ async def escalate_session(
|
|||||||
# Notify about escalation
|
# Notify about escalation
|
||||||
await notify("session.escalated", session.account_id, {
|
await notify("session.escalated", session.account_id, {
|
||||||
"session_id": str(session_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,
|
"escalation_reason": request.escalation_reason,
|
||||||
"problem_summary": session.problem_summary or "N/A",
|
"problem_summary": session.problem_summary or "N/A",
|
||||||
"link": f"/pilot/{session_id}",
|
"link": f"/pilot/{session_id}",
|
||||||
@@ -590,8 +590,8 @@ async def pickup_session(
|
|||||||
|
|
||||||
# Build a briefing message for the new engineer
|
# Build a briefing message for the new engineer
|
||||||
original_user_name = "the previous engineer"
|
original_user_name = "the previous engineer"
|
||||||
if session.user and hasattr(session.user, 'display_name') and session.user.display_name:
|
if session.user and session.user.name:
|
||||||
original_user_name = session.user.display_name
|
original_user_name = session.user.name
|
||||||
|
|
||||||
briefing_parts = [
|
briefing_parts = [
|
||||||
f"## Escalation Briefing",
|
f"## Escalation Briefing",
|
||||||
|
|||||||
@@ -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 from relationship if loaded, otherwise user_id
|
||||||
engineer_name = getattr(session, 'user', None)
|
engineer_name = getattr(session, 'user', None)
|
||||||
if engineer_name and hasattr(engineer_name, 'display_name'):
|
if engineer_name and hasattr(engineer_name, 'name'):
|
||||||
lines.append(f"Engineer: {engineer_name.display_name}")
|
lines.append(f"Engineer: {engineer_name.name}")
|
||||||
|
|
||||||
lines.extend([
|
lines.extend([
|
||||||
f"Date: {_format_datetime(session.resolved_at)}",
|
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)
|
engineer_name = getattr(session, 'user', None)
|
||||||
if engineer_name and hasattr(engineer_name, 'display_name'):
|
if engineer_name and hasattr(engineer_name, 'name'):
|
||||||
lines.append(f"Escalated by: {engineer_name.display_name}")
|
lines.append(f"Escalated by: {engineer_name.name}")
|
||||||
|
|
||||||
escalated_to = getattr(session, 'escalated_to', None)
|
escalated_to = getattr(session, 'escalated_to', None)
|
||||||
if escalated_to and hasattr(escalated_to, 'display_name'):
|
if escalated_to and hasattr(escalated_to, 'name'):
|
||||||
lines.append(f"Escalated to: {escalated_to.display_name}")
|
lines.append(f"Escalated to: {escalated_to.name}")
|
||||||
else:
|
else:
|
||||||
lines.append("Escalated to: Unassigned")
|
lines.append("Escalated to: Unassigned")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user