recrutement : haute direction même droits que DRH
authorDavin Baragiotta <davin.baragiotta@auf.org>
Wed, 9 May 2012 21:17:23 +0000 (17:17 -0400)
committerDavin BARAGIOTTA <davin.baragiotta@auf.org>
Wed, 9 May 2012 21:17:23 +0000 (17:17 -0400)
project/recrutement/admin.py
project/recrutement/workflow.py

index a36f351..8551126 100644 (file)
@@ -17,7 +17,8 @@ from recrutement.models import *
 from recrutement.workflow import grp_drh_recrutement, grp_drh2_recrutement, \
         grp_directeurs_bureau_recrutement, \
         grp_administrateurs_recrutement, \
-        grp_correspondants_rh_recrutement
+        grp_correspondants_rh_recrutement, \
+        grp_haute_direction_recrutement
 
 from recrutement.forms import *
 
@@ -77,7 +78,8 @@ class OffreEmploiAdmin(VersionAdmin):
             region_field = form.base_fields['region']
 
         if grp_drh_recrutement in user_groupes or \
-            grp_drh2_recrutement in user_groupes:
+            grp_drh2_recrutement in user_groupes or \
+            grp_haute_direction_recrutement in user_groupes:
             region_field.queryset = Region.objects.all()
         else:
             region_field.queryset = Region.objects.\
@@ -90,7 +92,8 @@ class OffreEmploiAdmin(VersionAdmin):
             poste_field = form.base_fields['poste']
 
         if grp_drh_recrutement in user_groupes or \
-            grp_drh2_recrutement in user_groupes:
+            grp_drh2_recrutement in user_groupes or \
+            grp_haute_direction_recrutement in user_groupes:
             poste_field.queryset = rh.Poste.objects.all()
         else:
             poste_field.queryset = rh.Poste.objects.\
@@ -104,7 +107,8 @@ class OffreEmploiAdmin(VersionAdmin):
             bureau_field = form.base_fields['bureau']
 
         if grp_drh_recrutement in user_groupes or \
-            grp_drh2_recrutement in user_groupes:
+            grp_drh2_recrutement in user_groupes or \
+            grp_haute_direction_recrutement in user_groupes:
             bureau_field.queryset = Bureau.objects.all()
         else:
             bureau_field.queryset = Bureau.objects.\
@@ -117,7 +121,8 @@ class OffreEmploiAdmin(VersionAdmin):
         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 or \
-            grp_drh2_recrutement in user_groupes:
+            grp_drh2_recrutement in user_groupes or \
+            grp_haute_direction_recrutement in user_groupes:
             return qs
 
         if grp_directeurs_bureau_recrutement in user_groupes or \
@@ -141,7 +146,8 @@ class OffreEmploiAdmin(VersionAdmin):
             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:
+            grp_administrateurs_recrutement in user_groupes or \
+            grp_haute_direction_recrutement in user_groupes:
             return True
         return False  
 
@@ -151,7 +157,8 @@ class OffreEmploiAdmin(VersionAdmin):
             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:
+            grp_administrateurs_recrutement in user_groupes or \
+            grp_haute_direction_recrutement in user_groupes:
             return True
         return False   
 
@@ -161,7 +168,8 @@ class OffreEmploiAdmin(VersionAdmin):
             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:
+            grp_administrateurs_recrutement in user_groupes or \
+            grp_haute_direction_recrutement in user_groupes:
             return True
         return False   
 
@@ -213,7 +221,8 @@ class ProxyOffreEmploiAdmin(OffreEmploiAdmin):
             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:
+            grp_administrateurs_recrutement in user_groupes or \
+            grp_haute_direction_recrutement in user_groupes:
             return True
 
         if obj is not None:
@@ -384,7 +393,8 @@ class CandidatAdmin(VersionAdmin):
             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:
+            grp_administrateurs_recrutement in user_groupes or \
+            grp_haute_direction_recrutement in user_groupes:
             return True
         return False   
 
