From 532c0dfcd69ffbfccd255c1a3193784ac22e5149 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Olivier=20Larchev=C3=AAque?= Date: Mon, 23 Apr 2012 16:07:13 -0400 Subject: [PATCH] DRH2 recrutement perms --- project/recrutement/admin.py | 41 ++++++++++++++++++++++++++++----------- project/recrutement/workflow.py | 5 ++++- 2 files changed, 34 insertions(+), 12 deletions(-) diff --git a/project/recrutement/admin.py b/project/recrutement/admin.py index f565bd8..a36f351 100644 --- a/project/recrutement/admin.py +++ b/project/recrutement/admin.py @@ -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: diff --git a/project/recrutement/workflow.py b/project/recrutement/workflow.py index ee9fda4..6ee15b8 100644 --- a/project/recrutement/workflow.py +++ b/project/recrutement/workflow.py @@ -1,11 +1,13 @@ # -*- encoding: utf-8 -*- from rh.groups import safe_create_groupe -from rh.groups import CORRESPONDANT_RH, DRH_NIVEAU_1, DIRECTEUR_DE_BUREAU, ADMINISTRATEURS +from rh.groups import CORRESPONDANT_RH, DRH_NIVEAU_1, DRH_NIVEAU_2, \ + DIRECTEUR_DE_BUREAU, ADMINISTRATEURS grp_evaluateurs_recrutement = safe_create_groupe(name='Évaluateurs') grp_correspondants_rh_recrutement = safe_create_groupe(name=CORRESPONDANT_RH) grp_drh_recrutement = safe_create_groupe(name=DRH_NIVEAU_1) +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) @@ -14,6 +16,7 @@ recrutement_groupes = ( grp_evaluateurs_recrutement, grp_correspondants_rh_recrutement, grp_drh_recrutement, + grp_drh2_recrutement, grp_directeurs_bureau_recrutement, grp_administrateurs_recrutement, ) -- 1.7.10.4