Multiples zones par user implémenté
[auf_rh_dae.git] / project / permissions.py
index c9318b3..d722826 100644 (file)
@@ -1,9 +1,10 @@
 # -*- encoding: utf-8 -*
 
 from project import groups
-from project.groups import get_employe_from_user
+from project.groups import get_employe_from_user, get_zones_from_user
 from project.decorators import in_drh_or_admin
 
+from auf.django.references import models as ref
 from rh import models as rh
 
 def user_gere_obj_de_sa_region(user):
@@ -36,19 +37,15 @@ def user_can_change_obj(user, obj):
 def user_can_delete_obj(user, obj):
     return in_drh_or_admin(user)
     
+
 # helpers
 def obj_in_region_user(user, obj):
-    region_user = get_region_user(user)
+    zones = get_zones_from_user(user)
     if isinstance(obj, rh.Employe):
         return True
     if isinstance(obj, rh.Dossier):
         return True
     if isinstance(obj, rh.Poste):
-        return obj.implantation.zone_administrative == region_user
+        return obj.implantation.zone_administrative in zones
     return False
     
-def get_region_user(user):
-    # gère actuellement qu'une seule région par user
-    employe = get_employe_from_user(user)
-    region_user = employe.implantation.zone_administrative
-    return region_user