Ajout d'un sous-menu dans les briques qui en ont un. (#569)
[auf_savoirs_en_partage_django.git] / auf_savoirs_en_partage / chercheurs / forms.py
CommitLineData
932eef9a
AJ
1# -*- encoding: utf-8 -*-
2from django import forms
3from models import *
0e9597af 4from models import Utilisateur
13146d99 5
932eef9a 6class PersonneForm(forms.ModelForm):
c18af6bd
AJ
7 password = forms.CharField(widget=forms.PasswordInput(), label="Mot de passe")
8 genre = forms.ChoiceField(widget=forms.RadioSelect(), choices=GENRE_CHOICES)
932eef9a 9 class Meta:
dab519fa
AJ
10 model = Utilisateur
11 fields = ('nom', 'prenom', 'courriel', 'password', 'genre')
5ecd9e43 12
3eb00212
AJ
13class GroupeForm(forms.ModelForm):
14 class Meta:
15 model = Chercheur
16 fields = ('groupes',)
932eef9a
AJ
17
18class ChercheurForm(forms.ModelForm):
19 class Meta:
20 model = Chercheur
3eb00212 21 fields = ('fonction', 'diplome',)
7c596de2 22
00755d9b
AJ
23class PublicationForm(forms.ModelForm):
24 class Meta:
25 model = Publication
6befc7c9 26 fields = ('titre', 'annee', 'revue', 'editeur', 'lieu_edition', 'nb_pages', 'url')
f810842d
AJ
27
28class TheseForm(PublicationForm):
e8e9e4fd 29 titre = forms.CharField(required=True, label="Titre")
3eb00212 30 annee = forms.IntegerField(required=False, label="Année de soutenance")
e8e9e4fd
AJ
31 class Meta:
32 model = Publication
33 fields = ('titre', 'annee', 'revue', 'editeur', 'lieu_edition', 'nb_pages', 'url')
dab519fa 34
7c596de2
AJ
35class EtablissementForm(forms.ModelForm):
36 class Meta:
37 model = Chercheur
38 fields = ('etablissement',)
39
00755d9b
AJ
40class EtablissementAutreForm(forms.ModelForm):
41 class Meta:
42 model = Chercheur
43 fields = ('etablissement_autre_nom', 'etablissement_autre_pays', )
44
7c596de2
AJ
45class DisciplineForm(forms.ModelForm):
46 class Meta:
47 model = Chercheur
5ecd9e43 48 fields = ('discipline', 'expertise', 'mots_cles', 'url_site_web', 'url_blog', 'url_facebook', 'url_linkedin')
13146d99 49
b3e1079e
AJ
50class PersonneEditForm(forms.ModelForm):
51 class Meta:
52 model = Personne
53 fields = ('nom', 'prenom', 'genre')
54
13146d99
AJ
55
56class RepertoireSearchForm (forms.Form):
0e9597af
AJ
57 mots_cles = forms.CharField (required = False, label="Mots-clés")
58 discipline = forms.ModelChoiceField(queryset=Discipline.objects.all(), required=False, label="Discipline", empty_label="Tous")
59 domaine = forms.ModelChoiceField(queryset=Groupe.objects.all(), required=False, label="Domaine de recherche", empty_label="Tous")
60 fonction = forms.ChoiceField(choices=(('','Tous'),)+FONCTION_CHOICES, required=False, label="Fonction")
61 pays = forms.ModelChoiceField(queryset=Pays.objects.all().order_by("nom"), required=False, label="Localisation", empty_label="Tous")
62
63class SendPasswordForm(forms.Form):
64 email = forms.EmailField(required=True, label="courriel")
65 def clean_email(self):
66 cleaned_data = self.cleaned_data
67 email = cleaned_data.get("email")
68 if email:
69 try:
70 Utilisateur.objects.get(courriel=email)
71 except:
72 raise forms.ValidationError("Ce courriel n'existe pas dans notre base de données.")
73 return email
74