@@ -395,7 +405,8 @@ class CandidatAdmin(VersionAdmin):
             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:
+            grp_administrateurs_recrutement in user_groupes or \
+            grp_haute_direction_recrutement in user_groupes:
             return True
         return False   
 
@@ -406,7 +417,8 @@ class CandidatAdmin(VersionAdmin):
             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:
+            grp_administrateurs_recrutement in user_groupes or \
+            grp_haute_direction_recrutement in user_groupes:
             return True
         return False
 
@@ -427,7 +439,8 @@ class CandidatAdmin(VersionAdmin):
 
         user_groupes = request.user.groups.all()
         if grp_drh_recrutement in user_groupes or \
-            grp_drh2_recrutement in user_groupes:
+            grp_drh2_recrutement in user_groupes or \
+            grp_haute_direction_recrutement in user_groupes:
             return qs
 
         if grp_directeurs_bureau_recrutement in user_groupes or \
@@ -484,7 +497,8 @@ class ProxyCandidatAdmin(CandidatAdmin):
             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:
+            grp_administrateurs_recrutement in user_groupes or \
+            grp_haute_direction_recrutement in user_groupes:
             return True
 
         if obj is not None:
@@ -533,7 +547,8 @@ class EvaluateurAdmin(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:
+                grp_drh2_recrutement in user_groupes or \
+                grp_haute_direction_recrutement in user_groupes:
             return True
         return False   
 
@@ -541,7 +556,8 @@ class EvaluateurAdmin(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:
+                grp_drh2_recrutement in user_groupes or \
+                grp_haute_direction_recrutement in user_groupes:
             return True
         return False   
 
@@ -549,7 +565,8 @@ class EvaluateurAdmin(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:
+                grp_drh2_recrutement in user_groupes or \
+                grp_haute_direction_recrutement in user_groupes:
             return True
         return False   
 
@@ -653,7 +670,8 @@ class CandidatEvaluationAdmin(admin.ModelAdmin):
             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:
+            grp_administrateurs_recrutement in user_groupes or \
+            grp_haute_direction_recrutement in user_groupes:
             is_recrutement = True
         else:
             is_recrutement = False
@@ -672,7 +690,8 @@ class CandidatEvaluationAdmin(admin.ModelAdmin):
             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:
+            grp_administrateurs_recrutement in user_groupes or \
+            grp_haute_direction_recrutement in user_groupes:
             return qs
 
         evaluateur = Evaluateur.objects.get(user=request.user) 
index 6ee15b8..f0ae148 100644 (file)
@@ -2,7 +2,7 @@
 
 from rh.groups import safe_create_groupe
 from rh.groups import CORRESPONDANT_RH, DRH_NIVEAU_1, DRH_NIVEAU_2, \
-        DIRECTEUR_DE_BUREAU, ADMINISTRATEURS
+        DIRECTEUR_DE_BUREAU, ADMINISTRATEURS, HAUTE_DIRECTION
 
 grp_evaluateurs_recrutement = safe_create_groupe(name='Évaluateurs')
 grp_correspondants_rh_recrutement = safe_create_groupe(name=CORRESPONDANT_RH)
@@ -11,6 +11,7 @@ grp_drh2_recrutement = safe_create_groupe(name=DRH_NIVEAU_2)
 grp_directeurs_bureau_recrutement = \
     safe_create_groupe(name=DIRECTEUR_DE_BUREAU)
 grp_administrateurs_recrutement = safe_create_groupe(name=ADMINISTRATEURS)
+grp_haute_direction_recrutement = safe_create_groupe(name=HAUTE_DIRECTION)
 
 recrutement_groupes = (
     grp_evaluateurs_recrutement,
@@ -19,4 +20,5 @@ recrutement_groupes = (
     grp_drh2_recrutement,
     grp_directeurs_bureau_recrutement,
     grp_administrateurs_recrutement,
+    grp_haute_direction_recrutement,
 )