From 879546e1661e5fbb15edd71e7c3721585cf13418 Mon Sep 17 00:00:00 2001 From: Phuoc CAO Date: Sun, 6 Dec 2020 08:03:37 +0100 Subject: [PATCH] correction affichage facture --- mondumas/models/devis.py | 32 +++++++++++++++++++ mondumas/templates/devis/devis_view.pt | 44 +++++++++++++------------- mondumas/views/devis.py | 12 ++++--- 3 files changed, 61 insertions(+), 27 deletions(-) diff --git a/mondumas/models/devis.py b/mondumas/models/devis.py index 9381b19..12a3bd1 100644 --- a/mondumas/models/devis.py +++ b/mondumas/models/devis.py @@ -126,6 +126,38 @@ def get_devis_by_no(request,nodossier): results = request.dbsession.execute(query, {'societe': societe, 'no_id': no_id}).first() return results +def get_facture_by_no(request,nodossier): + # lire facture + + societe = nodossier[0:2] + no_id = nodossier[5:] + + query = """ + SELECT d.*, c.*, a.NOM as nom_cabinet, e.NOM as nom_expert FROM facture d + INNER JOIN clients c ON d.societe = c.societe and d.cd_cli = c.cd_cli + INNER JOIN p_cabinet a ON d.cabinet = a.code + INNER JOIN p_experts e ON d.cabinet = e.code_cab and d.expert = e.code_exp + WHERE d.societe = :societe and d.no_id=:no_id;""" + + results = request.dbsession.execute(query, {'societe': societe, 'no_id': no_id}).first() + return results + +def get_proforma_by_no(request,nodossier): + # lire facture + + societe = nodossier[0:2] + no_id = nodossier[5:] + + query = """ + SELECT d.*, c.*, a.NOM as nom_cabinet, e.NOM as nom_expert FROM proforma d + INNER JOIN clients c ON d.societe = c.societe and d.cd_cli = c.cd_cli + INNER JOIN p_cabinet a ON d.cabinet = a.code + INNER JOIN p_experts e ON d.cabinet = e.code_cab and d.expert = e.code_exp + WHERE d.societe = :societe and d.no_id=:no_id;""" + + results = request.dbsession.execute(query, {'societe': societe, 'no_id': no_id}).first() + return results + def update_devis_ligne(request, nodossier, nolig, new_values): societe = nodossier[0:2] no_id = nodossier[5:] diff --git a/mondumas/templates/devis/devis_view.pt b/mondumas/templates/devis/devis_view.pt index 2114a6a..23eab26 100644 --- a/mondumas/templates/devis/devis_view.pt +++ b/mondumas/templates/devis/devis_view.pt @@ -7,14 +7,14 @@
- @@ -24,9 +24,9 @@ Tél. mobile - fax

CHANTIER

${devis.societe}-${devis.nochantier}

+

CHANTIER

${entete.societe}-${entete.nochantier}

-

${devis.C_QUALITE} ${devis.C_NOM}

- ${devis.C_ADR}
- ${devis.C_ADR2}
- ${devis.C_CP} ${devis.C_VILLE}
- ${devis.C_EMAIL} +

${entete.C_QUALITE} ${entete.C_NOM}

+ ${entete.C_ADR}
+ ${entete.C_ADR2}
+ ${entete.C_CP} ${entete.C_VILLE}
+ ${entete.C_EMAIL}
- ${devis.C_ETAGE} - ${devis.C_CODE}
- ${devis.C_TEL1} - ${devis.C_TEL2}
- ${devis.C_TELP} - ${devis.C_FAX} + ${entete.C_ETAGE} - ${entete.C_CODE}
+ ${entete.C_TEL1} - ${entete.C_TEL2}
+ ${entete.C_TELP} - ${entete.C_FAX}
@@ -38,10 +38,10 @@

CLIENT

-

${devis.QUALITE} ${devis.NOM}

- ${devis.ADRESSE}
- ${devis.ADRESSE2}
- ${devis.CP} ${devis.VILLE}
+

${entete.QUALITE} ${entete.NOM}

+ ${entete.ADRESSE}
+ ${entete.ADRESSE2}
+ ${entete.CP} ${entete.VILLE}
@@ -51,16 +51,16 @@ Tél. mobile - fax - ${devis.NOMRESP}
- ${devis.TEL1} - ${devis.TEL2}
- ${devis.TELP} - ${devis.FAX} + ${entete.NOMRESP}
+ ${entete.TEL1} - ${entete.TEL2}
+ ${entete.TELP} - ${entete.FAX}
-

Statut : ${devis.STATUS}

+

Statut : ${entete.STATUS}

- + @@ -69,10 +69,10 @@ - - - - + + + +
Total HTTVA
${layout.to_euro(devis.TOTALHT)}${layout.to_euro(devis.TOTALTVA)}${layout.to_euro(devis.TOTALTTC)}${devis.TAUXTVA} %${layout.to_euro(entete.TOTALHT)}${layout.to_euro(entete.TOTALTVA)}${layout.to_euro(entete.TOTALTTC)}${entete.TAUXTVA} %
diff --git a/mondumas/views/devis.py b/mondumas/views/devis.py index 071d2cb..a109da0 100644 --- a/mondumas/views/devis.py +++ b/mondumas/views/devis.py @@ -75,16 +75,18 @@ def devis_view(request): type_doc = nodevis[3:5] if type_doc == 'DE': page_title = "Devis no : %s" % (nodevis) + entete = get_devis_by_no(request, nodevis) elif type_doc == 'FA': page_title = "Facture no : %s" % (nodevis) + entete = get_facture_by_no(request, nodevis) else: page_title = "Proforma no : %s" % (nodevis) - - devis = get_devis_by_no(request, nodevis) - if devis is None: + entete = get_proforma_by_no(request, nodevis) + + if entete is None: request.session.flash(u"Le document no %s est introuvable" % (nodevis), 'danger') return HTTPFound(location=request.route_url("dossier_lookup")) - # lire tous les lignes du devis + # lire tous les lignes du doc details = get_devis_lig_by_no(request, nodevis) # select background color according to society bg_color = "bg-%s" % societe @@ -92,7 +94,7 @@ def devis_view(request): return { 'page_title': page_title, 'nodevis': nodevis, - 'devis': devis, + 'entete': entete, 'details': details, 'bg_color': bg_color, }