From deabcbeecc52f2530d8fb77b2bd60dad5e09b40c Mon Sep 17 00:00:00 2001 From: Nicole Rappe Date: Mon, 20 Oct 2025 06:06:47 -0600 Subject: [PATCH] Fixed Approval Queue Missing Username --- Data/Server/Modules/admin/routes.py | 37 +++++++++++-------- .../WebUI/src/Devices/Device_Approvals.jsx | 3 +- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/Data/Server/Modules/admin/routes.py b/Data/Server/Modules/admin/routes.py index acd19d6..25d149e 100644 --- a/Data/Server/Modules/admin/routes.py +++ b/Data/Server/Modules/admin/routes.py @@ -255,24 +255,30 @@ def register( params: List[str] = [] sql = """ SELECT - id, - approval_reference, - guid, - hostname_claimed, - ssl_key_fingerprint_claimed, - enrollment_code_id, - status, - client_nonce, - server_nonce, - created_at, - updated_at, - approved_by_user_id - FROM device_approvals + da.id, + da.approval_reference, + da.guid, + da.hostname_claimed, + da.ssl_key_fingerprint_claimed, + da.enrollment_code_id, + da.status, + da.client_nonce, + da.server_nonce, + da.created_at, + da.updated_at, + da.approved_by_user_id, + u.username AS approved_by_username + FROM device_approvals AS da + LEFT JOIN users AS u + ON ( + CAST(da.approved_by_user_id AS TEXT) = CAST(u.id AS TEXT) + OR LOWER(da.approved_by_user_id) = LOWER(u.username) + ) """ if status and status != "all": - sql += " WHERE LOWER(status) = ?" + sql += " WHERE LOWER(da.status) = ?" params.append(status) - sql += " ORDER BY created_at ASC" + sql += " ORDER BY da.created_at ASC" cur.execute(sql, params) rows = cur.fetchall() for row in rows: @@ -316,6 +322,7 @@ def register( "alternate_hostname": alternate_hostname, "conflict_requires_prompt": requires_prompt, "fingerprint_match": fingerprint_match, + "approved_by_username": row[12], } ) finally: diff --git a/Data/Server/WebUI/src/Devices/Device_Approvals.jsx b/Data/Server/WebUI/src/Devices/Device_Approvals.jsx index 90a51e7..7f4c2c8 100644 --- a/Data/Server/WebUI/src/Devices/Device_Approvals.jsx +++ b/Data/Server/WebUI/src/Devices/Device_Approvals.jsx @@ -381,6 +381,7 @@ function DeviceApprovals() { const status = normalizeStatus(record.status); const showActions = status === "pending"; const guidValue = guidInputs[record.id] || ""; + const approverDisplay = record.approved_by_username || record.approved_by_user_id; return ( @@ -400,7 +401,7 @@ function DeviceApprovals() { {formatDateTime(record.created_at)} {formatDateTime(record.updated_at)} - {record.approved_by_user_id || "—"} + {approverDisplay || "—"} {showActions ? (