from django.forms.models import BaseInlineFormSet
from reversion.admin import VersionAdmin
-from datamaster_modeles.models import Employe, Implantation, Region
+from datamaster_modeles.models import Implantation, Region, Bureau
from project.rh import models as rh
from recrutement.models import *
from project.dae.utils import get_employe_from_user as get_emp
+IMPLANTATIONS_CENTRALES = [15, 19]
+
class ProxyEvaluateur(Evaluateur.offres_emploi.through):
"""
Ce proxy sert uniquement dans l'admin à disposer d'un libellé
form = super(OffreEmploiAdmin, self).get_form(request, obj, **kwargs)
employe = get_emp(request.user)
user_groupes = request.user.groups.all()
- if not grp_drh_recrutement in user_groupes and \
- not request.user.is_superuser:
- if form.declared_fields.has_key('region'):
- region_field = form.declared_fields['region']
- else:
- region_field = form.base_fields['region']
- user = request.user
- region_ids = [g.id for g in user.regions.all()]
- region_field.queryset = Region.objects.filter(id__in=region_ids)
+
+ ### Region ###
+ if form.declared_fields.has_key('region'):
+ region_field = form.declared_fields['region']
+ else:
+ region_field = form.base_fields['region']
+
+ if grp_drh_recrutement in user_groupes:
+ region_field.queryset = Region.objects.all()
+ else:
+ region_field.queryset = Region.objects.\
+ filter(id=employe.implantation.region.id)
+
+ ### Poste ###
+ if form.declared_fields.has_key('poste'):
+ poste_field = form.declared_fields['poste']
+ else:
+ poste_field = form.base_fields['poste']
+
+ import pdb;pdb.set_trace()
+ if grp_drh_recrutement in user_groupes:
+ poste_field.queryset = rh.Poste.objects.all()
+ else:
+ poste_field.queryset = rh.Poste.objects.filter(implantation__region=employe.implantation.region).exclude(implantation__in=IMPLANTATIONS_CENTRALES)
+
+ ### Bureau ###
+ if form.declared_fields.has_key('bureau'):
+ bureau_field = form.declared_fields['bureau']
+ else:
+ bureau_field = form.base_fields['bureau']
+
+ if grp_drh_recrutement in user_groupes:
+ bureau_field.queryset = Bureau.objects.all()
+ else:
+ bureau_field.queryset = Bureau.objects.filter(region=employe.implantation.region)
+
return form
def queryset(self, request):
from django.forms.models import BaseInlineFormSet
from django.core.mail import send_mail
+from datamaster_modeles.models import Employe, Implantation, Region
from tinymce.widgets import TinyMCE
from captcha.fields import CaptchaField
class Meta:
model = recr.OffreEmploi
+ def __init__(self, *args, **kwargs):
+ super(OffreEmploiForm, self).__init__(*args, **kwargs)
+
def save(self, *args, **kwargs):
kwargs2 = kwargs.copy()
kwargs2['commit'] = False
from south.modelsinspector import add_introspection_rules
add_introspection_rules([], ["^tinymce.models.HTMLField"])
import datamaster_modeles.models as ref
+
+from project.rh import models as rh
from recrutement.workflow import grp_evaluateurs_recrutement
from auf.django.emploi import models as emploi
from auf.django.emploi.models import TYPE_PIECE_CHOICES
class Meta:
verbose_name = "modèle de courriel"
verbose_name_plural = "modèles de courriel"
-