From ea51d84ca299380085917891fb798e60ac3caf27 Mon Sep 17 00:00:00 2001 From: Phuoc CAO Date: Fri, 2 Aug 2019 18:32:57 +0200 Subject: [PATCH] =?UTF-8?q?tester=20cr=C3=A9ation=20dem=5Fdevis=20=C3=A0?= =?UTF-8?q?=20partir=20d'un=20email?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mondumas/models/dossier.py | 13 +++++++++++++ mondumas/views/dossier.py | 26 ++++++++++++++------------ 2 files changed, 27 insertions(+), 12 deletions(-) diff --git a/mondumas/models/dossier.py b/mondumas/models/dossier.py index 23d7517..6dae95e 100644 --- a/mondumas/models/dossier.py +++ b/mondumas/models/dossier.py @@ -258,3 +258,16 @@ def insert_facture_rdf(request, societe, nochantier, user, ref, date_rapport): query = "CALL spINS_FACTURE_RDF(:societe, :nochantier, :user, :ref, :date_rapport)" execute_query(request, query, {'societe': societe, 'nochantier': nochantier, 'user': user, 'ref': ref, 'date_rapport': date_rapport}) +def insert_dossier(request, mbx_name, mbx_search, logged_in, c_nom, c_adr, c_cp, c_ville, c_tel1, nosin): + # créer une dem_devis selon l'email de l'OS + societe = mbx_name[0:2].upper() + if 'maif.fr' in mbx_search: + cd_cli = 2813 + cabinet = 290 + elif 'domus-services.fr' in mbx_search: + cd_cli = 8991 + cabinet = 289 + + query = """CALL spINS_DEMANDES(:societe, :cd_cli, :c_nom, :c_adr, '', :c_cp, :c_ville, :c_tel1, 'MR', :cabinet, 6, :nosin, :logged_in);""" + execute_query(request, query, {'societe': societe, 'cd_cli': cd_cli, 'c_nom': c_nom, 'c_adr': c_adr, 'c_cp': c_cp, 'c_ville': c_ville, + 'c_tel1': c_tel1, 'cabinet': cabinet, 'nosin': nosin, 'logged_in': logged_in}) diff --git a/mondumas/views/dossier.py b/mondumas/views/dossier.py index a40b6c8..8e3e09a 100644 --- a/mondumas/views/dossier.py +++ b/mondumas/views/dossier.py @@ -723,6 +723,7 @@ def rdf_bill(request): @view_config(route_name='demandes', renderer='../templates/dossier/demandes.pt', permission='view') def demandes(request): + logged_in = request.authenticated_userid.upper() url = request.route_url('demandes') # lire les demandes d'interventions arrivées par email @@ -743,7 +744,7 @@ def demandes(request): # lire demandes de la MAIF mbx_search = 'FROM gestionsinistre@maif.fr SUBJECT "Missionnement r"' if 'form.submitted' in request.params: - demandes_generer(conn, mbx_name, mbx_search, liste) + demandes_generer(request, conn, mbx_name, mbx_search, liste, logged_in) demandes_afficher(conn, mbx_name, mbx_search, liste) # lire demandes de DOMUS @@ -787,7 +788,7 @@ def demandes_afficher(conn, mbx_name, search_criteria, liste): liste.append(d) return liste -def demandes_generer(conn, mbx_name, search_criteria, liste): +def demandes_generer(request, conn, mbx_name, mbx_search, liste, logged_in): def download_pdf_to_tmp(email_message): # downloading attachments @@ -837,7 +838,7 @@ def demandes_generer(conn, mbx_name, search_criteria, liste): return extracted_text, extracted_file - def generer_dossier(mbx_name, filepath): + def generer_dossier(request, mbx_name, mbx_search, filepath, logged_in): # parcourir les lignes pour retrouver les infos utiles with open(filepath) as fp: cnt = 1 @@ -849,28 +850,30 @@ def demandes_generer(conn, mbx_name, search_criteria, liste): no_sinistre = line[:-1] if line.find('Bénéficiaire des travaux :') == 0: elt = line.split(' : ') - nom = elt[1][:-1] + c_nom = elt[1][:-1] line = fp.readline() line = fp.readline() line = fp.readline() - adr = line[:-1] + c_adr = line[:-1] line = fp.readline() - cp = line[0:5] - ville = line[6:-1] + c_cp = line[0:5] + c_ville = line[6:-1] if line.find('N° de téléphone :') == 0: # les 10 derniers caratères - tel = line[-11:-1] + c_tel1 = line[-11:-1] # lire ligne suivante line = fp.readline() cnt += 1 + # créer un dem_devis + insert_dossier(request, mbx_name, mbx_search, logged_in, c_nom, c_adr, c_cp, c_ville, c_tel1, no_sinistre) import pdb;pdb.set_trace() - + return # rechercher les emails de demandes dans le INBOX - rv, data = conn.search(None, search_criteria) + rv, data = conn.search(None, mbx_search) if rv != 'OK': request.session.flash("ERREUR de lecture de la boîte de réception", 'danger') return HTTPFound(location=request.route_url('home')) @@ -901,7 +904,6 @@ def demandes_generer(conn, mbx_name, search_criteria, liste): os.remove(filePath) else: # genere le dossier d'après - generer_dossier(mbx_name, extracted_file) - + generer_dossier(request, mbx_name, mbx_search, extracted_file, logged_in) return