tester création dem_devis à partir d'un email
This commit is contained in:
@@ -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})
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user