Merge branch 'master' into recrutement
authorPA Parent <paparent@paparent.me>
Wed, 18 Jul 2012 14:39:38 +0000 (10:39 -0400)
committerPA Parent <paparent@paparent.me>
Wed, 18 Jul 2012 14:39:38 +0000 (10:39 -0400)
Conflicts:
project/recrutement/admin.py
versions.cfg

1  2 
project/recrutement/admin.py
versions.cfg

@@@ -3,33 -3,19 +3,25 @@@
  import textwrap
  
  from auf.django.emploi.models import OffreEmploi, Candidat, CandidatPiece
--from auf.django.references.models import Region, Bureau
++from auf.django.references.models import Region, Bureau, Implantation
  from django.conf import settings
  from django.contrib import admin
  from django.core.urlresolvers import reverse
  from django.db.models import Avg
 +from django.shortcuts import render_to_response
 +from django.template import RequestContext
 +
++from auf.django.export.admin import ExportAdmin
 +from auf.django.emploi.models import STATUT_CHOICES
  from django.forms.models import BaseInlineFormSet
  from django.http import HttpResponseRedirect
  from django.shortcuts import redirect
  from reversion.admin import VersionAdmin
  
- from auf.django.emploi.models import OffreEmploi, Candidat, CandidatPiece
- from auf.django.references.models import Region, Bureau, Implantation
- from auf.django.export.admin import ExportAdmin
+ from project import groups
 +
- from project.groups import get_employe_from_user as get_emp
  from project.rh import models as rh
  from project.recrutement.forms import OffreEmploiForm
- from project.recrutement.groups import \
-         grp_drh, grp_drh2, \
-         grp_directeurs_bureau, \
-         grp_administrateurs, \
-         grp_correspondants_rh, \
-         grp_haute_direction
  from project.recrutement.models import \
          Evaluateur, CandidatEvaluation, \
          ProxyOffreEmploi, ProxyCandidat, MesCandidatEvaluation, \
@@@ -118,9 -86,9 +110,9 @@@ class OffreEmploiAdminMixin(BaseAdmin)
  
      ### Formulaire
      def get_form(self, request, obj=None, **kwargs):
 -        form = super(OffreEmploiAdmin, self).get_form(request, obj, **kwargs)
 +        form = super(OffreEmploiAdminMixin, self).get_form(request, obj, **kwargs)
-         employe = get_emp(request.user)
-         user_groupes = request.user.groups.all()
+         employe = groups.get_employe_from_user(request.user)
+         user_groupes = [g.name for g in request.user.groups.all()]
  
          # Region
          if 'region' in form.declared_fields:
              return True
          return False
  
 +    def formfield_for_foreignkey(self, db_field, request, **kwargs):
 +        if db_field.name == 'lieu_affectation':
-             employe = get_emp(request.user)
++            employe = groups.get_employe_from_user(request.user)
 +            kwargs["queryset"] = Implantation.objects.filter(region=employe.implantation.region)
 +            return db_field.formfield(**kwargs)
 +        return super(OffreEmploiAdminMixin, self).formfield_for_foreignkey(db_field, request, **kwargs)
 +
  
  class OffreEmploiAdmin(VersionAdmin, OffreEmploiAdminMixin):
      pass
@@@ -522,13 -470,6 +524,13 @@@ class CandidatAdminMixin(BaseAdmin, Exp
              return True
          return False
  
 +    def formfield_for_foreignkey(self, db_field, request, **kwargs):
 +        if db_field.name == 'offre_emploi':
-             employe = get_emp(request.user)
++            employe = groups.get_employe_from_user(request.user)
 +            kwargs["queryset"] = OffreEmploi.objects.filter(region=employe.implantation.region)
 +            return db_field.formfield(**kwargs)
 +        return super(CandidatAdminMixin, self).formfield_for_foreignkey(db_field, request, **kwargs)
 +
      def get_changelist(self, request, **kwargs):
          return OrderedChangeList
  
@@@ -801,14 -750,16 +813,16 @@@ class CandidatEvaluationAdmin(BaseAdmin
          qs = self.model._default_manager.get_query_set() \
                  .select_related('offre_emploi')
          user_groupes = request.user.groups.all()
+         user_groupes = [g.name for g in request.user.groups.all()]
  
-         if grp_drh in user_groupes or \
-             grp_drh2 in user_groupes or \
-             grp_correspondants_rh in user_groupes or \
-             grp_directeurs_bureau in user_groupes or \
-             grp_administrateurs in user_groupes or \
-             grp_haute_direction in user_groupes:
+         if request.user.is_superuser or \
+             groups.CORRESPONDANT_RH in user_groupes or \
+             groups.DRH_NIVEAU_1 in user_groupes or \
+             groups.DRH_NIVEAU_2 in user_groupes or \
+             groups.DIRECTEUR_DE_BUREAU in user_groupes or \
+             groups.ADMINISTRATEURS in user_groupes or \
+             groups.HAUTE_DIRECTION in user_groupes:
 -            return qs
 +            return qs.filter(candidat__statut__in=('REC', 'SEL'))
  
          evaluateur = Evaluateur.objects.get(user=request.user)
          candidats_evaluations = \
diff --cc versions.cfg
@@@ -64,8 -64,5 +64,8 @@@ auf.django.emploi = 1.2de
  # Added by Buildout Versions at 2012-06-15 14:24:42.911205
  odsgen = 0.1
  
- # Added by Buildout Versions at 2012-06-18 15:34:10.516016
- auf.django.references = 0.19
 +# Added by Buildout Versions at 2012-07-10 15:40:30.011741
 +auf.django.export = 0.4
++
+ # Added by Buildout Versions at 2012-07-11 15:30:58.885863
+ auf.django.references = 0.21