mise au point creation rdf
This commit is contained in:
@@ -100,7 +100,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)
|
||||
docs_attaches = get_docs_attaches(request, nodossier, 0, '')
|
||||
if nodossier.startswith('PL'):
|
||||
# lire rapport de rdf
|
||||
rapports = get_rapport_by_no(request, nodossier, '')
|
||||
@@ -271,7 +271,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)
|
||||
docs_attaches = get_docs_attaches(request, nodossier, 0, '')
|
||||
|
||||
if 'form.submitted' in request.params:
|
||||
# récupère le fichier lui-même
|
||||
@@ -290,37 +290,34 @@ def upload_doc(request):
|
||||
filename = '%s-DD%s-%s' % (societe, nochantier, request.POST['filename'].filename)
|
||||
# créer le répertoire du chantier s'il n'existe pas encore
|
||||
path = '%s/%s/%s' % (request.registry.settings['mondumas.devfac_dir'],societe,nochantier)
|
||||
try:
|
||||
os.mkdir(path)
|
||||
except OSError:
|
||||
pass # ignorer erreor si déjà créé
|
||||
finally:
|
||||
file_path = os.path.join(path, filename)
|
||||
# We first write to a temporary file to prevent incomplete files
|
||||
temp_file_path = file_path + '~'
|
||||
os.makedirs(path, exist_ok=True)
|
||||
|
||||
# Finally write the data to a temporary file
|
||||
input_file.seek(0)
|
||||
with open(temp_file_path, 'wb') as output_file:
|
||||
shutil.copyfileobj(input_file, output_file)
|
||||
|
||||
# controler la taille du fichier < 2 Mo
|
||||
filesize = round(os.path.getsize(temp_file_path) / 1024)
|
||||
if filesize > 2048 :
|
||||
os.remove(temp_file_path)
|
||||
request.session.flash("La taille de ce fichier dépasse la limite autorisée. Téléchargement impossible.", 'warning')
|
||||
else:
|
||||
# Now that we know the file has been fully saved to disk move it into place.
|
||||
try:
|
||||
os.rename(temp_file_path, file_path)
|
||||
except OSError:
|
||||
os.remove(temp_file_path)
|
||||
request.session.flash('%s : Ce fichier existe déjà dans le rapport.' % input_name, 'danger')
|
||||
else:
|
||||
insert_dossier_attaches(request, nodossier, 0, filename, '%s Ko' % str(filesize), 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)
|
||||
file_path = os.path.join(path, filename)
|
||||
# We first write to a temporary file to prevent incomplete files
|
||||
temp_file_path = file_path + '~'
|
||||
|
||||
# Finally write the data to a temporary file
|
||||
input_file.seek(0)
|
||||
with open(temp_file_path, 'wb') as output_file:
|
||||
shutil.copyfileobj(input_file, output_file)
|
||||
|
||||
# controler la taille du fichier < 2 Mo
|
||||
filesize = round(os.path.getsize(temp_file_path) / 1024)
|
||||
if filesize > 2048 :
|
||||
os.remove(temp_file_path)
|
||||
request.session.flash("La taille de ce fichier dépasse la limite autorisée. Téléchargement impossible.", 'warning')
|
||||
else:
|
||||
# Now that we know the file has been fully saved to disk move it into place.
|
||||
try:
|
||||
os.rename(temp_file_path, file_path)
|
||||
except OSError:
|
||||
os.remove(temp_file_path)
|
||||
request.session.flash('%s : Ce fichier existe déjà dans le rapport.' % input_name, 'danger')
|
||||
else:
|
||||
insert_dossier_attaches(request, nodossier, 0, filename, '%s Ko' % str(filesize), 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, '')
|
||||
|
||||
return {
|
||||
'page_title': u"Télécharger un document",
|
||||
@@ -367,37 +364,34 @@ def upload_img(request):
|
||||
|
||||
# créer le répertoire du chantier s'il n'existe pas encore
|
||||
path = '%s/%s/%s/%s' % (request.registry.settings['mondumas.devfac_dir'], societe, nochantier, norapport)
|
||||
try:
|
||||
os.makedirs(path)
|
||||
except OSError:
|
||||
pass # ignorer erreor si déjà créé
|
||||
finally:
|
||||
file_path = os.path.join('%s/%s' % (path, filename))
|
||||
# We first write to a temporary file to prevent incomplete files
|
||||
temp_file_path = file_path + '~'
|
||||
|
||||
# Finally write the data to a temporary file
|
||||
input_file.seek(0)
|
||||
with open(temp_file_path, 'wb') as output_file:
|
||||
shutil.copyfileobj(input_file, output_file)
|
||||
|
||||
# controler la taille du fichier < 2 Mo
|
||||
filesize = round(os.path.getsize(temp_file_path) / 1024)
|
||||
if filesize > 2048 :
|
||||
os.remove(temp_file_path)
|
||||
request.session.flash("La taille de ce fichier dépasse la limite autorisée. Téléchargement impossible.", 'warning')
|
||||
else:
|
||||
# Now that we know the file has been fully saved to disk move it into place.
|
||||
try:
|
||||
os.rename(temp_file_path, file_path)
|
||||
except OSError:
|
||||
os.remove(temp_file_path)
|
||||
request.session.flash('%s : Ce fichier existe déjà dans le rapport.' % input_name, 'danger')
|
||||
else:
|
||||
insert_dossier_attaches(request, 'PL-%s' % nochantier, norapport, filename, '%s Ko' % str(filesize), 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)
|
||||
os.makedirs(path, exist_ok=True)
|
||||
|
||||
file_path = os.path.join('%s/%s' % (path, filename))
|
||||
# We first write to a temporary file to prevent incomplete files
|
||||
temp_file_path = file_path + '~'
|
||||
|
||||
# Finally write the data to a temporary file
|
||||
input_file.seek(0)
|
||||
with open(temp_file_path, 'wb') as output_file:
|
||||
shutil.copyfileobj(input_file, output_file)
|
||||
|
||||
# controler la taille du fichier < 2 Mo
|
||||
filesize = round(os.path.getsize(temp_file_path) / 1024)
|
||||
if filesize > 2048 :
|
||||
os.remove(temp_file_path)
|
||||
request.session.flash("La taille de ce fichier dépasse la limite autorisée. Téléchargement impossible.", 'warning')
|
||||
else:
|
||||
# Now that we know the file has been fully saved to disk move it into place.
|
||||
try:
|
||||
os.rename(temp_file_path, file_path)
|
||||
except OSError:
|
||||
os.remove(temp_file_path)
|
||||
request.session.flash('%s : Ce fichier existe déjà dans le rapport.' % input_name, 'danger')
|
||||
else:
|
||||
insert_dossier_attaches(request, 'PL-%s' % nochantier, norapport, filename, '%s Ko' % str(filesize), 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)
|
||||
|
||||
return {
|
||||
'page_title': u"Télécharger une photo",
|
||||
@@ -421,9 +415,8 @@ def rdf_edit(request):
|
||||
if not rapport:
|
||||
# creer un nouveau rapport
|
||||
insert_rapport(request, nodossier, logged_in)
|
||||
else:
|
||||
# lire le rapport
|
||||
rapport = get_rapport_by_no(request, nodossier, date_inter)
|
||||
# lire le rapport
|
||||
rapport = get_rapport_by_no(request, nodossier, date_inter)
|
||||
url = request.route_url('rdf_edit', nodossier=nodossier, date_inter=date_inter)
|
||||
|
||||
caracteristiques = ["Maison individuelle", "Immeuble collectif", "Copropriété", "Commerce", "Bureaux"]
|
||||
@@ -524,7 +517,7 @@ def rdf_list(request):
|
||||
else:
|
||||
date_rapport = ''
|
||||
|
||||
d = (item.nochantier, item.date_inter.strftime('%d-%m-%Y'), '', '%s %s' % (item.C_QUALITE, item.C_NOM), item.NOMCLI, item.NOSIN,
|
||||
d = (item.nochantier, item.date_inter.strftime('%d-%m-%Y'), date_rapport, '%s %s' % (item.C_QUALITE, item.C_NOM), item.NOMCLI, item.NOSIN,
|
||||
item.auteur_code, item.no_id)
|
||||
liste.append(d)
|
||||
|
||||
@@ -542,17 +535,15 @@ def rdf_view(request):
|
||||
# lire le rapport
|
||||
rapport = get_rapport_by_no_id(request, norapport)
|
||||
nodossier = 'PL-' + str(rapport.nochantier)
|
||||
|
||||
if rapport.date_rapport:
|
||||
date_rapport = rapport.date_rapport.strftime('%d-%m-%Y')
|
||||
else:
|
||||
date_rapport = ''
|
||||
|
||||
# lire tous les photos attachées
|
||||
photos = get_photos(request, rapport.nochantier, norapport)
|
||||
|
||||
if 'form.generate' in request.params:
|
||||
# génère la page rapport
|
||||
result = rdf_rapport(request)
|
||||
result['main_template'] = get_renderer('../templates/layouts/pdf.pt').implementation()
|
||||
htmlcontent = render('../templates/dossier/rdf_rapport.pt', result, request)
|
||||
htmlcontent = htmlcontent.encode('iso8859-15')
|
||||
|
||||
if 'form.generate' in request.params:
|
||||
options = {
|
||||
'page-size': 'A4',
|
||||
'margin-top': '0.75in',
|
||||
@@ -561,6 +552,9 @@ def rdf_view(request):
|
||||
'margin-left': '0.75in',
|
||||
}
|
||||
|
||||
# créer le répertoire du rapport s'il n'existe pas encore
|
||||
path = '%s/%s/%s/%s' % (request.registry.settings['mondumas.devfac_dir'], 'PL', rapport.nochantier, norapport)
|
||||
os.makedirs(path, exist_ok=True)
|
||||
# générer le rapport en PDF
|
||||
filename = "PL-DD%s-rapport RDF no %s.PDF" % (str(rapport.nochantier), norapport)
|
||||
dest = "mondumas/static/DEVFAC/DOCS_ATTACHES/PL/%s/%s" % (str(rapport.nochantier), filename)
|
||||
@@ -568,13 +562,16 @@ def rdf_view(request):
|
||||
config = pdfkit.configuration(wkhtmltopdf="C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe")
|
||||
try:
|
||||
pdfkit.from_url(origin, dest, configuration=config, options=options)
|
||||
# pdfkit.from_string(htmlcontent, dest, configuration=config)
|
||||
except:
|
||||
request.session.flash(u"Une erreur est survenue pendant la génération du PDF.", 'danger')
|
||||
return HTTPFound(location=request.route_url('rdf_view', no_id=norapport))
|
||||
else:
|
||||
insert_dossier_attaches(request, nodossier, 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')
|
||||
return HTTPFound(location=request.route_url('dossier_view', nodossier=nodossier))
|
||||
|
||||
@@ -586,6 +583,7 @@ def rdf_view(request):
|
||||
'nodossier': nodossier,
|
||||
'nochantier': rapport.nochantier,
|
||||
'norapport': norapport,
|
||||
'date_rapport': date_rapport,
|
||||
'photos': photos,
|
||||
'docs_url': request.static_url(request.registry.settings['mondumas.devfac_url']),
|
||||
}
|
||||
@@ -593,20 +591,25 @@ def rdf_view(request):
|
||||
@view_config(route_name='rdf_rapport', renderer='../templates/dossier/rdf_rapport.pt')
|
||||
def rdf_rapport(request):
|
||||
norapport = request.matchdict['no_id']
|
||||
|
||||
|
||||
# lire le rapport
|
||||
rapport = get_rapport_by_no_id(request, norapport)
|
||||
nodossier = 'PL-' + str(rapport.nochantier)
|
||||
if rapport.date_rapport:
|
||||
date_rapport = rapport.date_rapport.strftime('%d-%m-%Y')
|
||||
else:
|
||||
date_rapport = ''
|
||||
|
||||
# lire tous les photos attachées
|
||||
photos = get_photos(request, rapport.nochantier, norapport)
|
||||
|
||||
|
||||
return {
|
||||
'page_title': '',
|
||||
'rapport': rapport,
|
||||
'nodossier': nodossier,
|
||||
'nochantier': rapport.nochantier,
|
||||
'norapport': norapport,
|
||||
'date_rapport': date_rapport,
|
||||
'photos': photos,
|
||||
'docs_url': request.static_url(request.registry.settings['mondumas.devfac_url']),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user