.
diff --git a/mondumas/templates/dossier/upload_img.pt b/mondumas/templates/dossier/upload_img.pt
index 9d08e22..0a406ef 100644
--- a/mondumas/templates/dossier/upload_img.pt
+++ b/mondumas/templates/dossier/upload_img.pt
@@ -20,7 +20,7 @@
-
+
Retour au rapport
@@ -45,9 +45,11 @@
diff --git a/mondumas/views/dossier.py b/mondumas/views/dossier.py
index a5c24f2..aaa199e 100644
--- a/mondumas/views/dossier.py
+++ b/mondumas/views/dossier.py
@@ -122,7 +122,7 @@ def dossier_view(request):
# lire toutes les dossiers similaires
similaires = get_similaires_byChantier(request, dossier.societe, dossier.C_NOM, dossier.C_ADR, dossier.C_CP, dossier.C_VILLE)
# lire tous les documents attachés
- docs_attaches = get_docs_attaches(request, nodossier, 0, '')
+ docs_attaches = get_docs_attaches(request, nodossier, 0, 0, '')
if nodossier.startswith('PL'):
# lire rapport de rdf
rapports = get_rapport_by_no(request, nodossier, '')
@@ -205,6 +205,7 @@ def suivi_edit(request):
if nolig == '0':
# nouveau
suivi = {}
+ suivi['attached_text'] = ''
suivi['COMMENT'] = ''
suivi['USERMAJ'] = logged_in
suivi['DATEMAJ'] = datetime.now()
@@ -297,7 +298,7 @@ def upload_doc(request):
return HTTPFound(location=request.route_url("dossier_lookup"))
# lire tous les documents attachés
- docs_attaches = get_docs_attaches(request, nodossier, 0, '')
+ docs_attaches = get_docs_attaches(request, nodossier, 0, 0, '')
if 'form.submitted' in request.params:
# récupère le fichier download dans le dossier /tmp
@@ -311,11 +312,11 @@ def upload_doc(request):
# fabriquer le nom du document
filename = '%s-DD%s-%s' % (societe, nochantier, input_name)
- tempFile2Dossier(request, societe, nochantier, '0', temp_file, filename, logged_in)
+ tempFile2Dossier(request, societe, nochantier, '0', 0, temp_file, filename, logged_in)
request.session.flash('%s : Ce fichier est téléchargé avec succès.' % input_name, 'success')
# lire tous les documents attachés
- docs_attaches = get_docs_attaches(request, nodossier, 0, '')
+ docs_attaches = get_docs_attaches(request, nodossier, 0, 0, '')
return {
'page_title': "Télécharger un document",
@@ -328,30 +329,40 @@ def upload_doc(request):
@view_config(route_name='upload_img', renderer='../templates/dossier/upload_img.pt', permission='view')
def upload_img(request):
- def photos_size(photos):
- # calculer la taille totale des photos
- sum_size = 0
- for photo in photos :
- # récupère la taille sans ' Ko'
- sum_size += int(photo.taillefichier[:-3])
-
- return '%s Mo' % round(sum_size / 1024, 1)
+ # Paramètres d'appel :
+ # - gérer images d'un dossier : upload_img/nodossier/0
+ # - gérer images d'un rapport RDF : upload_img/norapport/nosection
+ nosection = request.matchdict['nosection']
+ # Gérer les photos d'un dossier (nosection=0) ?
+ if nosection == '0':
+ norapport = '0'
+ # oui, lire le dossier
+ nodossier = request.matchdict['norapport']
+ rapport = get_dossier_by_no(request, nodossier)
+ if rapport is None:
+ request.session.flash(u"Le dossier no %s est introuvable" % (norapport), 'danger')
+ return HTTPFound(location=request.route_url("rdf_list"))
+ societe = rapport.societe
+ nochantier = rapport.NO_ID
+ url = request.route_url("upload_img", norapport=nodossier, nosection=nosection)
+ url_retour = request.route_url('dossier_view', nodossier=nodossier)
+ titre = "Gérer les photos du dossier %s/%s" % (nodossier, nosection)
+ else:
+ norapport = request.matchdict['norapport']
+ rapport = get_rapport_by_no_id(request, norapport)
+ if rapport is None:
+ request.session.flash(u"Le rapport no %s est introuvable" % (norapport), 'danger')
+ return HTTPFound(location=request.route_url("rdf_list"))
+ societe = 'PL'
+ nochantier = rapport.nochantier
+ nodossier = '%s-%s' % (societe, nochantier)
+ url = request.route_url("upload_img", norapport=norapport, nosection=nosection)
+ url_retour = request.route_url('rdf_view', no_id=norapport)
+ titre = "Gérer les photos du rapport %s-%s/%s" % (societe, norapport, nosection)
logged_in = request.authenticated_userid.upper()
- norapport = request.matchdict['norapport']
-
- url = request.route_url("upload_img", norapport=norapport)
message = ""
- rapport = get_rapport_by_no_id(request, norapport)
- if rapport is None:
- request.session.flash(u"Le rapport no %s est introuvable" % (norapport), 'danger')
- return HTTPFound(location=request.route_url("rdf_list"))
-
- societe = rapport.societe
- nochantier = rapport.nochantier
- # lire tous les photos attachées
- photos = get_photos(request, nochantier, norapport)
if 'form.submitted' in request.params:
# récupère le fichier download dans le dossier /tmp
@@ -364,19 +375,22 @@ def upload_img(request):
return HTTPFound(location=url)
# fabriquer le nom du rapport
- filename = '%s-RDF%s-%s' % (societe, norapport, input_name)
- tempFile2Dossier(request, societe, nochantier, norapport, temp_file, filename, logged_in)
+ filename = '%s-DD%s-%s-%s' % (societe, nochantier, norapport, input_name)
+ tempFile2Dossier(request, societe, nochantier, norapport, nosection, temp_file, filename, logged_in)
request.session.flash('%s : Ce fichier est téléchargé avec succès.' % input_name, 'success')
- # lire tous les photos attachées
- photos = get_photos(request, nochantier, norapport)
+
+ # lire tous les photos attachées
+ photos = get_photos(request, nodossier, norapport, nosection)
return {
- 'page_title': "Gérer les photos",
+ 'page_title': titre,
'url': url,
+ 'url_retour': url_retour,
+ 'nodossier': nodossier,
'nochantier': nochantier,
'norapport': norapport,
- 'rapport': rapport,
+ 'nosection': nosection,
'photos': photos,
'total_size' : photos_size(photos),
'docs_url': request.static_url(request.registry.settings['mondumas.devfac_url']),
@@ -535,7 +549,8 @@ def rdf_view(request):
date_rapport = ''
# lire tous les photos attachées
- photos = get_photos(request, rapport.nochantier, norapport)
+ photos1 = get_photos(request, nodossier, norapport, 1)
+ photos2 = get_photos(request, nodossier, norapport, 2)
if 'form.generate' in request.params:
options = {
@@ -562,18 +577,19 @@ def rdf_view(request):
config = pdfkit.configuration(wkhtmltopdf="C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe")
pdfkit.from_url(origin, dest, configuration=config, options=options)
- insert_dossier_attaches(request, nodossier, 0, filename, '160 Ko', logged_in)
+ insert_dossier_attaches(request, nodossier, 0, 0, filename, '160 Ko', logged_in)
# si generation pdf, maj de la date du rapport
new_values = {}
new_values['date_rapport'] = date.today()
update_rapport(request, nodossier, rapport.date_inter.strftime('%Y-%m-%d'), new_values)
- request.session.flash(u"Le rapport a été génré avec succès.", 'success')
+ request.session.flash(u"Le rapport a été généré avec succès.", 'success')
return HTTPFound(location=request.route_url('dossier_view', nodossier=nodossier))
if 'form.validate' in request.params:
validate_rapport(request, norapport)
request.session.flash(u"Le rapporta été validé avec succès.", 'success')
+ return HTTPFound(location=request.route_url('dossier_view', nodossier=nodossier))
if 'form.delete' in request.params:
delete_rapport(request, norapport)
@@ -591,7 +607,8 @@ def rdf_view(request):
'norapport': norapport,
'date_rapport': date_rapport,
'date_relu': date_relu,
- 'photos': photos,
+ 'photos1': photos1,
+ 'photos2': photos2,
'docs_url': request.static_url(request.registry.settings['mondumas.devfac_url']),
}
@@ -614,7 +631,8 @@ def rdf_rapport(request):
date_relu = ''
# lire tous les photos attachées
- photos = get_photos(request, rapport.nochantier, norapport)
+ photos1 = get_photos(request, nodossier, norapport, 1)
+ photos2 = get_photos(request, nodossier, norapport, 2)
return {
'page_title': '',
@@ -626,25 +644,34 @@ def rdf_rapport(request):
'norapport': norapport,
'date_rapport': date_rapport,
'date_relu': date_relu,
- 'photos': photos,
+ 'photos1': photos1,
+ 'photos2': photos2,
'docs_url': request.static_url(request.registry.settings['mondumas.devfac_url']),
}
-@view_config(route_name='rdf_imgdel', permission='view')
-def rdf_imgdel(request):
+@view_config(route_name='delete_img', permission='view')
+def delete_img(request):
logged_in = request.authenticated_userid.upper()
- nochantier = request.matchdict['nochantier']
+ nodossier = request.matchdict['nodossier']
+ societe = nodossier[0:2]
+ nochantier = nodossier[3:]
norapport = request.matchdict['norapport']
+ nosection = request.matchdict['nosection']
nomfic = request.matchdict['nomfic']
+ if nosection == '0':
+ url_retour = location=request.route_url("upload_img", norapport=nodossier, nosection=nosection)
+ else:
+ url_retour = location=request.route_url("upload_img", norapport=norapport, nosection=nosection)
+
# supprimer le fichier
- file_path = '%s/PL/%s/%s/%s' % (request.registry.settings['mondumas.devfac_dir'], nochantier, norapport, nomfic)
+ file_path = '%s/%s/%s/%s/%s' % (request.registry.settings['mondumas.devfac_dir'], societe, nochantier, norapport, nomfic)
if os.path.exists(file_path):
os.remove(file_path)
- delete_photos(request, nochantier, norapport, nomfic)
+ delete_photos(request, nodossier, norapport, nosection, nomfic)
request.session.flash(u"La photo %s a été supprimé avec succès" % (nomfic), 'success')
- return HTTPFound(location=request.route_url("upload_img", norapport=norapport))
+ return HTTPFound(url_retour)
@view_config(route_name='rdf_bill', renderer='../templates/dossier/rdf_bill.pt', permission='view')
def rdf_bill(request):
@@ -780,17 +807,29 @@ def demandes(request):
# extraction OK ? oui, créer une dem_devis et récupèrer son no_id
if dem_info['c_nom'] != '':
+ # oui, rechercher la dem_devis concerné par le no de sinistre
nosin = dem_info['no_sinistre']
- nochantier = insert_dossier(request, societe, cd_cli, dem_info['c_nom'], dem_info['c_adr'], dem_info['c_adr2'], \
+ dem_devis = get_dossier_by_sinistre(request,societe, nosin)
+ if dem_devis:
+ # dem_devis existe, ajouter le PDF dans ce dossier
+ nochantier = dem_devis.NO_ID
+ nodossier = "%s-%s" % (societe, nochantier)
+ # 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))
+ 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'])
- nodossier = "%s-%s" % (societe, nochantier)
+ nodossier = "%s-%s" % (societe, nochantier)
+ # log de nuit
+ insert_log_nuit(request, 'GENERER', '--> CREER DOSSIER sinistre %s - MAIF : No %s' % (nosin, nodossier))
# récupère le nom du fichier et ajouter le no de dossier
filename = os.path.basename(temp_file_path)
filename = '%s-DD%s-%s' % (societe, nochantier, filename)
- tempFile2Dossier(request, societe, nochantier, '0', temp_file_path, filename, 'EMAIL')
- # log de nuit
- insert_log_nuit(request, 'GENERER', '--> CREER DOSSIER sinistre %s - MAIF : No %s' % (nosin, nodossier))
+ tempFile2Dossier(request, societe, nochantier, '0', 0, temp_file_path, filename, 'EMAIL')
traite = 1
else:
traite = 0
@@ -812,7 +851,7 @@ def demandes(request):
# récupère le nom du fichier et ajouter le no de dossier
filename = '%s-DD%s-%s' % (societe, dem_devis.NO_ID, 'ANNULATION.pdf')
- tempFile2Dossier(request, societe, dem_devis.NO_ID, '0', temp_file_path, filename, 'EMAIL')
+ tempFile2Dossier(request, societe, dem_devis.NO_ID, '0', 0, temp_file_path, filename, 'EMAIL')
# insérer une ligne de suivi ANNULATION
insert_suivi(request, nodossier, '!!MISSION ANNULEE PAR la MAIF')
# log de nuit
@@ -832,7 +871,7 @@ def demandes(request):
# récupère le nom du fichier et ajouter le no de dossier
filename = '%s-DD%s-%s' % (societe, dem_devis.NO_ID, 'ANNULATION.pdf')
- tempFile2Dossier(request, societe, dem_devis.NO_ID, '0', temp_file_path, filename, 'EMAIL')
+ tempFile2Dossier(request, societe, dem_devis.NO_ID, '0', 0, temp_file_path, filename, 'EMAIL')
# insérer une ligne de suivi ANNULATION
insert_suivi(request, nodossier, '!!MISSION ANNULEE PAR DOMUS')
# log de nuit
@@ -953,6 +992,8 @@ def demandes(request):
# messages lus
msglus = bool(liste)
+ # lire le log
+ log_creation = get_log_demandes(request)
return {
'page_title': "Liste des emails de demandes d'intervention",
@@ -960,6 +1001,7 @@ def demandes(request):
'dt_data': json.dumps(liste),
'msglus': msglus,
'message': message,
+ 'log_creation': log_creation,
}
@@ -993,7 +1035,7 @@ def downloadFile2Temp(input_file, input_name, ext_allowed):
return temp_file_path
-def tempFile2Dossier(request, societe, nochantier, norapport, temp_file, filename, logged_in):
+def tempFile2Dossier(request, societe, nochantier, norapport, nosection, temp_file, filename, logged_in):
# créer le répertoire du chantier
if norapport == '0':
path = '%s/%s/%s' % (request.registry.settings['mondumas.devfac_dir'], societe, nochantier)
@@ -1010,7 +1052,7 @@ def tempFile2Dossier(request, societe, nochantier, norapport, temp_file, filenam
shutil.move(temp_file, filepath)
filesize = round(os.path.getsize(filepath) / 1024)
- insert_dossier_attaches(request, '%s-%s' % (societe, nochantier), norapport, filename, '%s Ko' % str(filesize), logged_in)
+ insert_dossier_attaches(request, '%s-%s' % (societe, nochantier), norapport, nosection, filename, '%s Ko' % str(filesize), logged_in)
def download_pdf_to_tmp(email_message):
# downloading attachments
@@ -1212,3 +1254,12 @@ def resize_photos(image_file):
return
+def photos_size(photos):
+ # calculer la taille totale des photos
+ sum_size = 0
+ for photo in photos :
+ # récupère la taille sans ' Ko'
+ sum_size += int(photo.taillefichier[:-3])
+
+ return '%s Mo' % round(sum_size / 1024, 1)
+