From 65eeead5a0cf4af55e0e218d5590cad53a92c5f0 Mon Sep 17 00:00:00 2001 From: cproudlock Date: Fri, 15 May 2026 07:27:35 -0400 Subject: [PATCH] imaging: collapsible tile + ARTS link + reword stage 7 Tile is now
. Always-visible summary: - QR (96px) - serial / hostname / pctype / machine# / status badge - friendly stage label + N/M badge + pct - progress bar Click to expand. Body shows: - friendly stage hint - Intune device id row with [copy] [set category] [ARTS request] - metadata one-liner (started / last / MAC / raw current_stage) - error banner (if any) - LAPS password QR generator - log tail - Clear button ARTS button links to https://arts.dw.geaerospace.net/requests/type for kicking off a new lockdown request (Intune-side step happens externally; this is a deep-link for convenience). Stage 7 wording: "Awaiting Intune lockdown" (was "awaiting category / lockdown" - confusing when category was already assigned). Hint explicitly mentions category check for cases where it isn't yet set. Co-Authored-By: Claude Opus 4.7 (1M context) --- webapp/templates/imaging.html | 69 +++++++++++++++++++---------------- 1 file changed, 38 insertions(+), 31 deletions(-) diff --git a/webapp/templates/imaging.html b/webapp/templates/imaging.html index f27821c..e153f15 100644 --- a/webapp/templates/imaging.html +++ b/webapp/templates/imaging.html @@ -49,8 +49,8 @@ window.addEventListener('DOMContentLoaded', scheduleImagingReload); 4: ('Apps installed', 'Type-specific scripts complete. Preparing for Intune enrollment.'), 5: ('Enrolling in Intune', 'PPKG installing - device joining Azure AD + Intune. ~5-10 min, reboot to follow.'), 6: ('Waiting on first Intune sync','Post-PPKG settle (~120s). Triggering Schedule #3 sync repeatedly.'), - 7: ('Registered - awaiting category / lockdown', - 'Device ID captured. If category not yet set in Intune, click "set category". Once set, bay waits for the Intune-driven LAPS-prompt reboot to apply lockdown.'), + 7: ('Awaiting Intune lockdown', + 'Device ID captured. If Device Category is NOT yet set in Intune, click "set category" first. Bay then waits for the Intune-driven LAPS-prompt reboot to apply the lockdown configuration.'), 8: ('Imaging complete', 'Lockdown applied. Bay rebooted into ShopFloor session. Ready for production.') } %} @@ -63,9 +63,9 @@ window.addEventListener('DOMContentLoaded', scheduleImagingReload); {% set is_done = s.status == 'succeeded' %} {% set border = 'danger' if is_failed else ('success' if is_done else 'primary') %} {% set friendly = stage_labels.get(stage_idx, ('Stage ' ~ stage_idx, '')) %} -
-
+
{% if s.intune_device_id %}
- {% if friendly[1] %}
{{ friendly[1] }}
{% endif %} - - {% if s.intune_device_id %} -
- Intune: {{ s.intune_device_id }} - - set category -
- {% endif %} - -
- started {{ s.started_at or '-' }} - last {{ s.last_updated or '-' }} - MAC {{ s.mac or '-' }} - {% if s.current_stage %}{{ s.current_stage }}{% endif %} -
+ + +
+ {% if friendly[1] %}
{{ friendly[1] }}
{% endif %} + + {% if s.intune_device_id %} +
+ Intune: {{ s.intune_device_id }} + + set category + ARTS request +
+ {% endif %} + +
+ started {{ s.started_at or '-' }} + last {{ s.last_updated or '-' }} + MAC {{ s.mac or '-' }} + {% if s.current_stage %}{{ s.current_stage }}{% endif %} +
{% if s.error %}
@@ -130,9 +137,9 @@ window.addEventListener('DOMContentLoaded', scheduleImagingReload); {% endif %} {% if s.intune_device_id %} -
- LAPS password QR (paste -> scan on bay - persists until cleared) -
+
+
LAPS password QR (paste -> scan on bay - persists until cleared)
+
Clear
-
+
{% endif %} {% if s.log_tail %} -
+
Log tail ({{ s.log_tail | length }} line{{ 's' if s.log_tail | length != 1 }})
{% for line in s.log_tail %}{{ line }}
 {% endfor %}
@@ -164,7 +171,7 @@ window.addEventListener('DOMContentLoaded', scheduleImagingReload);
- +
{% endfor %}