DRH2 recrutement perms
[auf_rh_dae.git] / project / recrutement / admin.py
index f565bd8..a36f351 100644 (file)
@@ -14,9 +14,10 @@ from project.rh import models as rh
 
 from project.dae.utils import get_employe_from_user as get_emp
 from recrutement.models import *
-from recrutement.workflow import grp_drh_recrutement, grp_directeurs_bureau_recrutement, \
-                    grp_administrateurs_recrutement, \
-                    grp_correspondants_rh_recrutement
+from recrutement.workflow import grp_drh_recrutement, grp_drh2_recrutement, \
+        grp_directeurs_bureau_recrutement, \
+        grp_administrateurs_recrutement, \
+        grp_correspondants_rh_recrutement
 
 from recrutement.forms import *
 
@@ -75,7 +76,8 @@ class OffreEmploiAdmin(VersionAdmin):
         else:
             region_field = form.base_fields['region']
 
-        if grp_drh_recrutement in user_groupes:
+        if grp_drh_recrutement in user_groupes or \
+            grp_drh2_recrutement in user_groupes:
             region_field.queryset = Region.objects.all()
         else:
             region_field.queryset = Region.objects.\
@@ -87,7 +89,8 @@ class OffreEmploiAdmin(VersionAdmin):
         else:
             poste_field = form.base_fields['poste']
 
-        if grp_drh_recrutement in user_groupes:
+        if grp_drh_recrutement in user_groupes or \
+            grp_drh2_recrutement in user_groupes:
             poste_field.queryset = rh.Poste.objects.all()
         else:
             poste_field.queryset = rh.Poste.objects.\
@@ -100,7 +103,8 @@ class OffreEmploiAdmin(VersionAdmin):
         else:
             bureau_field = form.base_fields['bureau']
 
-        if grp_drh_recrutement in user_groupes:
+        if grp_drh_recrutement in user_groupes or \
+            grp_drh2_recrutement in user_groupes:
             bureau_field.queryset = Bureau.objects.all()
         else:
             bureau_field.queryset = Bureau.objects.\
@@ -112,7 +116,8 @@ class OffreEmploiAdmin(VersionAdmin):
     def queryset(self, request):
         qs = self.model._default_manager.get_query_set().select_related('offre_emploi')
         user_groupes = request.user.groups.all()
-        if grp_drh_recrutement in user_groupes:
+        if grp_drh_recrutement in user_groupes or \
+            grp_drh2_recrutement in user_groupes:
             return qs
 
         if grp_directeurs_bureau_recrutement in user_groupes or \
@@ -134,6 +139,7 @@ class OffreEmploiAdmin(VersionAdmin):
         user_groupes = request.user.groups.all()
         if request.user.is_superuser is True or \
             grp_drh_recrutement in user_groupes or \
+            grp_drh2_recrutement in user_groupes or \
             grp_directeurs_bureau_recrutement in user_groupes or \
             grp_administrateurs_recrutement in user_groupes:
             return True
@@ -143,6 +149,7 @@ class OffreEmploiAdmin(VersionAdmin):
         user_groupes = request.user.groups.all()
         if request.user.is_superuser is True or \
             grp_drh_recrutement in user_groupes or \
+            grp_drh2_recrutement in user_groupes or \
             grp_directeurs_bureau_recrutement in user_groupes or \
             grp_administrateurs_recrutement in user_groupes:
             return True
@@ -152,6 +159,7 @@ class OffreEmploiAdmin(VersionAdmin):
         user_groupes = request.user.groups.all()
         if request.user.is_superuser is True or \
             grp_drh_recrutement in user_groupes or \
+            grp_drh2_recrutement in user_groupes or \
             grp_directeurs_bureau_recrutement in user_groupes or \
             grp_administrateurs_recrutement in user_groupes:
             return True
@@ -203,6 +211,7 @@ class ProxyOffreEmploiAdmin(OffreEmploiAdmin):
         if request.user.is_superuser is True or \
             grp_correspondants_rh_recrutement in user_groupes or \
             grp_drh_recrutement in user_groupes or \
+            grp_drh2_recrutement in user_groupes or \
             grp_directeurs_bureau_recrutement in user_groupes or \
             grp_administrateurs_recrutement in user_groupes:
             return True
