limiter la liste des postes à sa région / service
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Tue, 3 May 2011 13:24:47 +0000 (09:24 -0400)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Tue, 3 May 2011 13:24:47 +0000 (09:24 -0400)
project/dae/forms.py
project/dae/views.py

index 7c1e94b..ecddce0 100644 (file)
@@ -192,14 +192,14 @@ class ChoosePosteForm(forms.ModelForm):
     # La liste des choix est laissée vide. Voir PosteForm.__init__.
     poste = forms.ChoiceField(choices=(), required=False)
 
-    def __init__(self, *args, **kwargs):
+    def __init__(self, request=None, *args, **kwargs):
         super(ChoosePosteForm, self).__init__(*args, **kwargs)
-        self.fields['poste'].choices = self._poste_choices()
+        self.fields['poste'].choices = self._poste_choices(request)
 
-    def _poste_choices(self):
+    def _poste_choices(self, request):
         """ Menu déroulant pour les postes. """
-        dae_ = dae.Poste.objects.filter(id_rh__isnull=True)
-        copies = dae.Poste.objects.exclude(id_rh__isnull=True)
+        dae_ = dae.Poste.objects.ma_region_ou_service(request.user).filter(id_rh__isnull=True)
+        copies = dae.Poste.objects.ma_region_ou_service(request.user).exclude(id_rh__isnull=True)
         id_copies = [p.id_rh_id for p in copies.all()]
 
         return [('', '----------')] + \
index b85bebf..ee0d5db 100644 (file)
@@ -153,7 +153,7 @@ def embauche_consulter(request, dossier_id):
 def embauche(request, key=None, dossier_id=None):
     """ Formulaire d'autorisation d'embauche. """
     if not key:
-        vars = dict(step='poste', form=ChoosePosteForm())
+        vars = dict(step='poste', form=ChoosePosteForm(request=request))
     else:
         type_remun = filtered_type_remun()
         vars = dict(type_remun=type_remun)