conflit réglé merge master et regionalisation
[auf_rh_dae.git] / project / decorators.py
index 9f08694..700d158 100644 (file)
@@ -11,7 +11,7 @@ from django.core.urlresolvers import reverse
 from django.utils.http import urlquote
 
 from project.groups import grp_drh, grp_drh2, grp_correspondants_rh
 from django.utils.http import urlquote
 
 from project.groups import grp_drh, grp_drh2, grp_correspondants_rh
-from project.utils import get_employe_from_user
+from project.groups import get_employe_from_user
 
 
 def redirect_interdiction(request, msg=u"Vous n'avez pas accès à cette page"):
 
 
 def redirect_interdiction(request, msg=u"Vous n'avez pas accès à cette page"):
@@ -70,3 +70,18 @@ def region_protected(model):
             return redirect_interdiction(request)
         return wrapped
     return wrapper
             return redirect_interdiction(request)
         return wrapped
     return wrapper
+    
+def in_one_of_group(groups):
+    """
+    Test si le user appartient au moins 1 des ces groupes
+    """
+    def wrapper(fn):
+        def wrapped(request, *args, **kwargs):
+            user_groups = request.user.groups.all()
+            for g in user_groups:
+                if g in groups:
+                    return fn(request, *args, **kwargs)
+            msg = u"Votre compte ne permet pas d'accéder à cette partie de l'application."
+            return redirect_interdiction(request, msg)
+        return wrapped
+    return wrapper