@@ -373,6 +382,7 @@ class CandidatAdmin(VersionAdmin):
         if request.user.is_superuser is True or \
             grp_correspondants_rh_recrutement in user_groupes or \
             grp_drh_recrutement in user_groupes or \
+            grp_drh2_recrutement in user_groupes or \
             grp_directeurs_bureau_recrutement in user_groupes or \
             grp_administrateurs_recrutement in user_groupes:
             return True
@@ -383,6 +393,7 @@ class CandidatAdmin(VersionAdmin):
         if request.user.is_superuser is True or \
             grp_correspondants_rh_recrutement in user_groupes or \
             grp_drh_recrutement in user_groupes or \
+            grp_drh2_recrutement in user_groupes or \
             grp_directeurs_bureau_recrutement in user_groupes or \
             grp_administrateurs_recrutement in user_groupes:
             return True
@@ -393,6 +404,7 @@ class CandidatAdmin(VersionAdmin):
         if request.user.is_superuser is True or \
             grp_correspondants_rh_recrutement in user_groupes or \
             grp_drh_recrutement in user_groupes or \
+            grp_drh2_recrutement in user_groupes or \
             grp_directeurs_bureau_recrutement in user_groupes or \
             grp_administrateurs_recrutement in user_groupes:
             return True
@@ -414,7 +426,8 @@ class CandidatAdmin(VersionAdmin):
         qs = self.model._default_manager.get_query_set().select_related('offre_emploi').annotate(moyenne=Avg('evaluations__note'))
 
         user_groupes = request.user.groups.all()
-        if grp_drh_recrutement in user_groupes:
+        if grp_drh_recrutement in user_groupes or \
+            grp_drh2_recrutement in user_groupes:
             return qs
 
         if grp_directeurs_bureau_recrutement in user_groupes or \
@@ -469,6 +482,7 @@ class ProxyCandidatAdmin(CandidatAdmin):
         if request.user.is_superuser is True or \
             grp_correspondants_rh_recrutement in user_groupes or \
             grp_drh_recrutement in user_groupes or \
+            grp_drh2_recrutement in user_groupes or \
             grp_directeurs_bureau_recrutement in user_groupes or \
             grp_administrateurs_recrutement in user_groupes:
             return True
@@ -518,21 +532,24 @@ class EvaluateurAdmin(VersionAdmin):
     def has_add_permission(self, request):
         user_groupes = request.user.groups.all()
         if request.user.is_superuser is True or \
-                grp_drh_recrutement in user_groupes:
+                grp_drh_recrutement in user_groupes or \
+                grp_drh2_recrutement in user_groupes:
             return True
         return False   
 
     def has_delete_permission(self, request, obj=None):
         user_groupes = request.user.groups.all()
         if request.user.is_superuser is True or \
-                grp_drh_recrutement in user_groupes:
+                grp_drh_recrutement in user_groupes or \
+                grp_drh2_recrutement in user_groupes:
             return True
         return False   
 
     def has_change_permission(self, request, obj=None):
         user_groupes = request.user.groups.all()
         if request.user.is_superuser is True or \
-                grp_drh_recrutement in user_groupes:
+                grp_drh_recrutement in user_groupes or \
+                grp_drh2_recrutement in user_groupes:
             return True
         return False   
 
@@ -633,6 +650,7 @@ class CandidatEvaluationAdmin(admin.ModelAdmin):
 
         if request.user.is_superuser or \
             grp_drh_recrutement in user_groupes or \
+            grp_drh2_recrutement in user_groupes or \
             grp_correspondants_rh_recrutement in user_groupes or \
             grp_directeurs_bureau_recrutement in user_groupes or \
             grp_administrateurs_recrutement in user_groupes:
@@ -651,6 +669,7 @@ class CandidatEvaluationAdmin(admin.ModelAdmin):
         user_groupes = request.user.groups.all()
 
         if grp_drh_recrutement in user_groupes or \
+            grp_drh2_recrutement in user_groupes or \
             grp_correspondants_rh_recrutement in user_groupes or \
             grp_directeurs_bureau_recrutement in user_groupes or \
             grp_administrateurs_recrutement in user_groupes: