diff --git a/mondumas/models/parametres.py b/mondumas/models/parametres.py
index f184bb5..a34999e 100644
--- a/mondumas/models/parametres.py
+++ b/mondumas/models/parametres.py
@@ -32,3 +32,25 @@ def get_last_emailing(request):
results = request.dbsession.execute(query, {})
return results.fetchall()
+def get_orphans_DE(request, societe):
+
+ query = "SELECT * FROM devis WHERE societe = '%s' AND nochantier = 0 ORDER BY date desc LIMIT 50 ;" % (societe)
+ results = request.dbsession.execute(query).first()
+ return results
+
+def get_dossiers_byChantier(request, societe, name):
+
+ query = "CALL spGET_DOSSIERS_byChantier('%s','%s','%s');" % (societe, 'DE', name.replace("'","''"))
+ results = request.dbsession.execute(query).fetchall()
+ return results
+
+def update_nochantier(request, societe, nodossier, nochantier):
+ x = nodossier.split('-')
+ type = x[0]
+ no_id = int(x[1])
+
+ if type == 'DE':
+ query = "UPDATE devis SET nochantier = :nochantier WHERE societe = :societe and no_id = :no_id;"
+ else:
+ query = "UPDATE facture SET nochantier = :nochantier WHERE societe = :societe and no_id = :no_id;"
+ execute_query(request, query, {'societe': societe, 'no_id': no_id, 'nochantier': nochantier})
diff --git a/mondumas/routes.py b/mondumas/routes.py
index 4311cda..2b38ed4 100644
--- a/mondumas/routes.py
+++ b/mondumas/routes.py
@@ -15,5 +15,6 @@ def includeme(config):
config.add_route('parametres', '/parametres')
config.add_route('dashboard', '/dashboard')
config.add_route('last_emailing', '/last_emailing')
+ config.add_route('orphans_de', '/orphans_de')
config.add_route('user_edit', '/user_edit/{cd_uti}')
config.add_route('users_list', '/users_list')
diff --git a/mondumas/templates/layouts/global_layout.pt b/mondumas/templates/layouts/global_layout.pt
index d02b8ab..a8081ba 100644
--- a/mondumas/templates/layouts/global_layout.pt
+++ b/mondumas/templates/layouts/global_layout.pt
@@ -14,6 +14,7 @@
+
@@ -33,6 +34,7 @@
+
diff --git a/mondumas/templates/parametres/orphans_de.pt b/mondumas/templates/parametres/orphans_de.pt
new file mode 100644
index 0000000..ae37821
--- /dev/null
+++ b/mondumas/templates/parametres/orphans_de.pt
@@ -0,0 +1,156 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CHANTIER |
+
+ ${devis.C_QUALITE} ${devis.C_NOM}
+ ${devis.C_ADR}
+ ${devis.C_ADR2}
+ ${devis.C_CP} ${devis.C_VILLE}
+ |
+
+
+
+ Police
+ Sinistre
+ |
+
+ ${devis.NOPOL}
+ ${devis.NOSIN}
+ |
+
+
+
+
+
+
+
+ CLIENT
+ NO DEVIS
+ DATE
+ |
+
+ ${devis.NOMCLI}
+ ${devis.NO_ID}
+ ${devis.DATE.strftime('%d-%m-%Y')}
+ |
+
+
+
+
+
+
+
+
+
+
+
+ |
+ Numéro |
+ Date |
+ Client |
+ Chantier |
+ Montant |
+ Sinistre |
+ Ch. |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mondumas/templates/parametres/parametres.pt b/mondumas/templates/parametres/parametres.pt
index 5bd4ec7..386968f 100644
--- a/mondumas/templates/parametres/parametres.pt
+++ b/mondumas/templates/parametres/parametres.pt
@@ -11,6 +11,10 @@
TABLEAU de BORD
+
diff --git a/mondumas/views/parametres.py b/mondumas/views/parametres.py
index 0a7ebd9..f413b56 100644
--- a/mondumas/views/parametres.py
+++ b/mondumas/views/parametres.py
@@ -22,6 +22,7 @@ import json
from ..models.parametres import *
from ..models.default import *
+from ..views.default import *
@view_config(route_name='parametres', renderer='../templates/parametres/parametres.pt', permission='manage')
def parametres(request):
@@ -163,3 +164,54 @@ def last_emailing(request):
'page_title': u'Liste des derniers emailing',
'dt_data': json.dumps(liste),
}
+
+@view_config(route_name='orphans_de', renderer='../templates/parametres/orphans_de.pt', permission='manage')
+def orphans_de(request):
+
+ url = request.route_url('orphans_de')
+ message = u''
+ societes = ['PE','ME','PL','PO','CD']
+ societe = 'PE'
+
+ # prendre en compte les paramètres de saisie
+ if 'societe' in request.params:
+ societe = request.params["societe"]
+
+ if 'form.nochantier' in request.params:
+ message = ''
+ nochantier = request.params['nochantier']
+
+ # oui, NestedMultiDict([('form.submitted', u''), ('id0', u'271246'), ('id1', u'370929')])
+ for param in request.params:
+ if param[:2] == 'id':
+ update_nochantier(request, societe, request.params[param], int(nochantier))
+ message = u"Le numéro de chantier est mis à jour avec succès"
+
+ # lire le premier devis orphelin
+ devis = get_orphans_DE(request, societe)
+
+ # lire tous les dossiers de ce chantier
+ dossiers = get_dossiers_byChantier(request, societe, '%s;%s;%s' % (devis.C_NOM, devis.C_ADR, devis.C_VILLE))
+ liste=[]
+ nochantiers=[]
+ # construire la liste
+ for item in dossiers:
+ dossier_id = '%s-%s' % (item.TYPE, item.numero)
+ if item.nochantier != 0:
+ nochantiers.append(item.nochantier)
+ nochantier = item.nochantier
+ d = (dossier_id, dossier_id, item.date.strftime('%d-%m-%Y'), item.nomcli, item.chantier, to_euro(item.montant),
+ item.nosin, item.nochantier)
+ liste.append(d)
+
+ return {
+ 'page_title': u"DEVIS orphelins",
+ 'url': url,
+ 'message': message,
+ 'devis': devis,
+ 'dt_data': json.dumps(liste),
+ 'societes': societes,
+ 'societe': societe,
+ 'nochantiers': nochantiers,
+ 'nochantier': nochantier,
+ }