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