{% extends "base.html" %} {% import '_ui.html' as ui %} {% block title %}Overview - PXE Manager{% endblock %} {% block content %} {% set services_up = services | selectattr('active') | list | length %} {% call ui.head('Overview', 'West Jefferson') %}
{{ 'Services OK' if services_up == services|length else (services|length - services_up) ~ ' service' ~ ('s' if services|length - services_up != 1) ~ ' down' }}
{% endcall %}
{% if blancco_todo.total %} {% set parts = [] %} {% if blancco_todo.servicenow %}{% set _ = parts.append(blancco_todo.servicenow ~ ' to tick in ServiceNow') %}{% endif %} {% if blancco_todo.failed %}{% set _ = parts.append(blancco_todo.failed ~ ' drive' ~ ('s' if blancco_todo.failed != 1) ~ ' to destroy') %}{% endif %} {% if blancco_todo.evidence %}{% set _ = parts.append(blancco_todo.evidence ~ ' evidence pack' ~ ('s' if blancco_todo.evidence != 1) ~ ' to upload') %}{% endif %} {% if blancco_todo.not_in_cloud %}{% set _ = parts.append(blancco_todo.not_in_cloud ~ ' not in the Blancco cloud') %}{% endif %} {% if blancco_todo.hardware %}{% set _ = parts.append(blancco_todo.hardware ~ ' hardware gap' ~ ('s' if blancco_todo.hardware != 1)) %}{% endif %} To-do {{ blancco_todo.total }} open. {{ parts | join(', ') }} Open to-do {% endif %}

Imaging floor

{% for key, label in (('failed', 'failed'), ('action', 'need action'), ('running', 'in progress'), ('done', 'done')) %} {{ floor_counts[key] }} {{ label }} {% endfor %}
{% include "_imaging_tiles.html" %}

Images

Import content
{% for img in images %} {% set warn = img.lint.by_level.get('WARN', 0) if img.lint.available else 0 %} {% set errs = img.lint.map_errors if img.lint.available else 0 %} {% set zips = ((img.lint.by_level.get('ERROR', 0) + img.lint.by_level.get('CRITICAL', 0)) - img.lint.map_errors) if img.lint.available else 0 %}
{{ img.friendly_name | replace('GE Aerospace ', '') }} {% if errs %}{{ ui.chip(errs ~ ' error' ~ ('s' if errs != 1), 'err') }}{% endif %} {% if zips %}{{ ui.chip(zips ~ ' zip' ~ ('s' if zips != 1) ~ ' missing', 'err') }}{% endif %} {% if errs or zips %} {% elif warn %}{{ ui.chip(warn ~ ' warning' ~ ('s' if warn != 1), 'warn') }} {% elif img.lint.available and img.driver_count %}{{ ui.chip('Lint clean', 'ok') }}{% endif %} {% call ui.more(img.friendly_name) %} Open Drivers Unattend
{% endcall %}
{{ img.os_label or 'No OS selected' }} | {{ img.driver_count }} driver entr{{ 'y' if img.driver_count == 1 else 'ies' }}
{% if not img.has_content or not img.has_unattend %}
{% if not img.has_content %}{{ ui.chip('Deploy folder empty', 'off') }}{% endif %} {% if not img.has_unattend %}{{ ui.chip('No unattend.xml', 'warn') }}{% endif %}
{% endif %}
{{ img.image_type }}
{% endfor %}
{% endblock %} {% block extra_scripts %} {% endblock %}