ajout de rdf_view.pt + upload_img.pt

This commit is contained in:
2019-03-19 16:31:20 +01:00
parent fbbb087fb9
commit 84357ce48d
10 changed files with 150 additions and 108 deletions

View File

@@ -23,7 +23,7 @@ sqlalchemy.url = mysql://phuoc:phuoc!@localhost/bddevfac?charset=utf8
# sqlalchemy.url = mysql://root:cni/@srvbd/bddevfac?charset=utf8 # sqlalchemy.url = mysql://root:cni/@srvbd/bddevfac?charset=utf8
mondumas.admin_email = ctphuoc@bbox.fr mondumas.admin_email = ctphuoc@bbox.fr
mondumas.devfac_url = mondumas:static/img/DEVFAC14/ mondumas.devfac_url = mondumas:static/img/DEVFAC/
mondumas.devfac_dir = /DEVFAC14/DOCS_ATTACHES mondumas.devfac_dir = /DEVFAC14/DOCS_ATTACHES
# Mailer configuration # Mailer configuration

View File

@@ -136,15 +136,23 @@ def get_devis_lig_by_no(request,nodossier):
results = request.dbsession.execute(query, {'societe': societe, 'no_id': no_id}).fetchall() results = request.dbsession.execute(query, {'societe': societe, 'no_id': no_id}).fetchall()
return results return results
def get_docs_attaches(request, nomrep, nodossier): def get_docs_attaches(request, nodossier):
societe = nodossier[0:2] societe = nodossier[0:2]
nochantier = int(nodossier[3:]) nochantier = int(nodossier[3:])
query = "SELECT * FROM dossier_attaches WHERE nomrep = :nomrep AND societe = :societe AND nochantier = :nochantier ORDER BY cree_le;" query = "SELECT * FROM dossier_attaches WHERE nomrep = 'DOCS_ATTACHES' AND societe = :societe AND nochantier = :nochantier ORDER BY cree_le;"
results = request.dbsession.execute(query, {'nomrep': nomrep, 'societe': societe, 'nochantier': nochantier}).fetchall() results = request.dbsession.execute(query, {'societe': societe, 'nochantier': nochantier}).fetchall()
return results return results
def get_photos(request, nochantier, norapport):
query = "SELECT * FROM dossier_attaches WHERE nomrep = 'DOCS_ATTACHES' AND societe = 'PL' AND nochantier = :nochantier AND nodossier = :norapport ORDER BY cree_le;"
results = request.dbsession.execute(query, {'nochantier': nochantier, 'norapport': norapport}).fetchall()
return results
def update_dossier(request, nodossier, new_values): def update_dossier(request, nodossier, new_values):
societe = nodossier[0:2] societe = nodossier[0:2]
nochantier = int(nodossier[3:]) nochantier = int(nodossier[3:])
@@ -160,14 +168,14 @@ def update_dossier(request, nodossier, new_values):
query = "UPDATE dem_devis SET %s WHERE societe=:societe AND no_id=:nochantier" % s query = "UPDATE dem_devis SET %s WHERE societe=:societe AND no_id=:nochantier" % s
execute_query(request, query, new_values) execute_query(request, query, new_values)
def insert_dossier_attaches(request, nodossier, filename, filesize, user): def insert_dossier_attaches(request, nodossier, norapport, filename, filesize, user):
societe = nodossier[0:2] societe = nodossier[0:2]
nochantier = int(nodossier[3:]) nochantier = int(nodossier[3:])
# enregistrer dans la table dossier_attaches # enregistrer dans la table dossier_attaches
query = """INSERT INTO dossier_attaches (nomrep, societe, nochantier, nomfichier, taillefichier, cree_le, usermaj) query = """INSERT INTO dossier_attaches (nomrep, societe, nochantier, nodossier, nomfichier, taillefichier, cree_le, usermaj)
VALUES('DOCS_ATTACHES',:societe,:nochantier,:filename,:filesize,NOW(),:user);""" VALUES('DOCS_ATTACHES',:societe,:nochantier,:norapport,:filename,:filesize,NOW(),:user);"""
execute_query(request, query, {'societe': societe, 'nochantier': nochantier, 'filename': filename, 'filesize': filesize, 'user': user}) execute_query(request, query, {'societe': societe, 'nochantier': nochantier, 'norapport': norapport, 'filename': filename, 'filesize': filesize, 'user': user})
def get_rapport_by_no(request,nodossier,date_inter): def get_rapport_by_no(request,nodossier,date_inter):
societe = nodossier[0:2] societe = nodossier[0:2]

