diff --git a/mondumas/models/dossier.py b/mondumas/models/dossier.py index 0ece0e7..041f2a7 100644 --- a/mondumas/models/dossier.py +++ b/mondumas/models/dossier.py @@ -157,7 +157,7 @@ def update_dossier(request, nodossier, new_values): s = "%s=:%s" % (param, param) new_values['societe'] = societe new_values['nochantier'] = nochantier - query = u"UPDATE dem_devis SET %s WHERE societe=:societe AND no_id=:nochantier" % s + query = "UPDATE dem_devis SET %s WHERE societe=:societe AND no_id=:nochantier" % s execute_query(request, query, new_values) def insert_dossier_attaches(request, nodossier, filename, filesize, user): @@ -169,27 +169,31 @@ def insert_dossier_attaches(request, nodossier, filename, filesize, user): VALUES('DOCS_ATTACHES',:societe,:nochantier,:filename,:filesize,NOW(),:user);""" execute_query(request, query, {'societe': societe, 'nochantier': nochantier, 'filename': filename, 'filesize': filesize, 'user': user}) -def get_rapport_by_no(request,nodossier): +def get_rapport_by_no(request,nodossier,date_inter): societe = nodossier[0:2] nochantier = nodossier[3:] - query = "SELECT * FROM dem_rdf where societe = :societe and nochantier = :nochantier;" - results = request.dbsession.execute(query, {'societe': societe, 'nochantier': nochantier}).first() + if date_inter == '': + query = "SELECT * FROM dem_rdf WHERE societe = :societe AND nochantier = :nochantier;" + results = request.dbsession.execute(query, {'societe': societe, 'nochantier': nochantier}).fetchall() + else: + query = "SELECT * FROM dem_rdf WHERE societe = :societe AND nochantier = :nochantier AND date_inter=:date_inter;" + results = request.dbsession.execute(query, {'societe': societe, 'nochantier': nochantier, 'date_inter': date_inter}).first() return results def insert_rapport(request,nodossier,logged_in): societe = nodossier[0:2] nochantier = nodossier[3:] - query = """INSERT INTO dem_rdf (societe, nochantier, cd_cli, nomcli, c_qualite, c_nom, c_adr, c_adr2, c_cp, c_ville, c_tel1, c_telp, nosin, usermaj) - SELECT societe, no_id, cd_cli, nomcli, c_qualite, c_nom, c_adr, c_adr2, c_cp, c_ville, c_tel1, c_telp, nosin, :logged_in FROM dem_devis WHERE societe = :societe AND no_id = :nochantier;""" - execute_query(request, query, {'societe': societe, 'nochantier': nochantier, 'logged_in': logged_in}) + query = """REPLACE INTO dem_rdf (societe, nochantier, cd_cli, nomcli, c_qualite, c_nom, c_adr, c_adr2, c_cp, c_ville, c_tel1, c_telp, nosin, auteur_code) + SELECT societe, no_id, cd_cli, nomcli, c_qualite, c_nom, c_adr, c_adr2, c_cp, c_ville, c_tel1, c_telp, nosin, :auteur_code FROM dem_devis WHERE societe = :societe AND no_id = :nochantier;""" + execute_query(request, query, {'societe': societe, 'nochantier': nochantier, 'auteur_code': logged_in}) def get_rdf_causes(request, code): query = "SELECT libelle FROM rdf_causes where code LIKE :code;" results = request.dbsession.execute(query, {'code': code + '%'}).fetchall() return results -def update_rdf(request, nodossier, new_values): +def update_rapport(request, nodossier, date_inter, new_values): societe = nodossier[0:2] nochantier = int(nodossier[3:]) @@ -201,6 +205,7 @@ def update_rdf(request, nodossier, new_values): s = "%s=:%s" % (param, param) new_values['societe'] = societe new_values['nochantier'] = nochantier - query = u"UPDATE dem_rdf SET %s WHERE societe=:societe AND nochantier=:nochantier" % s + new_values['date_inter'] = date_inter + query = "UPDATE dem_rdf SET %s WHERE societe=:societe AND nochantier=:nochantier AND date_inter=:date_inter;" % s execute_query(request, query, new_values) diff --git a/mondumas/routes.py b/mondumas/routes.py index fe06cab..a994332 100644 --- a/mondumas/routes.py +++ b/mondumas/routes.py @@ -18,7 +18,7 @@ def includeme(config): config.add_route('dossier_select', '/dossier_select/{date}') config.add_route('dossier_selected', '/dossier_selected/{goto}/{date}/{nodossier}') config.add_route('dossier_view', '/dossier_view/{nodossier}') - config.add_route('rdf_edit','/rdf_edit/{nodossier}') + config.add_route('rdf_edit','/rdf_edit/{nodossier}/{date_inter}') config.add_route('suivi_edit','/suivi_edit/{nodossier}/{nolig}') config.add_route('upload_doc', '/upload_doc/{nodossier}') # parametres diff --git a/mondumas/templates/dossier/dossier_view.pt b/mondumas/templates/dossier/dossier_view.pt index 5f4c5d1..d4d45ac 100644 --- a/mondumas/templates/dossier/dossier_view.pt +++ b/mondumas/templates/dossier/dossier_view.pt @@ -177,25 +177,27 @@

- + Nouvelle recherche

- +
- - + + - + - + + ${rapport.date_inter.strftime('%d-%m-%Y')} + + + - +
NuméroDateDate Interv.Date Rapport Chantier No sinistre Modif le
- ${rapport.nochantier} - ${rapport.DATE.strftime('%d-%m-%Y')}${rapport.date_rapport.strftime('%d-%m-%Y')} ${rapport.C_QUALITE} ${rapport.C_NOM} ${rapport.NOSIN}${rapport.modif_le.strftime('%d-%m-%Y')}${rapport.modif_le.strftime('%d-%m-%Y')} - ${rapport.auteur_code}
diff --git a/mondumas/templates/dossier/rdf_edit.pt b/mondumas/templates/dossier/rdf_edit.pt index fa59fbb..2e73c6b 100644 --- a/mondumas/templates/dossier/rdf_edit.pt +++ b/mondumas/templates/dossier/rdf_edit.pt @@ -35,6 +35,24 @@ data-fv-icon-invalid="glyphicon glyphicon-remove" data-fv-icon-validating="glyphicon glyphicon-refresh"> +
+ + + +
+
+ + + +
- +
- +
+
+ + +
+
+ + + +
+
+ + +
+
+ + +
+
+ + +
+
+ + + +
+
+ + +
+
+ + +
+ +

RAPPORT

+
+ + +

TRAVAUX relatifs à la DETECTION de la fuite

-
- - -
+
+ + + +
+
+ + + +
+
+ + + +
+
+ + + + +
+
+ +
+
+ + + + +
+
+ + +

TRAVAUX relatifs à la REPARATION de la fuite

-
- - -
+
+ + + +
+
+ + +
+ +

Constation de situation de blocage

+
+ + + +
+
+ + + +
+
+ + + +
+
+ + + +
+

PHOTOS

@@ -97,11 +273,14 @@

-
- -
-

${rapport.modif_le.strftime('%d-%m-%Y %H:%M')} par ${rapport.USERMAJ}

-
+
+

+ Date du rapport : ${rapport.modif_le.strftime('%d-%m-%Y')}
+ Etabli par ${rapport.auteur_nom} +

+
+
+

Signature du client

diff --git a/mondumas/views/dossier.py b/mondumas/views/dossier.py index 5f18db7..5e119bc 100644 --- a/mondumas/views/dossier.py +++ b/mondumas/views/dossier.py @@ -44,11 +44,11 @@ def dossier_lookup(request): goto_url = '/dossier_selected/dossier_view/%s/' % date.today().strftime('%Y-%m-%d') url = request.route_url('dossier_lookup') - message = u'' + message = '' societes = ['PE','ME','PL','PO','CD'] societe = 'PE' liste=[] - name = u'' + name = '' cb_tous = "non" if 'form.submitted' in request.params: @@ -62,7 +62,7 @@ def dossier_lookup(request): cb_tous = "non" chantiers = get_chantiers_byName(request, societe, name, False) if len(chantiers) == 0: - message = u"Chantier non trouvé : %s" % name + message = "Chantier non trouvé : %s" % name # construire la liste for item in chantiers: d = ('%s-%s' % (societe, item.numero),item.date.strftime('%d-%m-%Y'), item.nomcli, item.chantier, to_euro(item.montant), @@ -70,7 +70,7 @@ def dossier_lookup(request): liste.append(d) return { - 'page_title': u"Rechercher un chantier", + 'page_title': "Rechercher un chantier", 'url': url, 'goto_url': goto_url, 'message': message, @@ -103,9 +103,9 @@ def dossier_view(request): docs_attaches = get_docs_attaches(request, 'DOCS_ATTACHES', nodossier) if nodossier.startswith('PL'): # lire rapport de rdf - rapport = get_rapport_by_no(request, nodossier) + rapports = get_rapport_by_no(request, nodossier, '') else: - rapport = [] + rapports = [] # select background color according to society bg_color = "bg-%s" % societe @@ -114,7 +114,7 @@ def dossier_view(request): 'nodossier': nodossier, 'dossier': dossier, 'details': details, - 'rapport': rapport, + 'rapports': rapports, 'documents': documents, 'similaires': similaires, 'docs_attaches': docs_attaches, @@ -325,19 +325,25 @@ def upload_doc(request): def rdf_edit(request): logged_in = request.authenticated_userid.upper() nodossier = request.matchdict['nodossier'] - url = request.route_url('rdf_edit', nodossier=nodossier) + date_inter = request.matchdict['date_inter'] - # lire le rapport - rapport = get_rapport_by_no(request, nodossier) - if rapport == None: - # si non trouvé, creer un nouveau rapport + if date_inter == 'new': + # creer un nouveau rapport insert_rapport(request, nodossier, logged_in) - # lire le rapport - rapport = get_rapport_by_no(request, nodossier) - - caracteristiques = ["Maison individuelle", "Immeuble collectif", u"Copropriété", "Commerce", "Bureaux"] + date_inter = date.today().strftime('%Y-%m-%d') + + url = request.route_url('rdf_edit', nodossier=nodossier, date_inter=date_inter) + # lire le rapport + rapport = get_rapport_by_no(request, nodossier, date_inter) + + caracteristiques = ["Maison individuelle", "Immeuble collectif", "Copropriété", "Commerce", "Bureaux"] equipements = get_rdf_causes(request, 'C01') reseaux_int = get_rdf_causes(request, 'C02') + reseaux_ext = get_rdf_causes(request, 'C03') + reseaux_local = get_rdf_causes(request, 'C04') + elements_clos = get_rdf_causes(request, 'C05') + elements_couvert = get_rdf_causes(request, 'C06') + voisins = get_rdf_causes(request, 'C07') if 'form.submitted' in request.params: new_values = {} @@ -346,12 +352,12 @@ def rdf_edit(request): new_values[param] = request.params[param] if new_values: - update_rdf(request, nodossier, new_values) + update_rapport(request, nodossier, date_inter, new_values) request.session.flash(u"Le dossier a été mis à jour avec succès.", 'success') return HTTPFound(location=request.route_url('dossier_view', nodossier=nodossier)) return { - 'page_title': u"Modifier le rapport de RDF : %s" % nodossier, + 'page_title': "Rapport de RDF : %s du %s" % (nodossier, rapport.date_inter.strftime('%d-%m-%Y')), 'url': url, 'logged_in': logged_in, 'rapport': rapport, @@ -359,5 +365,10 @@ def rdf_edit(request): 'caracteristiques': caracteristiques, 'equipements': equipements, 'reseaux_int': reseaux_int, + 'reseaux_ext': reseaux_ext, + 'reseaux_local': reseaux_local, + 'elements_clos': elements_clos, + 'elements_couvert': elements_couvert, + 'voisins':voisins, }