poste etat decorateur
[auf_rh_dae.git] / project / dae / decorators.py
index 70174e1..443384e 100644 (file)
@@ -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