diff --git a/mondumas/models/dossier.py b/mondumas/models/dossier.py index 015557f..0865676 100644 --- a/mondumas/models/dossier.py +++ b/mondumas/models/dossier.py @@ -301,11 +301,11 @@ def insert_facture_rdf(request, societe, nochantier, cd_cli, nomcli, user, ref, query = "CALL spINS_FACTURE_RDF(:societe, :nochantier, :cd_cli, :nomcli, :user, :ref, :date_rapport)" execute_query(request, query, {'societe': societe, 'nochantier': nochantier, 'cd_cli': cd_cli, 'nomcli': nomcli, 'user': user, 'ref': ref, 'date_rapport': date_rapport}) -def insert_dossier(request, societe, cd_cli, c_nom, c_adr, c_adr2, c_cp, c_ville, c_telp, nosin, c_obs, tx_trav): +def insert_dossier(request, societe, cd_cli, c_nom, c_adr, c_adr2, c_cp, c_ville, c_telp, c_email, nosin, c_obs, tx_trav): # créer une dem_devis selon l'email de l'OS - query = """CALL spINS_DEMANDES(:societe, :cd_cli, :c_nom, :c_adr, :c_adr2, :c_cp, :c_ville, :c_telp, 'MR', 6, :nosin, :c_obs, :tx_trav, :logged_in);""" + query = """CALL spINS_DEMANDES(:societe, :cd_cli, :c_nom, :c_adr, :c_adr2, :c_cp, :c_ville, :c_telp, :c_email, 'MR', 6, :nosin, :c_obs, :tx_trav, 'EMAIL');""" execute_query(request, query, {'societe': societe, 'cd_cli': cd_cli, 'c_nom': c_nom, 'c_adr': c_adr, 'c_adr2': c_adr2, 'c_cp': c_cp, - 'c_ville': c_ville,'c_telp': c_telp, 'nosin': nosin, 'c_obs': c_obs, 'tx_trav': tx_trav, 'logged_in': 'EMAIL'}) + 'c_ville': c_ville,'c_telp': c_telp, 'nosin': nosin, 'c_obs': c_obs, 'tx_trav': tx_trav, 'c_email': c_email}) query = "SELECT no_id FROM dem_devis WHERE societe = :societe AND date = curdate() AND cd_cli = :cd_cli ORDER BY no_id desc LIMIT 1;" results = request.dbsession.execute(query, {'societe': societe, 'cd_cli': cd_cli}).first() @@ -325,12 +325,13 @@ def get_experts(request, code_cab, code_exp): results = request.dbsession.execute(query, {'code_cab': code_cab, 'code_exp': code_exp}).first() return results -def insert_log_nuit(request, proc, msg): - query = "INSERT INTO t_log_nuit (proc,msg) VALUES (:proc, :msg);" - execute_query(request, query, {'proc': proc, 'msg': msg}) +def insert_log_nuit(request, proc, msg, nodossier): + query = "INSERT INTO t_log_nuit (proc,msg, nodossier) VALUES (:proc, :msg, :nodossier);" + execute_query(request, query, {'proc': proc, 'msg': msg, 'nodossier': nodossier}) def get_log_demandes(request, ): # lire le log de nuit - query = """SELECT * FROM t_log_nuit WHERE proc = 'GENERER';""" + query = """SELECT *, (SELECT usermaj FROM dem_devis WHERE societe=LEFT(nodossier,2) AND no_id=RIGHT(nodossier,6)) AS user + FROM t_log_nuit WHERE proc = 'GENERER';""" results = request.dbsession.execute(query, ) return results.fetchall() diff --git a/mondumas/templates/dossier/demandes.pt b/mondumas/templates/dossier/demandes.pt index 9fd2b56..841ab06 100644 --- a/mondumas/templates/dossier/demandes.pt +++ b/mondumas/templates/dossier/demandes.pt @@ -40,6 +40,8 @@ ${item.date.strftime('%d %b, %H:%M')} ${item.proc} ${item.msg} + ${item.nodossier} + ${item.user} diff --git a/mondumas/templates/dossier/dossier_view.pt b/mondumas/templates/dossier/dossier_view.pt index d0e167c..3c24586 100644 --- a/mondumas/templates/dossier/dossier_view.pt +++ b/mondumas/templates/dossier/dossier_view.pt @@ -30,8 +30,8 @@ ${dossier.C_ETAGE} - ${dossier.C_CODE}
- NON
- OUI
+ NON
+ OUI
${dossier.C_TEL1} - ${dossier.C_TEL2}
${dossier.C_TELP} - ${dossier.C_FAX} diff --git a/mondumas/views/dossier.py b/mondumas/views/dossier.py index e94e8b8..3215b8f 100644 --- a/mondumas/views/dossier.py +++ b/mondumas/views/dossier.py @@ -271,13 +271,14 @@ def dossier_edit(request): else: new_values['c_cp'] = cp[0] new_values['c_ville'] = cp[1] - + new_values['USERMAJ'] = logged_in.upper() + # ascenseur coché ? if 'ascenseur' in request.params: new_values['c_ascenseur'] = 1 else: new_values['c_ascenseur'] = 0 - + update_dossier(request, nodossier, 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)) @@ -873,14 +874,14 @@ def demandes(request): # insérer une ligne de suivi ANNULATION insert_suivi(request, nodossier, '!!MISSION MODIFIEE PAR la MAIF') # log de nuit - insert_log_nuit(request, 'GENERER', '--> MODIFIER DOSSIER sinistre %s - MAIF : No %s' % (nosin, nodossier)) + insert_log_nuit(request, 'GENERER', '--> MODIFIER DOSSIER sinistre %s' % nosin, nodossier) else: # dem_devis n'existe pas, creer nouveau dossier nochantier = insert_dossier(request, societe, cd_cli, dem_info['c_nom'], dem_info['c_adr'], dem_info['c_adr2'], \ - dem_info['c_cp'], dem_info['c_ville'], dem_info['c_telp'], nosin, dem_info['c_obs'], dem_info['tx_trav']) + dem_info['c_cp'], dem_info['c_ville'], dem_info['c_telp'], dem_info['c_email'], nosin, dem_info['c_obs'], dem_info['tx_trav']) nodossier = "%s-%s" % (societe, nochantier) # log de nuit - insert_log_nuit(request, 'GENERER', '--> CREER DOSSIER sinistre %s - MAIF : No %s' % (nosin, nodossier)) + insert_log_nuit(request, 'GENERER', '--> CREER DOSSIER sinistre %s' % nosin, nodossier) # récupère le nom du fichier et ajouter le no de dossier filename = os.path.basename(temp_file_path) @@ -897,7 +898,7 @@ def demandes(request): dem_info = get_pdf_infos1(extracted_file) # extraction OK ? oui, rechercher la dem_devis concerné - import pdb;pdb.set_trace() + # import pdb;pdb.set_trace() if dem_info['c_nom'] != '': # oui, rechercher la dem_devis concerné par le no de sinistre nosin = dem_info['no_sinistre'] @@ -911,7 +912,7 @@ def demandes(request): # insérer une ligne de suivi ANNULATION insert_suivi(request, nodossier, '!!MISSION ANNULEE PAR la MAIF') # log de nuit - insert_log_nuit(request, 'GENERER', '--> ANNULATION DOSSIER sinistre %s - MAIF : %s' % (nosin, nodossier)) + insert_log_nuit(request, 'GENERER', '--> ANNULATION DOSSIER sinistre %s - MAIF' % nosin, nodossier) traite = 1 else: traite = 0 @@ -919,7 +920,7 @@ def demandes(request): return traite def generer_annul_domus(request, societe, nosin, temp_file_path): - import pdb;pdb.set_trace() + # import pdb;pdb.set_trace() # oui, rechercher la dem_devis concerné par le no de sinistre dem_devis = get_dossier_by_sinistre(request,societe, nosin) if dem_devis: @@ -931,7 +932,7 @@ def demandes(request): # insérer une ligne de suivi ANNULATION insert_suivi(request, nodossier, '!!MISSION ANNULEE PAR DOMUS') # log de nuit - insert_log_nuit(request, 'GENERER','--> ANNULATION DOSSIER sinistre %s - DOMUS : %s' % (nosin, nodossier)) + insert_log_nuit(request, 'GENERER','--> ANNULATION DOSSIER sinistre %s - DOMUS' % nosin, nodossier) traite = 1 else: traite = 0 @@ -985,20 +986,20 @@ def demandes(request): # mission annulée ? if 'Objet : ANNULATION MISSION' in texte : # genere ANNULATION mission MAIF - import pdb;pdb.set_trace() + # import pdb;pdb.set_trace() n = generer_annul_maif(request, societe, extracted_file, temp_file_path) nbAnnules = nbAnnules + n # conn.store(num, '+FLAGS', r'(\Deleted)') elif 'ANNULATION ORDRE DE MISSION' in texte: # genere ANNULATION mission DOMUS nosin = str(body)[84:95] - import pdb;pdb.set_trace() + # import pdb;pdb.set_trace() n = generer_annul_domus(request, societe, nosin, temp_file_path) nbAnnules = nbAnnules + n # conn.store(num, '+FLAGS', r'(\Deleted)') else: # genere le dossier d'après le mail - import pdb;pdb.set_trace() + # import pdb;pdb.set_trace() n = generer_mission(request, societe, criteria, extracted_file, temp_file_path) nbCrees = nbCrees + n # marquer le message comme supprimé @@ -1030,7 +1031,7 @@ def demandes(request): nbCrees = 0 nbAnnules = 0 # log de nuit - insert_log_nuit(request, 'GENERER','- Début GENERATION des dossiers à partir des EMAILS') + insert_log_nuit(request, 'GENERER','- Début GENERATION des dossiers à partir des EMAILS', '') for societe in societes: nLus, nCrees, nAnnules = demandes_generer(request, societe, search_criteria) nbLus = nbLus + nLus @@ -1038,7 +1039,7 @@ def demandes(request): nbAnnules = nbAnnules + nAnnules # log de nuit - insert_log_nuit(request, 'GENERER','- Fin GENERATION : %s emails traités, %s dossiers créés, %s dossiers annulés' % (nbLus, nbCrees, nbAnnules)) + insert_log_nuit(request, 'GENERER','- Fin GENERATION : %s emails traités, %s dossiers créés, %s dossiers annulés' % (nbLus, nbCrees, nbAnnules), '') message = "%s emails ont été traités." % nbLus liste=[] @@ -1172,13 +1173,13 @@ def get_pdf_infos1(extracted_file): c_obs = '' tx_trav = '' c_telp = '' + c_email = '' while line: if line.find('Nos références') == 0: line = fp.readline() line = fp.readline() no_sinistre = line[:-1] if line.find('Bénéficiaire des travaux :') == 0: - import pdb;pdb.set_trace() elt = line[:-1].split(' :') if len(elt) == 1: # le nom du chantier est sur la ligne suivante @@ -1207,7 +1208,14 @@ def get_pdf_infos1(extracted_file): c_adr2 = '' if ' téléphone : ' in line: # les 10 derniers caratères - c_tel1 = line[-11:-1] + # import pdb;pdb.set_trace() + c_telp = line[-11:-1] + if 'E-mail : ' in line: + # séparer l'émail + # import pdb;pdb.set_trace() + elt = line[:-1].split(' : ') + if len(elt) == 2: + c_email = elt[1] if 'une franchise de ' in line: i1 = line.find('franchise de ') i2 = line.find(' € ') @@ -1228,6 +1236,7 @@ def get_pdf_infos1(extracted_file): 'c_ville': c_ville, 'c_telp': c_telp, 'c_obs': c_obs, + 'c_email': c_email, 'tx_trav': tx_trav, 'no_sinistre': no_sinistre, } @@ -1246,6 +1255,7 @@ def get_pdf_infos2(extracted_file): c_obs = '' tx_trav = '' c_telp = '' + c_email = '' while line: if line.find('SINISTRE N°') == 0: line = fp.readline() @@ -1286,6 +1296,7 @@ def get_pdf_infos2(extracted_file): 'c_cp': c_cp[:5], 'c_ville': c_ville, 'c_telp': c_telp, + 'c_email': c_email, 'c_obs': c_obs, 'tx_trav': tx_trav, 'no_sinistre': no_sinistre,