1561: Pièces jointes dans le formulaire du candidat.
[auf_rh_dae.git] / project / recrutement / admin.py
CommitLineData
df59fcab 1# -*- encoding: utf-8 -*-
2
3from django.contrib import admin
4from recrutement.models import *
5
6class OffreEmploiAdmin(admin.ModelAdmin):
7f9e891e 7 date_hierarchy = 'date_creation'
8 list_display = ('nom', 'resume', 'date_limite',)
9 list_filter = ('region',)
df59fcab 10
170c9aa2 11class CandidatPieceInline(admin.TabularInline):
12 model = CandidatPiece
13 extra = 1
14
df59fcab 15class CandidatAdmin(admin.ModelAdmin):
7f9e891e 16 date_hierarchy = 'date_creation'
17 list_display = ('nom', 'prenom', 'offre_emploi','statut',)
18 fieldsets = (
19 ('Informations personnelles', {
20 'fields': ('prenom','nom','genre', 'nationalite', 'date_naissance',
21 'situation_famille', 'nombre_dependant',)
22 }),
23 ('Adresse', {
24 'fields': ('adresse', 'ville', 'etat_province', 'pays', )
25 }),
26 ('Informations professionnelles', {
2e9ee615 27 'fields': ('offre_emploi','niveau_diplome','employeur_actuel','poste_actuel',
28 'domaine_professionnel',)
7f9e891e 29 }),
30 ('Options avancées', {
31 'classes': ('collapse',),
32 'fields': ('actif', 'statut', )
33 }),
34 )
170c9aa2 35 inlines = [
36 CandidatPieceInline,
37 ]
f9983b5a
OL
38
39 def queryset(self, request):
40 """
2e9ee615 41 Spécifie un queryset limité, autrement Django exécute un select_related()
42 sans paramètre, ce qui a pour effet de charger tous les objets FK, sans limite
43 de profondeur. Dès qu'on arrive, dans les modèles de Region, il existe plusieurs
44 boucles, ce qui conduit à la génération d'une requête infinie.
f9983b5a
OL
45 """
46 qs = self.model._default_manager.get_query_set()
47 return qs.select_related('offre_emploi')
df59fcab 48
2e9ee615 49class CandidatPieceAdmin(admin.ModelAdmin):
170c9aa2 50 list_display = ('nom', 'candidat', )
51
52 def queryset(self, request):
53 """
54 Spécifie un queryset limité, autrement Django exécute un
55 select_related() sans paramètre, ce qui a pour effet de charger tous
56 les objets FK, sans limite de profondeur. Dès qu'on arrive, dans les
57 modèles de Region, il existe plusieurs boucles, ce qui conduit à la
58 génération d'une requête infinie.
59 """
60 qs = self.model._default_manager.get_query_set()
61 return qs.select_related('candidat')
2e9ee615 62
4418c732 63class EvaluateurAdmin(admin.ModelAdmin):
64 pass
65
66class CandidatEvaluationAdmin(admin.ModelAdmin):
67 pass
68
df59fcab 69admin.site.register(OffreEmploi, OffreEmploiAdmin)
70admin.site.register(Candidat, CandidatAdmin)
4418c732 71admin.site.register(CandidatPiece, CandidatPieceAdmin)
72admin.site.register(Evaluateur, EvaluateurAdmin)
73admin.site.register(CandidatEvaluation, CandidatEvaluationAdmin)