{% extends "base.html" %} {% load i18n %} {% load short_name %} {% load contract_filters %} {% load static %} {% block head %} {% endblock head %} {% block content %}
{% translate "Contrat lié" %} : {{ order.contract.contract_number }} - {{ order.contract }}
{% if order.description %}{% translate "Description" %} : {{ order.description }}
{% endif %}{% translate "Date de commande" %} : {{ order.order_date|date:"d/m/Y" }}
{% translate "Date de livraison" %} : {{ order.delivery_date|date:"d/m/Y" }}
{% translate "Montant prévisionnel" %} : {% translate "Non renseigné" as not_set %} {{ order.total_amount|default:not_set }} €
{% translate "Montant total" %} : {{ quote_total|floatformat:2 }} €
{% if quote.is_finalized %}{% translate "Devis figé" %} {% if quote.finalized_at %} ({{ quote.finalized_at|date:'d/m/Y H:i' }}) {% endif %}
{% endif %}{% blocktrans count item_count=quote.items.count %} {{ item_count }} poste dans le devis. {% plural %} {{ item_count }} postes dans le devis. {% endblocktrans %}
{% else %}{% translate "Aucun devis n'est associé à cette commande pour le moment." %}
{% endif %}{% translate "Commandé par" %} : {{ order.ordered_by|short_name }}
{% endif %}{% translate "Fichier de commande" %} : {% if order.order_file %} 📄 {% translate "Télécharger le fichier" %} {% endif %}
{% translate "Générer un draft de l'état de travaux" %} {% translate "Générer un draft de la déclaration de créance" %}
{% if is_generate_documents_allowed %}
{% translate "Générer la déclaration de créance" %}
{% translate 'Cette opération va générer un état de travaux, une déclaration de créance et faire passer les interventions validées au statut "comptabilisé".' %}
| {% translate "Poste" %} | {% translate "Code" %} | {% translate "Description" %} | {% if quote %}{% translate "Quantité prévue" %} | {% endif %} {% for ps in progress_states %}
{% translate "État" %} {{ forloop.counter }} {{ ps.created_at|date:"d/m/Y" }} |
{% endfor %}
{% translate "Quantité consommée" %} | {% if quote %}{% translate "Quantité restante" %} | {% endif %}{% translate "Prix unitaire" %} | {% translate "Montant consommé" %} |
|---|---|---|---|---|---|---|---|---|
| {{ item.contract_post.order_number }} | {{ item.contract_post.code }} | {% if LANGUAGE_CODE == "nl" %} {{ item.contract_post.description_nl|default:item.contract_post.description_fr }} {% else %} {{ item.contract_post.description_fr|default:item.contract_post.description_nl }} {% endif %} | {% if quote %}{{ item.planned_quantity|floatformat:2 }} | {% endif %} {% for ps in progress_states %}{% if item.progress_states %} {{ item.progress_states|dict_get:ps.id|floatformat:2|default:"0.00" }} {% else %} 0.00 {% endif %} | {% endfor %}{{ item.consumed_quantity|floatformat:2 }} | {% if quote %}{{ item.remaining_quantity|floatformat:2 }} | {% endif %}{{ item.contract_post.unit_price|floatformat:2 }} € | {{ item.consumed_amount|floatformat:2 }} € |
{% translate "Aucune consommation enregistrée pour cette commande." %}
{% endif %}{% translate "Les commandes directes permettent d'enregistrer des postes de marché consommés sans passer par une intervention. Les postes validés sont inclus dans les totaux, les états d'avancement et les déclarations de créance." %}
| {% translate "N°" %} | {% translate "Code" %} | {% translate "Description" %} | {% translate "Unité" %} | {% translate "Prix unit." %} | {% translate "Quantité" %} | {% translate "Qté facturée" %} | {% translate "Montant" %} | {% translate "Commentaire" %} | {% translate "Statut" %} | {% translate "Actions" %} |
|---|---|---|---|---|---|---|---|---|---|---|
| {{ dp.contract_post.order_number }} | {{ dp.contract_post.code }} |
{% if LANGUAGE_CODE == "nl" %} {{ dp.contract_post.description_nl|default:dp.contract_post.description_fr }} {% else %} {{ dp.contract_post.description_fr|default:dp.contract_post.description_nl }} {% endif %} | {{ dp.contract_post.unit }} | {{ dp.contract_post.unit_price|floatformat:2 }} € | {{ dp.quantity|floatformat:2 }} | {{ dp.invoiced_quantity|floatformat:2 }} | {{ dp.total_price|floatformat:2 }} € | {{ dp.comment|default:"" }} |
{% if dp.control_status == 'validated' %}
{% translate "Approuvé" %}
{% if dp.validated_by %}
{{ dp.validated_by.get_full_name }} – {{ dp.validated_at|date:"d/m/Y" }} {% endif %} {% elif dp.control_status == 'refused' %} {% translate "Refusé" %} {% elif dp.control_status == 'invoiced' %} {% translate "Facturé" %} {% else %} {% translate "En attente" %} {% endif %} |
{% if can_manage_direct_posts and dp.control_status != 'validated' %}
{% if not dp.invoiced_quantity or dp.invoiced_quantity <= 0 %}
{% endif %}
{% endif %}
{% if can_validate_direct_posts %}
{% if dp.control_status != 'validated' %}
{% endif %}
{% if dp.control_status != 'refused' %}
{% endif %}
{% if dp.control_status != 'pending' %}
{% endif %}
{% endif %}
|
| {% translate "Aucune commande directe enregistrée." %} | ||||||||||
| {% translate "Code" %} | {% translate "Titre" %} | {% translate "Début" %} | {% translate "Statut" %} | {% if order.contract.auto_assign_control_team %}{% translate "Contrôleur assigné" %} | {% endif %}
|---|---|---|---|---|
| {{ intervention.code }} | {{ intervention.title }} | {{ intervention.begin_time|date:"d-m-Y H:i" }} | {{ intervention.get_status_display }} | {% if order.contract.auto_assign_control_team %}{% if intervention.assigned_controller %} {{ intervention.assigned_controller.name }} {% if intervention.assigned_control_team %} ({{ intervention.assigned_control_team.name }}) {% endif %} {% elif intervention.assigned_control_team %} {{ intervention.assigned_control_team.name }} {% else %} - {% endif %} | {% endif %}