Fixed Approval Queue Missing Username

This commit is contained in:
2025-10-20 06:06:47 -06:00
parent 7cbd1334d7
commit deabcbeecc
2 changed files with 24 additions and 16 deletions

View File

@@ -255,24 +255,30 @@ def register(
params: List[str] = [] params: List[str] = []
sql = """ sql = """
SELECT SELECT
id, da.id,
approval_reference, da.approval_reference,
guid, da.guid,
hostname_claimed, da.hostname_claimed,
ssl_key_fingerprint_claimed, da.ssl_key_fingerprint_claimed,
enrollment_code_id, da.enrollment_code_id,
status, da.status,
client_nonce, da.client_nonce,
server_nonce, da.server_nonce,
created_at, da.created_at,
updated_at, da.updated_at,
approved_by_user_id da.approved_by_user_id,
FROM device_approvals 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": if status and status != "all":
sql += " WHERE LOWER(status) = ?" sql += " WHERE LOWER(da.status) = ?"
params.append(status) params.append(status)
sql += " ORDER BY created_at ASC" sql += " ORDER BY da.created_at ASC"
cur.execute(sql, params) cur.execute(sql, params)
rows = cur.fetchall() rows = cur.fetchall()
for row in rows: for row in rows:
@@ -316,6 +322,7 @@ def register(
"alternate_hostname": alternate_hostname, "alternate_hostname": alternate_hostname,
"conflict_requires_prompt": requires_prompt, "conflict_requires_prompt": requires_prompt,
"fingerprint_match": fingerprint_match, "fingerprint_match": fingerprint_match,
"approved_by_username": row[12],
} }
) )
finally: finally:

View File

@@ -381,6 +381,7 @@ function DeviceApprovals() {
const status = normalizeStatus(record.status); const status = normalizeStatus(record.status);
const showActions = status === "pending"; const showActions = status === "pending";
const guidValue = guidInputs[record.id] || ""; const guidValue = guidInputs[record.id] || "";
const approverDisplay = record.approved_by_username || record.approved_by_user_id;
return ( return (
<TableRow hover key={record.id}> <TableRow hover key={record.id}>
<TableCell> <TableCell>
@@ -400,7 +401,7 @@ function DeviceApprovals() {
</TableCell> </TableCell>
<TableCell>{formatDateTime(record.created_at)}</TableCell> <TableCell>{formatDateTime(record.created_at)}</TableCell>
<TableCell>{formatDateTime(record.updated_at)}</TableCell> <TableCell>{formatDateTime(record.updated_at)}</TableCell>
<TableCell>{record.approved_by_user_id || "—"}</TableCell> <TableCell>{approverDisplay || "—"}</TableCell>
<TableCell align="right"> <TableCell align="right">
{showActions ? ( {showActions ? (
<Stack direction={{ xs: "column", sm: "row" }} spacing={1} alignItems="center"> <Stack direction={{ xs: "column", sm: "row" }} spacing={1} alignItems="center">