View File

@@ -23,7 +23,7 @@ def includeme(config):
config.add_route('rdf_view','/rdf_view/{no_id}') config.add_route('rdf_view','/rdf_view/{no_id}')
config.add_route('suivi_edit','/suivi_edit/{nodossier}/{nolig}') config.add_route('suivi_edit','/suivi_edit/{nodossier}/{nolig}')
config.add_route('upload_doc', '/upload_doc/{nodossier}') config.add_route('upload_doc', '/upload_doc/{nodossier}')
config.add_route('upload_img', '/upload_img/{nodossier}') config.add_route('upload_img', '/upload_img/{norapport}')
# parametres # parametres
config.add_route('parametres', '/parametres') config.add_route('parametres', '/parametres')
config.add_route('connecter_a', '/connecter_a/{login}') config.add_route('connecter_a', '/connecter_a/{login}')

View File

@@ -256,9 +256,9 @@
<li> <li>
<span class="glyphicon glyphicon-file" tal:condition="detail.nomfichier[-3:]=='pdf'"></span> <span class="glyphicon glyphicon-file" tal:condition="detail.nomfichier[-3:]=='pdf'"></span>
<span class="glyphicon glyphicon-picture" tal:condition="detail.nomfichier[-3:]=='jpg'"></span> <span class="glyphicon glyphicon-picture" tal:condition="detail.nomfichier[-3:]=='jpg'"></span>
<a href="${docs_url}${detail.nomrep}/${detail.societe}/${detail.nomfichier}" <a href="${docs_url}${detail.nomrep}/${detail.societe}/${detail.nochantier}/${detail.nomfichier}"
target="popup" target="popup"
onclick="window.open('${docs_url}${detail.nomrep}/${detail.societe}/${detail.nomfichier},'popup','width=900,height=768'); return false;"> onclick="window.open('${docs_url}${detail.nomrep}/${detail.societe}/${detail.nochantier}/${detail.nomfichier},'popup','width=900,height=768'); return false;">
${detail.nomfichier} ${detail.nomfichier}
</a> </a>
&nbsp;-&nbsp;crée le ${detail.cree_le.strftime('%d-%m-%Y')}&nbsp;par&nbsp;${detail.usermaj} &nbsp;-&nbsp;crée le ${detail.cree_le.strftime('%d-%m-%Y')}&nbsp;par&nbsp;${detail.usermaj}

View File

@@ -249,10 +249,16 @@
<br /> <br />
<h4 class="text-center text-primary">PHOTOS</h4> <h4 class="text-center text-primary">PHOTOS</h4>
<p> <p>
<a href="${request.application_url}/upload_img/${nodossier}" class="btn btn-success" role="button"> <a href="${request.application_url}/upload_img/${norapport}" class="btn btn-success" role="button">
<span class="glyphicon glyphicon-cloud-upload"></span>&nbsp;Ajouter une photo</a> <span class="glyphicon glyphicon-cloud-upload"></span>&nbsp;Ajouter une photo</a>
</p> </p>
<div class="fotorama" data-nav="thumbs">
<div tal:repeat="detail photos">
<img src="${docs_url}${detail.nomrep}/${detail.societe}/${nochantier}/${norapport}/${detail.nomfichier}"
data-caption="${detail.nomfichier}" align="center" />
</div>
</div>
<br />
<h4 class="text-center text-primary">CONCLUSIONS</h4> <h4 class="text-center text-primary">CONCLUSIONS</h4>
<div class="form-group"> <div class="form-group">
<br />&nbsp;&nbsp;&nbsp;${rapport.conclusions} <br />&nbsp;&nbsp;&nbsp;${rapport.conclusions}

View File

