From 6e80b20cb6194104660b7e4e727b9677c0ddee59 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Olivier=20Larchev=C3=AAque?= Date: Tue, 10 May 2011 17:43:33 -0400 Subject: [PATCH] poste etat decorateur --- project/dae/decorators.py | 13 +++++++++++++ project/dae/views.py | 4 +++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/project/dae/decorators.py b/project/dae/decorators.py index 70174e1..443384e 100644 --- a/project/dae/decorators.py +++ b/project/dae/decorators.py @@ -134,3 +134,16 @@ def dossier_est_modifiable(fn): return fn(request, *args, **kwargs) return inner + +def poste_est_modifiable(fn): + def inner(request, *args, **kwargs): + key = kwargs.get('key', None) + if key is not None and key.split('-')[0] == 'dae': + poste_id = key.split('-')[1] + poste = dae.Poste.objects.get(id=poste_id) + if poste.etat not in ETATS_EDITABLE: + msg = u"Ce poste ne peut plus être modifié." + return redirect_interdiction(request, msg) + + return fn(request, *args, **kwargs) + return inner diff --git a/project/dae/views.py b/project/dae/views.py index f7f658c..a6a8a5f 100644 --- a/project/dae/views.py +++ b/project/dae/views.py @@ -26,7 +26,8 @@ from decorators import dae_groupe_requis, \ poste_dans_ma_region_ou_service, \ dossier_dans_ma_region_ou_service, \ employe_dans_ma_region_ou_service, \ - dossier_est_modifiable + dossier_est_modifiable, \ + poste_est_modifiable from forms import * pisa.showLogging() @@ -84,6 +85,7 @@ def poste_consulter(request, key): @dae_groupe_requis @poste_dans_ma_region_ou_service +@poste_est_modifiable def poste(request, key=None): """ Formulaire pour un poste. -- 1.7.10.4