Webapp: Updates pages, image page tabs with review-before-save, BPRT sync
Updates group: - Dell drivers and BIOS: check Dell's catalogs against all three driver maps and models.txt, download with a shared speed cap, repack, preview, apply with backups and rollback. - iPXE boot files: check GitHub for the signed Secure Boot set, verify the sha256 and each file's signer, install atomically, roll back. Includes the by-hand procedure. - Blancco: upload a release, stage it, test-boot it from the menu, activate, roll back. - BPRT sync: validate a batch uploaded from the MediaCreator Lite cache (scripts/windows/Sync-BPRT.ps1 or a zip), show the diff, swap with the site overlay files kept. Images: one sidebar entry per image with Overview, Drivers, Unattend and OS and Packages tabs. Every save shows a diff first, keeps the file's format, makes a backup and can be undone. Driver lint runs inline. Enrollment: upload standard/engineer MCL packages, one per tenant/purpose, with archive and restore. Hardware coverage counts engineer as Win11.
This commit is contained in:
@@ -33,10 +33,12 @@ from pathlib import PurePosixPath
|
||||
import config
|
||||
|
||||
# Images whose HardwareDriver.json is checked, with the Windows they deploy.
|
||||
# All three deploy Windows 11 now (engineer moved off Win10), so every one
|
||||
# counts toward a model's gaps.
|
||||
IMAGES = (
|
||||
("gea-standard", "Win11"),
|
||||
("gea-shopfloor", "Win11 LTSC"),
|
||||
("gea-engineer", "Win10"),
|
||||
("gea-engineer", "Win11"),
|
||||
)
|
||||
KEEP = 10 # serials / versions remembered per model
|
||||
|
||||
@@ -239,7 +241,7 @@ def coverage(include_ok=True):
|
||||
drivers = driver_status(model)
|
||||
bios = bios_status(model, rec.get("last_bios_version", ""))
|
||||
missing = [img for img, d in drivers.items()
|
||||
if d["status"] in ("no-entry", "zip-missing") and img != "gea-engineer"]
|
||||
if d["status"] in ("no-entry", "zip-missing")]
|
||||
gap = bool(missing) or bios["status"] in ("none", "file-missing")
|
||||
row = dict(rec, model=model, drivers=drivers, bios=bios, missing=missing,
|
||||
gap=gap, dismissed=model in state["dismissed"])
|
||||
|
||||
Reference in New Issue
Block a user