@@ -15,7 +15,7 @@
</div> </div>
<div class="form-group"> <div class="form-group">
<a class="btn btn-default" href="${request.route_url('dossier_view', nodossier=nodossier)}"> <a class="btn btn-default" href="${request.route_url('dossier_view', nodossier=nodossier)}">
<span class="glyphicon glyphicon-arrow-left"></span> Retiur au dossier</a> <span class="glyphicon glyphicon-arrow-left"></span> Retour au dossier</a>
<button id="uploadButton" class="btn btn-primary" type="submit" name="form.submitted"> <button id="uploadButton" class="btn btn-primary" type="submit" name="form.submitted">
<i class="glyphicon glyphicon-refresh"></i> Télécharger</button> <i class="glyphicon glyphicon-refresh"></i> Télécharger</button>
</div> </div>
@@ -33,9 +33,9 @@
<li> <li>
<span class="glyphicon glyphicon-file" tal:condition="detail.nomfichier[-3:]=='pdf'"></span> <span class="glyphicon glyphicon-file" tal:condition="detail.nomfichier[-3:]=='pdf'"></span>
<span class="glyphicon glyphicon-picture" tal:condition="detail.nomfichier[-3:]=='jpg'"></span> <span class="glyphicon glyphicon-picture" tal:condition="detail.nomfichier[-3:]=='jpg'"></span>
<a href="${docs_url}${detail.nomrep}/${detail.societe}/${detail.nomfichier}" <a href="${docs_url}${detail.nomrep}/${detail.societe}/${detail.nochantier}/${detail.nomfichier}"
target="popup" target="popup"
onclick="window.open('${docs_url}${detail.nomrep}/${detail.societe}/${detail.nomfichier},'popup','width=900,height=768'); return false;"> onclick="window.open('${docs_url}${detail.nomrep}/${detail.societe}/${detail.nochantier}/${detail.nomfichier},'popup','width=900,height=768'); return false;">
${detail.nomfichier} ${detail.nomfichier}
</a> </a>
&nbsp;-&nbsp;crée le ${detail.cree_le.strftime('%d-%m-%Y')}&nbsp;par&nbsp;${detail.usermaj} &nbsp;-&nbsp;crée le ${detail.cree_le.strftime('%d-%m-%Y')}&nbsp;par&nbsp;${detail.usermaj}

View File

@@ -14,41 +14,37 @@
<input id="uploadfile" name="filename" type="file" value="" required /> <input id="uploadfile" name="filename" type="file" value="" required />
</div> </div>
<div class="form-group"> <div class="form-group">
<a class="btn btn-default" href="${request.route_url('dossier_view', nodossier=nodossier)}"> <a class="btn btn-default" href="${request.route_url('rdf_view', no_id=norapport)}">
<span class="glyphicon glyphicon-arrow-left"></span> Retiur au dossier</a> <span class="glyphicon glyphicon-arrow-left"></span> Retour au rapport</a>
<button id="uploadButton" class="btn btn-primary" type="submit" name="form.submitted"> <button id="uploadButton" class="btn btn-primary" type="submit" name="form.submitted">
<i class="glyphicon glyphicon-refresh"></i> Télécharger</button> <i class="glyphicon glyphicon-refresh"></i> Télécharger</button>
</div> </div>
</form> </form>
</div> <!-- row -->
<div class="row">
<ul> <ul>
<li>Seuls les documents au format <b>PDF, PNG, JPG ou JPEG</b> seront acceptés.</li> <li>Seuls les documents au format <b>PNG, JPG ou JPEG</b> seront acceptés.</li>
<li>La taille de chaque document ne doit <b>pas dépasser 4 Mo</b>.</li> <li>La taille de chaque document ne doit <b>pas dépasser 2 Mo</b>.</li>
</ul> </ul>
</div> <!-- row --> </div> <!-- row -->
<h3>Documents déjà téléchargés dans le dossier</h3> <h3>Photos déjà téléchargées</h3>
<ul> <div class="fotorama" data-nav="thumbs">
<div tal:repeat="detail docs_attaches"> <div tal:repeat="detail photos">
<li> <img src="${docs_url}${detail.nomrep}/${detail.societe}/${nochantier}/${norapport}/${detail.nomfichier}"
<span class="glyphicon glyphicon-file" tal:condition="detail.nomfichier[-3:]=='pdf'"></span> data-caption="${detail.nomfichier}" align="center" />
<span class="glyphicon glyphicon-picture" tal:condition="detail.nomfichier[-3:]=='jpg'"></span> </div>
<a href="${docs_url}${detail.nomrep}/${detail.societe}/${detail.nomfichier}"
target="popup"
onclick="window.open('${docs_url}${detail.nomrep}/${detail.societe}/${detail.nomfichier},'popup','width=900,height=768'); return false;">
${detail.nomfichier}
</a>
&nbsp;-&nbsp;crée le ${detail.cree_le.strftime('%d-%m-%Y')}&nbsp;par&nbsp;${detail.usermaj}
</li>
</div> </div>
</ul>
<script type="text/javascript"> <script type="text/javascript">
$('#uploadButton').on('click', function(){ $('#uploadButton').on('click', function(){
$('i.gly-spin').removeClass('gly-spin'); $('i.gly-spin').removeClass('gly-spin');
$('i').addClass('gly-spin'); $('i').addClass('gly-spin');
}); });
</script> $(function () {
$('.fotorama').fotorama();
});
</script>
</div> </div>
</metal:block> </metal:block>

