[#3255] limiter le lieu d'affectation d'une offre d'emploi en fonction de région
authorPA Parent <paparent@paparent.me>
Tue, 12 Jun 2012 18:30:28 +0000 (14:30 -0400)
committerPA Parent <paparent@paparent.me>
Tue, 12 Jun 2012 18:30:28 +0000 (14:30 -0400)
project/recrutement/admin.py

index 53ed3c0..b0972b1 100644 (file)
@@ -16,7 +16,7 @@ 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
+from auf.django.references.models import Region, Bureau, Implantation
 from auf.django.export.admin import ExportAdmin
 
 from project.groups import get_employe_from_user as get_emp
@@ -205,6 +205,13 @@ class OffreEmploiAdmin(BaseAdmin, VersionAdmin):
             return True
         return False
 
+    def formfield_for_foreignkey(self, db_field, request, **kwargs):
+        if db_field.name == 'lieu_affectation':
+            employe = get_emp(request.user)
+            kwargs["queryset"] = Implantation.objects.filter(region=employe.implantation.region)
+            return db_field.formfield(**kwargs)
+        return super(OffreEmploiAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)
+
 
 class ProxyOffreEmploiAdmin(OffreEmploiAdmin):
     list_display = (