3DPricing
Bureau
{% with messages = get_flashed_messages(with_categories=true) %} {% for cat, msg in messages %}
{{ msg }}
{% endfor %} {% endwith %}
Prochaines impressions
{% if upcoming %} {% for s in upcoming %}
{{ s.job_name }}
{{ s.printer_name }} {% if s.client_name %} · {{ s.client_name }}{% endif %}
{{ s.planned_start[:16].replace('T',' ') }} → {{ s.planned_end[11:16] }}
{{ s.status }}
{% endfor %} {% else %}
Aucune impression planifiée.
{% endif %}
Ajouter une indisponibilité
Décaler un créneau
Marquer une impression comme terminée
Laissez vide si vous ne connaissez pas le poids exact.
Signaler un échec d'impression
Si vide, le poids du plateau entier est déduit du stock.