dashboard employee names + GE monogram fallback + kiosk startup sweep

This commit is contained in:
2026-07-28 18:24:19 -04:00
parent 3ed3857d4f
commit cf7b8bc49a
4 changed files with 63 additions and 25 deletions

View File

@@ -734,10 +734,13 @@ def get_shopfloor_notifications():
else:
result['employeesso'] = n.employeesso
# Stored name first (import/manual entry), else resolve live from
# the directory so shopdb-only imports still show names.
# the directory. Also resolve when the stored "name" is just the bare
# SSO: WJ notifications were imported with SSOs and never converted to
# names, so a digits-only stored name must still be looked up.
name = n.employeename
if not name and n.employeesso and ',' not in n.employeesso:
name = _employee_name(n.employeesso)
if (n.employeesso and ',' not in n.employeesso
and (not name or name.strip().isdigit())):
name = _employee_name(n.employeesso) or name
result['employeename'] = name
result['employeepicture'] = _employee_picture(n.employeesso) if show_photo else None
@@ -754,11 +757,18 @@ def get_shopfloor_notifications():
show_photo = bool(ntype and ntype.showemployeephoto)
ssos = [s.strip() for s in n.employeesso.split(',')]
names = n.employeename.split(', ') if n.employeename else []
def _name_for(i, sso):
stored = names[i].strip() if i < len(names) and names[i] else None
# A stored bare SSO (digits) is not a real name - look it up.
if stored and not stored.isdigit():
return stored
return _employee_name(sso) or stored or sso
return [
notification_to_shopfloor(n, {
'sso': sso,
'name': (names[i] if i < len(names) and names[i] else None)
or _employee_name(sso) or sso,
'name': _name_for(i, sso),
'picture': _employee_picture(sso) if show_photo else None,
})
for i, sso in enumerate(ssos)