#1493
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Tue, 24 May 2011 17:55:56 +0000 (13:55 -0400)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Tue, 24 May 2011 17:55:56 +0000 (13:55 -0400)
project/dae/managers.py
project/dae/templatetags/dae.py
project/dae/utils.py

index 5a4862f..8edcf87 100644 (file)
@@ -61,8 +61,11 @@ class SecurityManager(models.Manager):
         else:
             q = Q(**{ '%s__region' % self.prefixe_implantation : employe.implantation.region })
 
-        q_non_refuse = ~Q(etat__in=(POSTE_ETAT_REFUSE, DOSSIER_ETAT_REFUSE,))
-        liste = self.get_query_set().filter(q & q_non_refuse)
+        if workflowed_model:
+            q_non_refuse = ~Q(etat__in=(POSTE_ETAT_REFUSE, DOSSIER_ETAT_REFUSE,))
+            q = q & q_non_refuse
+
+        liste = self.get_query_set().filter(q)
 
         # Il peut être bon que ces personnes connaissent l'état d'avancement du poste ou dossier
         #############################################
index 8ad31b5..1cbcb06 100644 (file)
@@ -1,13 +1,13 @@
 from django import template
 from project.dae.workflow import ETATS_EDITABLE
-from project.dae.workflow import grp_gestionnaires, grp_service_utilisateurs, grp_correspondants_rh, grp_administrateurs, grp_directeurs_bureau, grp_drh, grp_directeurs_service
+from project.dae.workflow import grp_gestionnaires, grp_service_utilisateurs, grp_correspondants_rh, grp_administrateurs, grp_directeurs_bureau, grp_drh, grp_directeurs_service, grp_correspondants_rh
 
 register = template.Library()
 
 @register.filter
 def peut_ajouter(user):
     for g in user.groups.all():
-        if g in (grp_gestionnaires, grp_service_utilisateurs, grp_administrateurs, grp_drh, grp_directeurs_bureau, grp_directeurs_service):
+        if g in (grp_gestionnaires, grp_service_utilisateurs, grp_administrateurs, grp_drh, grp_directeurs_bureau, grp_directeurs_service, grp_correspondants_rh):
             return True
     return False
 
index a045ad7..b7ecc9c 100644 (file)
@@ -14,10 +14,10 @@ def get_employe_from_user(user):
 
 def is_user_dans_service(user):
     employe = get_employe_from_user(user)
-    return employe.implantation.bureau_rattachement_id == -1
+    return employe.implantation_id in (15, 19)
 
 def is_user_dans_region(user):
     employe = get_employe_from_user(user)
-    return employe.implantation.bureau_rattachement_id != -1
+    return not is_user_dans_service(user)