- today = date.today()
-
- # employés présents = metadata ok et dossiers présents
- employes = rh.Employe.objects \
- .filter(actif=True, supprime=False) \
- .filter(dossiers__actif=True, dossiers__supprime=False) \
- .exclude(dossiers__date_debut__gt=today) \
- .exclude(dossiers__date_fin__lt=today) \
- .order_by('?')
-
- c['employes'] = employes[0:10]
- return render_to_response('accueil.html', c, rc)
-
-def erreur404(request) :
- c = {
- 'user':request.user,
- }
- return render_to_response('404.html', c,
- context_instance = RequestContext(request))
-
-def erreur500(request) :
- c = {
- 'user':request.user,
- }
- return render_to_response('500.html', c,
- context_instance = RequestContext(request))
-
-def erreur550(request) :
- c = {
- 'user':request.user,
- }
- return render_to_response('550.html', c,
- context_instance = RequestContext(request))
+ return render(request, 'index.html', c)
+
+
+@login_required
+def piece(request, filename):
+ """Téléchargement d'une pièce jointe à un poste."""
+ # compatibilité avec DAE prod avant sécurité
+ try:
+ app, model, id, f = filename.split('/')
+ except:
+ path = os.path.join(settings.PRIVE_MEDIA_ROOT, filename)
+ return sendfile(request, path)
+
+ if app == 'rh':
+ application = rh_models
+ elif app == 'dae':
+ application = dae_models
+ else:
+ assert False
+ if model == 'contrat':
+ # TODO definir peut-être un controle d'accès
+ for contrat in application.Contrat.objects.filter(fichier=filename):
+ if contrat.fichier.name == filename:
+ return sendfile(request, contrat.fichier.path)
+ raise Http404
+ elif model == 'employe':
+ # TODO definir peut-être un controle d'accès
+ for piece in application.EmployePiece.objects.filter(fichier=filename):
+ if piece.fichier.name == filename:
+ return sendfile(request, piece.fichier.path)
+ raise Http404
+ elif model == 'poste':
+ for piece in application.PostePiece.objects.filter(fichier=filename):
+ if piece.fichier.name == filename:
+ if application.Poste.objects \
+ .ma_region_ou_service(request.user) \
+ .filter(id=piece.poste_id).exists():
+ return sendfile(request, piece.fichier.path)
+ else:
+ return redirect_interdiction(request)
+ raise Http404
+ elif model == 'dossier':
+ for piece in application.DossierPiece.objects.filter(fichier=filename):
+ if piece.fichier.name == filename:
+ if application.Dossier.objects \
+ .ma_region_ou_service(request.user) \
+ .filter(id=piece.dossier_id).exists():
+ return sendfile(request, piece.fichier.path)
+ else:
+ return redirect_interdiction(request)
+ raise Http404