<fieldset>
<h2>Pièces jointes</h2>
<ul>
- {% for pj in dossier.dossierpiece_set.all %}
- <li><a href="{% url dossier_piece pj.id %}">{{ pj.nom }}</a></li>
- {% endfor %}
+ {% for pj in dossier.dossierpiece_set.all %}
+ <li><a href="{% url dossier_piece pj.id pj.fichier.name|basename %}">{{ pj.nom }}</a></li>
+ {% endfor %}
</ul>
</fieldset>
{% for contrat in dossier.contrats.all %}
<tr>
<td>{{ contrat.type }}</td>
- <td><a href="{% url contrat contrat.id %}">{{ contrat.fichier.name }}</a></td>
+ <td><a href="{% url contrat contrat.id contrat.fichier.name|basename %}"
+ >{{ contrat.fichier.name|basename }}</a></td>
<td><a href="{% url contrat_supprimer contrat.id %}">Supprimer</a></td>
</tr>
{% empty %}
+{% load dae %}
<html>
<head>
<h2>Pièces jointes</h2>
<ul>
{% for pj in dossier.dossierpiece_set.all %}
- <li><a href="{% url dossier_piece pj.id %}">{{ pj.nom }}</a></li>
+ <li><a href="{% url dossier_piece pj.id pj.fichier.name|basename %}">{{ pj.nom }}</a></li>
{% endfor %}
</ul>
+{% load dae %}
<fieldset>
<h2><label>Type d'intervention : </label>{{ poste.get_type_intervention_display }}</h2>
</fieldset>
<h2>Pièces jointes</h2>
<ul>
{% for pj in poste.postepiece_set.all %}
- <li><a href="{% url poste_piece pj.id %}">{{ pj.nom }}</a></li>
+ <li><a href="{% url poste_piece pj.id pj.fichier.name|basename %}">{{ pj.nom }}</a></li>
{% endfor %}
</ul>
</fieldset>
# -*- encoding: utf-8 -*-
+import os
+
from django import template
from project.dae.workflow import ETATS_EDITABLE
from project.dae.workflow import grp_correspondants_rh, grp_administrateurs, grp_drh
if implantation.id == 19:
return u"Services centraux de Paris (SCP)"
return implantation.region
+
+@register.filter
+def basename(path):
+ return os.path.basename(path)
url(r'^poste/consulter/(?P<key>.*)$', 'poste_consulter', name='poste_consulter'),
url(r'^poste$', 'poste', name='poste'),
url(r'^poste/(?P<key>.*)$', 'poste', name='poste'),
- url(r'^pieces-postes/(\d+)$', 'poste_piece', name='poste_piece'),
+ url(r'^pieces-postes/(\d+)/(.*)$', 'poste_piece', name='poste_piece'),
# embauche
url(r'^embauches$', 'embauches_liste', name='dae_embauches_liste'),
# contrats
url(r'^embauches/(?P<dossier_id>\d+)/contrats/ajouter$', 'embauche_ajouter_contrat',
name='embauche_ajouter_contrat'),
- url(r'^contrats/(\d+)$', 'contrat', name='contrat'),
+ url(r'^contrats/(\d+)/(.*)$', 'contrat', name='contrat'),
url(r'^contrats/(\d+)/supprimer$', 'contrat_supprimer', name='contrat_supprimer'),
# ajax
url(r'^employe/(?P<key>.*)$', 'employe', name='employe'),
url(r'^dossier$', 'dossier', name='dossier'),
url(r'^dossier/(?P<poste_key>.*)/(?P<employe_key>.*)$', 'dossier', name='dossier'),
- url(r'^pieces-dossiers/(\d+)$', 'dossier_piece', name='dossier_piece'),
+ url(r'^pieces-dossiers/(\d+)/(.*)$', 'dossier_piece', name='dossier_piece'),
url(r'^dossier_resume/(?P<dossier_id>.*)$', 'dossier_resume', name='dossier_resume'),
url(r'^poste_resume/(?P<dossier_id>.*)$', 'poste_resume', name='poste_resume'),
url(r'^salaire$', 'salaire', name='salaire'),
return render_to_response('dae/postes_liste.html', vars, RequestContext(request))
@login_required
-def poste_piece(request, id):
+def poste_piece(request, id, filename):
"""Téléchargement d'une pièce jointe à un poste."""
piece = get_object_or_404(dae.PostePiece, pk=id)
if dae.Poste.objects.ma_region_ou_service(request.user).filter(id=piece.poste_id).exists():
- return sendfile(
- request, piece.fichier.path, attachment=True,
- attachment_filename=os.path.basename(piece.fichier.name).encode('ascii', 'replace')
- )
+ return sendfile(request, piece.fichier.path)
else:
return redirect_interdiction(request)
@dae_groupe_requis
@get_contrat
-def contrat(request, contrat):
- return sendfile(
- request, contrat.fichier.path, attachment=True,
- attachment_filename=os.path.basename(contrat.fichier.name).encode('ascii', 'replace')
- )
+def contrat(request, contrat, filename):
+ return sendfile(request, contrat.fichier.path)
@dae_groupe_requis
@get_contrat
return HttpResponse(dumps(data))
@login_required
-def dossier_piece(request, id):
+def dossier_piece(request, id, filename):
"""Téléchargement d'une pièce jointe à un poste."""
piece = get_object_or_404(dae.DossierPiece, pk=id)
if dae.Dossier.objects.ma_region_ou_service(request.user).filter(id=piece.dossier_id).exists():
- return sendfile(
- request, piece.fichier.path, attachment=True,
- attachment_filename=os.path.basename(piece.fichier.name).encode('ascii', 'replace')
- )
+ return sendfile(request, piece.fichier.path)
else:
return redirect_interdiction(request)