{% extends "tesm_core/base.html" %} {% from "tesm_core/macros.html" import field, select_field, textarea_field, checkbox, pill, search_box, modal, empty_state, alert %} {# Neustart-Bedienelement. Ein einziger möglicher Weg: ein Knopf, der ihn benennt. Mehrere: ein Knopf für den bevorzugten Weg (PoE, weil er auch bei hängendem Betriebssystem wirkt) und daneben die Auswahl. Kein Weg: gar nichts -- ein Knopf, der verlässlich nichts bewirkt, ist schlimmer als kein Knopf. #} {% macro restart_control(device, methods, compact=False) %} {% if methods %} {% set first = methods[0] %}
{% if methods | length > 1 %} {% for other in methods[1:] %} {% endfor %} {% endif %} {% endif %} {% endmacro %} {% macro device_form(device=None, scope='neu') %}| Name | Zustand | IP | MAC | Zugangsdaten | Switch / Port | Letzte Prüfung | Host-Schlüssel | Aktion |
|---|---|---|---|---|---|---|---|---|
|
{{ device.name }}
{% if not device.is_active %}{{ pill('deaktiviert', '') }}{% endif %}
{% if not device.auto_restart %}
{% endif %}
{% if device.location %} {{ device.location }} {% endif %}
|
{% if not device.is_active %}{{ pill('aus', '') }} {% elif device.state == 'online' %}{{ pill('online', 'online') }} {% elif device.state == 'restarting' %}{{ pill('startet neu', 'warning') }} {% elif device.state == 'offline' %}{{ pill('offline', 'offline') }} {% else %}{{ pill('unbekannt', 'warning') }}{% endif %} {% if device.fail_count %}({{ device.fail_count }}×){% endif %} | {{ device.ip }} | {{ device.mac }} |
{% if device.credential_name %}
{{ device.credential_name }}
{{ category_labels.get(device.credential_category, device.credential_category) }}
{% else %}keine{% endif %}
|
{% if device.switch_hostname %} {{ device.switch_hostname }} / {{ device.port }} {% else %}nicht zugeordnet{% endif %} | {% if device.last_check_at %} {{ device.last_check_at | dt }} {% else %}nie{% endif %} | {% if device.credential_category == 'windows' %} nicht nötig {% elif device.host_key_known %}{{ pill('freigegeben', 'online') }} {% else %} {{ pill('offen', 'warning') }} {% endif %} | {% if current_user.has('devices.execute') %} {{ restart_control(device, restart_methods.get(device.id, []), compact=True) }} {% endif %} {% if current_user.has('devices.edit') %} {% endif %} {% if current_user.has('devices.delete') %} {% endif %} |