ajout Doc techniques dans dossier_view.pt et articles.pt

This commit is contained in:
2020-11-20 09:47:20 +01:00
parent dab24387a2
commit d03e90b7b8
26 changed files with 665 additions and 198 deletions

View File

@@ -135,6 +135,9 @@ def devis_web(request):
return HTTPFound(request.route_url("devis_ligne", type_ligne=type_lig, nodevis=nodevis, nolig='0'))
if 'form.generate' in request.params:
# lire la societe
soc = get_societes(request, societe)
options = {
'page-size': 'A4',
'margin-top': '1cm',
@@ -142,7 +145,8 @@ def devis_web(request):
'margin-bottom': '1cm',
'margin-left': '1cm',
'footer-font-size':'7',
'footer-right': '[page] of [topage]',
'footer-center': soc.code_ape,
'footer-right': '[page] / [topage]',
}
# créer le répertoire du chantier s'il n'existe pas encore
@@ -151,7 +155,7 @@ def devis_web(request):
# générer le devis en PDF
filename = "%s-DD%s-DE%s-devis.pdf" % (societe, nochantier, no_id)
dest = "mondumas/static/DEVFAC/DOCS_ATTACHES/%s/%s/%s" % (societe, nochantier, filename)
import pdb;pdb.set_trace()
# import pdb;pdb.set_trace()
# supprimer le fichier s'il existe déjà
if os.path.exists(dest):
@@ -166,10 +170,10 @@ def devis_web(request):
config = pdfkit.configuration(wkhtmltopdf="C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe")
pdfkit.from_url(origin, dest, configuration=config, options=options)
insert_dossier_attaches(request, '%s-%s' % (societe, nochantier), 0, 0, filename, '160 Ko', logged_in)
insert_dossier_attaches(request, '%s-%s' % (societe, nochantier), 0, 0, 'CLT', filename, '160 Ko', logged_in)
request.session.flash(u"Le devis a été généré avec succès.", 'success')
return HTTPFound(location=request.route_url('devis_web', nodevis=nodevis))
return HTTPFound(location=request.route_url('dossier_view', nodossier='%s-%s' % (societe, nochantier)))
return {
'page_title': "Devis no : %s W" % (nodevis),
@@ -184,20 +188,20 @@ def devis_web(request):
@view_config(route_name='devis_ligne', renderer='../templates/devis/devis_ligne.pt', permission='view')
def devis_ligne(request):
type_ligne = request.matchdict['type_ligne']
nodossier = request.matchdict['nodossier']
nodevis = request.matchdict['nodevis']
nolig = request.matchdict['nolig']
societe = nodossier[0:2]
no_id = nodossier[5:]
url = request.route_url("devis_ligne", type_ligne=type_ligne, nodossier=nodossier, nolig=nolig)
societe = nodevis[0:2]
no_id = nodevis[5:]
url = request.route_url("devis_ligne", type_ligne=type_ligne, nodevis=nodevis, nolig=nolig)
logged_in = request.authenticated_userid.upper()
message = ''
dossier = get_devis_by_no(request, nodossier)
dossier = get_devis_by_no(request, nodevis)
if dossier is None:
request.session.flash(u"Le document no %s est introuvable" % (nodossier), 'danger')
request.session.flash(u"Le document no %s est introuvable" % (nodevis), 'danger')
return HTTPFound(location=request.route_url("dossier_lookup"))
# lire le nombre total de lignes du devis
lignes = get_devis_lignes_by_no(request, nodossier, '0')
lignes = get_devis_lignes_by_no(request, nodevis, '0')
nb_lignes = len(lignes)
if nolig == '0':
@@ -218,7 +222,7 @@ def devis_ligne(request):
page_title= 'Nouvelle ligne %s' % type_ligne
else:
# lire la ligne du devis
ligne = get_devis_lignes_by_no(request, nodossier, nolig)
ligne = get_devis_lignes_by_no(request, nodevis, nolig)
page_title= "Modification de la ligne %s" % (nolig)
# import pdb;pdb.set_trace()
@@ -239,9 +243,9 @@ def devis_ligne(request):
new_values['nolig'] = nb_lignes + 1
else:
new_values['nolig'] = nolig
update_devis_ligne(request, nodossier, nolig, new_values)
update_devis_ligne(request, nodevis, nolig, new_values)
request.session.flash("La ligne de texte a été mis à jour avec succès.", 'success')
return HTTPFound(location=request.route_url("devis_web", nodossier=nodossier))
return HTTPFound(location=request.route_url("devis_web", nodevis=nodevis))
elif type_ligne == 'AR':
# ajout d'un article
@@ -282,22 +286,22 @@ def devis_ligne(request):
new_values['nolig'] = nb_lignes + 1
else:
new_values['nolig'] = nolig
update_devis_ligne(request, nodossier, nolig, new_values)
update_devis_ligne(request, nodevis, nolig, new_values)
request.session.flash(u"La ligne de devis a été mis à jour avec succès.", 'success')
return HTTPFound(location=request.route_url("devis_web", nodossier=nodossier))
return HTTPFound(location=request.route_url("devis_web", nodevis=nodevis))
# -- ajouter une ligne
if 'form.deleted' in request.params:
delete_devis_ligne(request, nodossier, nolig)
delete_devis_ligne(request, nodevis, nolig)
request.session.flash(u"La ligne de devis a été supprimée avec succès.", 'success')
return HTTPFound(location=request.route_url("devis_web", nodossier=nodossier))
return HTTPFound(location=request.route_url("devis_web", nodevis=nodevis))
return {
'page_title': page_title,
'url': url,
'message': message,
'nodossier': nodossier,
'nodevis': nodevis,
'nolig': nolig,
'dossier': dossier,
'ligne': ligne,
@@ -328,22 +332,22 @@ def devis_preview(request):
dt_html = ''
for ligne in details:
if ligne.ref == 'T1':
dt_html += '<h4 class="text-center">%s</h4>' % ligne.libelle
dt_html += '<tr><td colspan="3" style="text-align:center;"><h4>%s</h4></td></tr>' % ligne.libelle
elif ligne.ref == 'T2':
dt_html += '<p><b>%s</b></p>' % ligne.libelle
dt_html += '<tr><td colspan="3"><p><b>%s</b></p></td></tr>' % ligne.libelle
elif ligne.ref == 'TX':
dt_html += '<div class="col-sm-7"><p>%s</p></div>' % ligne.libelle
dt_html += '<tr><td colspan="3"><p>%s</p></td></tr>' % ligne.libelle
elif ligne.type_ligne == 'AR':
dt_html += '<div class="col-sm-7"><p>%s<br />' % ligne.libelle
dt_html += '<tr><td><p>%s<br />' % ligne.libelle
if ligne.metrage:
dt_html += '<i>%s</i><br />' % ligne.metrage
dt_html += ligne.metrage
if ligne.deduction:
dt_html += 'déduction :<br />'
dt_html += '<i>%s</i><br />' % ligne.deduction
dt_html += '</p></div>'
dt_html += '<div class="col-sm-1"><p class="text-right">%s</p></div>' % ligne.qte
dt_html += '<div class="col-sm-2"><p class="text-right">%s</p></div>' % to_euro(ligne.prixht)
dt_html += '<div class="col-sm-2"><p class="text-right">%s</p></div>' % to_euro(ligne.mtht)
dt_html += '<br />déduction :<br />'
dt_html += '<i>%s</i>' % ligne.deduction
dt_html += '</td>'
dt_html += '<td style="text-align:right; vertical-align:top">%s</td>' % ligne.qte
dt_html += '<td style="text-align:right; vertical-align:top">%s</td>' % to_euro(ligne.prixht)
dt_html += '<td style="text-align:right; vertical-align:top">%s</td></tr>' % to_euro(ligne.mtht)
return {
'page_title': '',