1 # -*- encoding: utf-8 -*-
2 from django
.shortcuts
import render_to_response
3 from django
.template
import Context
, RequestContext
6 from auf_references_client
.models
import Discipline
, TypeImplantation
7 from models
import Personne
, Utilisateur
9 from django
.contrib
.auth
.decorators
import login_required
11 def chercheur_queryset (request
):
12 list = Chercheur
.objects
.order_by("id")
15 simpleForm
= RepertoireSearchForm (request
.GET
)
16 if simpleForm
.is_valid ():
17 pays
= simpleForm
.cleaned_data
["pays"]
19 list = list.filter (pays
= pays
.pk
)
20 fonction
= simpleForm
.cleaned_data
["fonction"]
22 list = list.filter (fonction
= fonction
)
23 genre
= simpleForm
.cleaned_data
["genre"]
25 list = list.filter (personne__genre
=genre
)
26 discipline
= simpleForm
.cleaned_data
["discipline"]
28 list = list.filter (discipline
=discipline
)
29 mots_cles
= simpleForm
.cleaned_data
["mots_cles"]
31 list = list.filter (personne__nom__icontains
=mots_cles
)
34 def repertoire(request
):
35 """Mock up du répertoire"""
37 chercheurs
= chercheur_queryset (request
)
38 repertoire_form
= RepertoireSearchForm (request
.GET
)
40 nb_chercheurs
= chercheurs
.count()
41 variables
= { 'chercheurs': chercheurs
,
42 'nb_chercheurs': nb_chercheurs
,
43 'repertoire_form': repertoire_form
,
45 return render_to_response ("chercheurs/repertoire.html", \
47 context_instance
= RequestContext(request
))
49 def inscription(request
):
50 if request
.method
== 'POST':
51 personne_form
= PersonneForm (request
.POST
, prefix
="personne")
52 chercheur_form
= ChercheurForm (request
.POST
, prefix
="chercheur")
53 etablissement_form
= EtablissementForm (request
.POST
, prefix
="etablissement")
54 discipline_form
= DisciplineForm (request
.POST
, prefix
="discipline")
56 if personne_form
.is_valid():
57 if chercheur_form
.is_valid():
58 c
= chercheur_form
.save(commit
=False)
60 etablissement_form
= EtablissementForm (request
.POST
, prefix
="etablissement", instance
=c
)
61 discipline_form
= DisciplineForm (request
.POST
, prefix
="discipline", instance
=c
)
63 if etablissement_form
.is_valid() and discipline_form
.is_valid():
64 etablissement_form
.save(commit
=False)
65 discipline_form
.save(commit
=False)
66 p
= personne_form
.save()
70 personne_form
= PersonneForm(prefix
="personne")
71 chercheur_form
= ChercheurForm(prefix
="chercheur")
72 etablissement_form
= EtablissementForm(prefix
="etablissement")
73 discipline_form
= DisciplineForm(prefix
="discipline")
75 variables
= { 'personne_form': personne_form
,
76 'chercheur_form': chercheur_form
,
77 'etablissement_form': etablissement_form
,
78 'discipline_form': discipline_form
,
81 return render_to_response ("chercheurs/inscription.html", \
83 context_instance
= RequestContext(request
))
87 """Edition d'un chercheur"""
88 context_instance
= RequestContext(request
)
89 chercheur
= context_instance
['user_chercheur']
90 if request
.method
== 'POST':
91 personne_form
= PersonneEditForm(request
.POST
, prefix
="personne", instance
=chercheur
.personne
)
94 personne_form
= PersonneEditForm(prefix
="personne", instance
=chercheur
.personne
)
96 variables
= { 'chercheur': chercheur
,
97 'personne_form':personne_form
,
99 return render_to_response ("chercheurs/edit.html", \
101 context_instance
= RequestContext(request
))
106 """Mock up de l'espace perso"""
107 context_instance
= RequestContext(request
)
108 chercheur
= context_instance
['user_chercheur']
109 variables
= { 'chercheur': chercheur
,
111 return render_to_response ("chercheurs/perso.html", \
113 context_instance
= RequestContext(request
))
115 def retrieve(request
, id):
116 """Fiche du chercheur"""
117 chercheur
= Chercheur
.objects
.get(id=id)
118 variables
= { 'chercheur': chercheur
,
120 return render_to_response ("chercheurs/retrieve.html", \
122 context_instance
= RequestContext(request
))