from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect
from django.contrib import admin
+from django.shortcuts import get_object_or_404
+
from reversion.admin import VersionAdmin
+from datamaster_modeles.models import Employe, Implantation, Region
from recrutement.models import *
+
class OffreEmploiAdmin(VersionAdmin):
date_hierarchy = 'date_creation'
list_display = ('nom', 'resume', 'date_limite', '_candidatsList', )
list_filter = ('region',)
-
+
def _candidatsList(self, obj):
return "<a href='%s?offre_emploi__id__exact=%s'>Voir les candidats</a>" % (reverse('admin:recrutement_candidat_changelist'), obj.id)
_candidatsList.allow_tags = True
de profondeur. Dès qu'on arrive, dans les modèles de Region, il existe plusieurs
boucles, ce qui conduit à la génération d'une requête infinie.
"""
+ user_email = request.user.email
+ user = get_object_or_404(Employe, courriel=user_email)
+ user_implantation = user.implantation
+ implantation_region = get_object_or_404(Implantation, id=user_implantation.id)
+ user_region = get_object_or_404(Region, id=implantation_region.region.id)
qs = self.model._default_manager.get_query_set()
- return qs.select_related('offre_emploi')
+ return qs.select_related('offre_emploi').filter(region=user_region.id)
class CandidatPieceInline(admin.TabularInline):
model = CandidatPiece