{% extends "base.html" %} {% import '_ui.html' as ui %} {% block title %}{{ friendly_name }} - Overview{% endblock %} {# Overview of one image: what needs attention first (each item links to the tab that fixes it), a calm row of counts, the control files one line each (description in the row body), then compact lists of hardware gaps, newer Dell packs and missing zips. Deep links into the Drivers tab use its ?q=, ?os=, ?missing=1 and ?findings=1 filters. #} {% block extra_head %} {% endblock %} {% block content %} {% set header_actions %} Hardware coverage Dell updates {% endset %} {% include "_image_header.html" %} {% set d = ov.drivers %} {% set lint = ov.lint %} {# missing-zip findings are counted on their own; bad_lint is what is wrong in the map itself #} {% set bad_lint = lint.map_errors if lint.available else 0 %} {% set os_row = ov.os.current %} {% set drv_url = image_tab_url(image_type, 'drivers') %} {% set os_url = image_tab_url(image_type, 'os') %} {# -------- needs attention: (kind, text, link, label) -------- #} {% set attn = [] %} {% if d.missing %}{% set _ = attn.append(('err', d.missing | length ~ ' driver entr' ~ ('ies point' if d.missing | length != 1 else 'y points') ~ ' at a zip that is not on the share. PESetup only warns, and the PC comes up without NIC or WiFi drivers.', image_tab_url(image_type, 'drivers', missing=1), 'Drivers')) %}{% endif %} {% if bad_lint %}{% set _ = attn.append(('err', bad_lint ~ ' driver map lint error' ~ ('s' if bad_lint != 1) ~ ' in the entries themselves (a token or order PESetup will mis-match; see the findings on the Drivers tab).', image_tab_url(image_type, 'drivers', findings=1), 'Drivers')) %}{% endif %} {% if not os_row %}{% set _ = attn.append(('err', 'OperatingSystem.json has no entry: PESetup has no Windows image to apply.', os_url, 'OS and Packages')) %} {% elif not os_row.wim.exists %}{% set _ = attn.append(('err', 'install.wim is not on disk in ' ~ (os_row.dest or 'the configured folder (DestinationDir is empty)') ~ '.', os_url, 'OS and Packages')) %}{% endif %} {% if ov.packages.missing %}{% set _ = attn.append(('warn', ov.packages.missing | length ~ ' enabled package file' ~ ('s are' if ov.packages.missing | length != 1 else ' is') ~ ' not on disk.', os_url, 'OS and Packages')) %}{% endif %} {% if ov.gaps %}{% set _ = attn.append(('warn', ov.gaps | length ~ ' model' ~ ('s' if ov.gaps | length != 1) ~ ' booted WinPE here with no working driver entry in this image.', url_for('hardware_page'), 'Hardware coverage')) %}{% endif %} {% if ov.unattend_override %}{% set _ = attn.append(('warn', 'Deploy/Tools/GE/XML/FlatUnattendW10.xml exists. PESetup loads that file first, so the Unattend tab (which edits Deploy/FlatUnattendW10.xml) is not what imaging uses.', image_tab_url(image_type, 'unattend'), 'Unattend')) %}{% endif %} {% if ov.hw_drivers_extra %}{% set _ = attn.append(('neutral', 'Deploy/Control/hw_drivers.json exists. PESetup never reads it; only HardwareDriver.json decides drivers.', drv_url, 'Drivers')) %}{% endif %} {% if ov.dell.rows %}{% set _ = attn.append(('neutral', ov.dell.rows | length ~ ' driver pack' ~ ('s have' if ov.dell.rows | length != 1 else ' has') ~ ' a newer Dell release (last check ' ~ (ov.dell.checked | local_dt) ~ ').', url_for('dell_updates.page'), 'Dell updates')) %}{% endif %} {% if ov.models.no_entry %}{% set _ = attn.append(('neutral', ov.models.no_entry | length ~ ' hardware model selection' ~ ('s name' if ov.models.no_entry | length != 1 else ' names') ~ ' a driver family with no entry in HardwareDriver.json (media build selection only; imaging does not use it).', os_url, 'OS and Packages')) %}{% endif %} {% set kind_label = {'err': 'Error', 'warn': 'Warning', 'neutral': 'Note'} %} {% set n_err = attn | selectattr(0, 'equalto', 'err') | list | length %}