{% extends 'base.html' %} {% block title %}{{ c.label or c.week_code }}{% endblock %} {% block content %}
← Campagnes

{{ c.label or c.week_code }}

{{ c.status }} {{ c.week_code }} {{ c.year }} {% if c.date_start %}{{ c.date_start.strftime('%d/%m/%Y') }}{% if c.date_end %} → {{ c.date_end.strftime('%d/%m/%Y') }}{% endif %}{% endif %} par {{ c.created_by_name or '-' }}
{% if c.status == 'draft' %} {% if can_plan %}
{% else %} {% endif %} {% elif c.status == 'planned' %}
{% elif c.status == 'in_progress' %}
{% endif %} {% if c.status in ('draft', 'planned') %}
{% endif %}
{% if msg %}
{% if msg == 'excluded' %}Serveur exclu.{% elif msg == 'restored' %}Serveur restaure.{% elif msg == 'prereq_saved' %}Prereqs sauvegardes.{% elif msg == 'prereq_checked' %}Prereq re-verifie.{% elif msg == 'prereq_needed' %}Impossible de planifier : tous les serveurs pending doivent avoir leurs prereqs valides.{% elif msg.startswith('checked_') %}Verification terminee : {{ msg.split('_')[1] }} serveur(s) verifies, {{ msg.split('_')[2] }} auto-exclus.{% elif msg.startswith('auto_excluded_') %}{{ msg.split('_')[-1] }} serveur(s) exclus (prereqs KO).{% endif %}
{% endif %}
{{ stats.total }}
Total
{{ stats.patched }}
Patches
{{ stats.failed }}
Echoues
{{ stats.pending }}
En attente
{{ stats.excluded }}
Exclus
{{ stats.reported }}
Reportes
{% set patchable = stats.total - stats.excluded - stats.cancelled %} {% if patchable > 0 %}
{{ (stats.patched / patchable * 100)|int }}%
{% else %}
-
{% endif %}
Progression
{% if c.status == 'draft' and prereq %}

Prerequis ({{ prereq.prereq_ok }}/{{ prereq.total_pending }} valides)

{% if prereq.prereq_ko > 0 %}
{% endif %}
A verifier{{ prereq.prereq_todo }}
SSH OK{{ prereq.ssh_ok }}
Satellite OK{{ prereq.sat_ok }}
Rollback OK{{ prereq.rollback_ok }}
Disque OK{{ prereq.disk_ok }}
{% if prereq.total_pending > 0 %}
{% endif %}
{% endif %}
{% if c.status == 'draft' %} {% endif %} {% for s in sessions %} {% if c.status == 'draft' %} {% endif %} {% if s.status == 'pending' and c.status == 'draft' %} {% endif %} {% endfor %}
Hostname Domaine Env OS LicenceSSH Satellite Rollback Disque PrereqStatut Actions
{{ s.hostname }} {{ s.domaine or '-' }} {{ (s.environnement or '-')[:6] }} {{ s.os_family or '-' }} {{ s.licence_support }} {% if s.prereq_ssh == 'ok' %}OK {% elif s.prereq_ssh == 'ko' %}KO {% else %}-{% endif %} {% if s.prereq_satellite == 'ok' %}OK {% elif s.prereq_satellite == 'ko' %}KO {% elif s.prereq_satellite == 'na' %}N/A {% else %}-{% endif %} {% if s.rollback_method %}{{ s.rollback_method }} {% else %}-{% endif %} {% if s.prereq_disk_ok is true %}OK {% elif s.prereq_disk_ok is false %}KO {% else %}-{% endif %} {% if s.prereq_validated %}OK {% elif s.prereq_date %}KO {% else %}-{% endif %} {{ s.status }} {% if s.exclusion_reason %}
{% if s.exclusion_reason == 'eol' %}EOL {% elif s.exclusion_reason == 'creneau_inadequat' %}Creneau/Prereq {% elif s.exclusion_reason == 'intervention_non_secops' %}Non-SecOps {% elif s.exclusion_reason == 'report_cycle' %}Reporte {% elif s.exclusion_reason == 'non_patchable' %}Non patchable {% else %}{{ s.exclusion_reason }}{% endif %} {% if s.excluded_by %}({{ s.excluded_by }}){% endif %}
{% if s.exclusion_detail %}
{{ s.exclusion_detail[:60] }}
{% endif %} {% endif %}
{% if s.status == 'excluded' %}
{% elif s.status == 'pending' and c.status == 'draft' %}
{% endif %}
SSH: Satellite: Rollback:
Motif:
{% endblock %}