securisation de toutes les vues
[auf_rh_dae.git] / project / dae / decorators.py
index 665902e..a927fef 100644 (file)
@@ -105,3 +105,20 @@ def dossier_dans_ma_region_ou_service(fn):
         else:
             return poste_dans_ma_region_ou_service(fn)(request, *args, **kwargs)
     return inner
+
+def employe_dans_ma_region_ou_service(fn):
+    """
+    Test d'accès à un employé
+    """
+    def inner(request, *args, **kwargs):
+        from project.dae.forms import _employe_choices
+        liste_employes = _employe_choices(None, request)
+        autorises = [k for k, nom in liste_employes]
+        employe_key = kwargs.get('employe_key')
+        if employe_key in autorises:
+            return fn(request, *args, **kwargs)
+        else :
+            msg = u"Vous n'avez pas le droit de consulter cet employé."
+            return redirect_interdiction(request, msg)
+        
+    return inner