View File

@@ -42,6 +42,9 @@
<script src="${request.static_url('mondumas:static/dist/formvalidation/js/language/fr_FR.js')}" type="text/javascript"></script> <script src="${request.static_url('mondumas:static/dist/formvalidation/js/language/fr_FR.js')}" type="text/javascript"></script>
<!-- JSignature plugin --> <!-- JSignature plugin -->
<script src="${request.static_url('mondumas:static/dist/jSignature/libs/jSignature.min.js')}"></script> <script src="${request.static_url('mondumas:static/dist/jSignature/libs/jSignature.min.js')}"></script>
<!-- fotorama.css & fotorama.js. -->
<link href="http://cdnjs.cloudflare.com/ajax/libs/fotorama/4.6.4/fotorama.css" rel="stylesheet"> <!-- 3 KB -->
<script src="http://cdnjs.cloudflare.com/ajax/libs/fotorama/4.6.4/fotorama.js"></script> <!-- 16 KB -->
<!-- Less --> <!-- Less -->
<script src="//cdnjs.cloudflare.com/ajax/libs/less.js/2.5.3/less.min.js" type="text/javascript"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/less.js/2.5.3/less.min.js" type="text/javascript"></script>

View File

@@ -100,7 +100,7 @@ def dossier_view(request):
# lire toutes les dossiers similaires # lire toutes les dossiers similaires
similaires = get_similaires_byChantier(request, dossier.societe, dossier.C_NOM, dossier.C_ADR, dossier.C_CP, dossier.C_VILLE) 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 # lire tous les documents attachés
docs_attaches = get_docs_attaches(request, 'DOCS_ATTACHES', nodossier) docs_attaches = get_docs_attaches(request, nodossier)
if nodossier.startswith('PL'): if nodossier.startswith('PL'):
# lire rapport de rdf # lire rapport de rdf
rapports = get_rapport_by_no(request, nodossier, '') rapports = get_rapport_by_no(request, nodossier, '')
@@ -271,7 +271,7 @@ def upload_doc(request):
return HTTPFound(location=request.route_url("dossier_lookup")) return HTTPFound(location=request.route_url("dossier_lookup"))
# lire tous les documents attachés # lire tous les documents attachés
docs_attaches = get_docs_attaches(request, 'DOCS_ATTACHES', nodossier) docs_attaches = get_docs_attaches(request, nodossier)
if 'form.submitted' in request.params: if 'form.submitted' in request.params:
# récupère le fichier lui-même # récupère le fichier lui-même
@@ -288,8 +288,14 @@ def upload_doc(request):
else: else:
# récupère le nom du fichier et ajouter le no de dossier # récupère le nom du fichier et ajouter le no de dossier
filename = '%s-DD%s-%s' % (societe, nochantier, request.POST['filename'].filename) filename = '%s-DD%s-%s' % (societe, nochantier, request.POST['filename'].filename)
# créer le répertoire du chantier s'il n'existe pas encore
file_path = os.path.join('%s/%s' % (request.registry.settings['mondumas.devfac_dir'],societe), filename) 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 # We first write to a temporary file to prevent incomplete files
temp_file_path = file_path + '~' temp_file_path = file_path + '~'
@@ -298,19 +304,23 @@ def upload_doc(request):
with open(temp_file_path, 'wb') as output_file: with open(temp_file_path, 'wb') as output_file:
shutil.copyfileobj(input_file, output_file) shutil.copyfileobj(input_file, output_file)
# controler la taille du fichier < 4 Mo # controler la taille du fichier < 2 Mo
filesize = round(os.path.getsize(temp_file_path) / 1024) filesize = round(os.path.getsize(temp_file_path) / 1024)
if filesize > 4096 : if filesize > 2048 :
os.remove(temp_file_path) os.remove(temp_file_path)
request.session.flash("La taille de ce fichier dépasse la limite autorisée. Téléchargement impossible.", 'warning') request.session.flash("La taille de ce fichier dépasse la limite autorisée. Téléchargement impossible.", 'warning')
else: else:
# Now that we know the file has been fully saved to disk move it into place. # Now that we know the file has been fully saved to disk move it into place.
try:
os.rename(temp_file_path, file_path) os.rename(temp_file_path, file_path)
except OSError:
insert_dossier_attaches(request, nodossier, filename, '%s Ko' % str(filesize), logged_in) 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') request.session.flash('%s : Ce fichier est téléchargé avec succès.' % input_name, 'success')
# lire tous les documents attachés # lire tous les documents attachés
docs_attaches = get_docs_attaches(request, 'DOCS_ATTACHES', nodossier) docs_attaches = get_docs_attaches(request, nodossier)
return { return {
'page_title': u"Télécharger un document", 'page_title': u"Télécharger un document",
@@ -324,20 +334,20 @@ def upload_doc(request):
@view_config(route_name='upload_img', renderer='../templates/dossier/upload_img.pt', permission='view') @view_config(route_name='upload_img', renderer='../templates/dossier/upload_img.pt', permission='view')
def upload_img(request): def upload_img(request):
logged_in = request.authenticated_userid.upper() logged_in = request.authenticated_userid.upper()
nodossier = request.matchdict['nodossier'] norapport = request.matchdict['norapport']
societe = nodossier[0:2]
nochantier = nodossier[3:]
url = request.route_url("upload_img", nodossier=nodossier) url = request.route_url("upload_img", norapport=norapport)
message = "" message = ""
dossier = get_dossier_by_no(request, nodossier) rapport = get_rapport_by_no_id(request, norapport)
if dossier is None: if rapport is None:
request.session.flash(u"Le dossier no %s est introuvable" % (nodossier), 'danger') request.session.flash(u"Le rapport no %s est introuvable" % (norapport), 'danger')
return HTTPFound(location=request.route_url("dossier_lookup")) return HTTPFound(location=request.route_url("rdf_list"))
# lire tous les documents attachés societe = rapport.societe
docs_attaches = get_docs_attaches(request, 'DOCS_ATTACHES', nodossier) nochantier = rapport.nochantier
# lire tous les photos attachées
photos = get_photos(request, nochantier, norapport)
if 'form.submitted' in request.params: if 'form.submitted' in request.params:
# récupère le fichier lui-même # récupère le fichier lui-même
@@ -348,14 +358,21 @@ def upload_img(request):
input_ext = input_name.split('.')[-1] input_ext = input_name.split('.')[-1]
# controler l'extension # controler l'extension
ext_allowed = ['jpeg','jpg','png','pdf'] ext_allowed = ['jpeg','jpg','png']
if input_ext.lower() not in ext_allowed : if input_ext.lower() not in ext_allowed :
request.session.flash("Le format de ce fichier n'est pas valide. Téléchargement impossible.", 'warning') request.session.flash("Le format de ce fichier n'est pas valide. Téléchargement impossible.", 'warning')
else: else:
# récupère le nom du fichier et ajouter le no de dossier # récupère le nom du fichier et ajouter le no de rapport
filename = '%s-DD%s-%s' % (societe, nochantier, request.POST['filename'].filename) filename = '%s-RDF%s-%s' % (societe, norapport, request.POST['filename'].filename)
file_path = os.path.join('%s/%s' % (request.registry.settings['mondumas.devfac_dir'],societe), filename) # 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 # We first write to a temporary file to prevent incomplete files
temp_file_path = file_path + '~' temp_file_path = file_path + '~'
@@ -364,26 +381,31 @@ def upload_img(request):
with open(temp_file_path, 'wb') as output_file: with open(temp_file_path, 'wb') as output_file:
shutil.copyfileobj(input_file, output_file) shutil.copyfileobj(input_file, output_file)
# controler la taille du fichier < 4 Mo # controler la taille du fichier < 2 Mo
filesize = round(os.path.getsize(temp_file_path) / 1024) filesize = round(os.path.getsize(temp_file_path) / 1024)
if filesize > 4096 : if filesize > 2048 :
os.remove(temp_file_path) os.remove(temp_file_path)
request.session.flash("La taille de ce fichier dépasse la limite autorisée. Téléchargement impossible.", 'warning') request.session.flash("La taille de ce fichier dépasse la limite autorisée. Téléchargement impossible.", 'warning')
else: else:
# Now that we know the file has been fully saved to disk move it into place. # Now that we know the file has been fully saved to disk move it into place.
try:
os.rename(temp_file_path, file_path) os.rename(temp_file_path, file_path)
except OSError:
insert_dossier_attaches(request, nodossier, filename, '%s Ko' % str(filesize), logged_in) 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') request.session.flash('%s : Ce fichier est téléchargé avec succès.' % input_name, 'success')
# lire tous les documents attachés # lire tous les photos attachées
docs_attaches = get_docs_attaches(request, 'DOCS_ATTACHES', nodossier) photos = get_photos(request, nochantier, norapport)
return { return {
'page_title': u"Télécharger une photo", 'page_title': u"Télécharger une photo",
'url': url, 'url': url,
'nodossier': nodossier, 'nochantier': nochantier,
'dossier': dossier, 'norapport': norapport,
'docs_attaches': docs_attaches, 'rapport': rapport,
'photos': photos,
'docs_url': request.static_url(request.registry.settings['mondumas.devfac_url']), 'docs_url': request.static_url(request.registry.settings['mondumas.devfac_url']),
} }
@@ -514,18 +536,25 @@ def rdf_list(request):
@view_config(route_name='rdf_view', renderer='../templates/dossier/rdf_view.pt', permission='view') @view_config(route_name='rdf_view', renderer='../templates/dossier/rdf_view.pt', permission='view')
def rdf_view(request): def rdf_view(request):
logged_in = request.authenticated_userid.upper() logged_in = request.authenticated_userid.upper()
no_id = request.matchdict['no_id'] norapport = request.matchdict['no_id']
url = request.route_url('rdf_view', no_id=norapport)
# lire le rapport # lire le rapport
rapport = get_rapport_by_no_id(request, no_id) rapport = get_rapport_by_no_id(request, norapport)
url = request.route_url('rdf_view', no_id=no_id)
nodossier = 'PL-' + str(rapport.nochantier) nodossier = 'PL-' + str(rapport.nochantier)
# lire tous les photos attachées
photos = get_photos(request, rapport.nochantier, norapport)
return { return {
'page_title': "Rapport de RDF : %s du %s" % (nodossier, rapport.date_inter.strftime('%d-%m-%Y')), 'page_title': "Dossier %s : Rapport no %s du %s" % (nodossier, norapport, rapport.date_inter.strftime('%d-%m-%Y')),
'url': url, 'url': url,
'logged_in': logged_in, 'logged_in': logged_in,
'rapport': rapport, 'rapport': rapport,
'nodossier': nodossier, 'nodossier': nodossier,
'nochantier': rapport.nochantier,
'norapport': norapport,
'photos': photos,
'docs_url': request.static_url(request.registry.settings['mondumas.devfac_url']),
} }

View File

@@ -21,7 +21,7 @@ sqlalchemy.url = mysql://root:cni/@srvbd/bddevfac?charset=utf8
sqlalchemy.pool_recycle = 3600 sqlalchemy.pool_recycle = 3600
mondumas.admin_email = phuoc@caotek.fr mondumas.admin_email = phuoc@caotek.fr
mondumas.devfac_url = mondumas:static/img/DEVFAC14/ mondumas.devfac_url = mondumas:static/img/DEVFAC/
mondumas.devfac_dir = /DEVFAC14/DOCS_ATTACHES mondumas.devfac_dir = /DEVFAC14/DOCS_ATTACHES
# Mailer configuration # Mailer configuration