From: Eric Mc Sween Date: Fri, 29 Oct 2010 21:12:56 +0000 (-0400) Subject: Merge branch 'master' of ssh://git.auf/auf_savoirs_en_partage_django X-Git-Url: https://git.auf.org/?p=auf_savoirs_en_partage_django.git;a=commitdiff_plain;h=ca2ac8047c1031da6f06ba80acbb83b2cd4fa77b;hp=184f139f6c69cc173f1eaa49397ccd2f33b3b98c Merge branch 'master' of ssh://git.auf/auf_savoirs_en_partage_django --- diff --git a/auf_savoirs_en_partage/chercheurs/forms.py b/auf_savoirs_en_partage/chercheurs/forms.py index 6ab49e4..a523c4b 100644 --- a/auf_savoirs_en_partage/chercheurs/forms.py +++ b/auf_savoirs_en_partage/chercheurs/forms.py @@ -2,6 +2,8 @@ from django import forms from models import * from models import Utilisateur +from savoirs.forms import SEPDateField +from models import STATUT_CHOICES class PersonneForm(forms.ModelForm): password = forms.CharField(widget=forms.PasswordInput(), label="Mot de passe") @@ -33,19 +35,9 @@ class TheseForm(PublicationForm): class Meta: model = Publication fields = ('titre', 'annee', 'editeur', 'lieu_edition', 'nb_pages', 'url') - - #def clean(self): - # statut = self.data.get('chercheur-statut') - # titre = self.cleaned_data.get("titre") - # annee = self.cleaned_data.get("annee") - # editeur = self.cleaned_data.get("editeur") - # - # if (statut == "enseignant" or statut == "etudiant") \ - # and (not titre or not annee or not editeur): - # raise forms.ValidationError("Vous devez renseigner la rubrique thèse.") class ExpertiseForm(forms.ModelForm): - date = forms.DateInput(attrs={'class': 'date'}, format='%d/%m/%Y') + date = SEPDateField(required=False, label="Date") class Meta: model = Expertise fields = ('nom', 'date', 'organisme_demandeur', 'organisme_demandeur_visible') @@ -55,14 +47,14 @@ class EtablissementForm(forms.ModelForm): model = Chercheur fields = ('etablissement',) def clean(self): + cleaned_data = self.cleaned_data statut = self.data.get('chercheur-statut') etablissement = self.cleaned_data.get("etablissement") etablissement_autre_nom = self.data.get("etablissement_autre-etablissement_autre_nom") - if statut == "enseignant": - if not etablissement or not etablissement_autre_nom: + if not etablissement and not etablissement_autre_nom: raise forms.ValidationError("") - + return cleaned_data class EtablissementAutreForm(forms.ModelForm): class Meta: @@ -83,7 +75,7 @@ class RepertoireSearchForm (forms.Form): mots_cles = forms.CharField (required = False, label="Mots-clés") discipline = forms.ModelChoiceField(queryset=Discipline.objects.all(), required=False, label="Discipline", empty_label="Tous") domaine = forms.ModelChoiceField(queryset=Groupe.objects.all(), required=False, label="Domaine de recherche", empty_label="Tous") - fonction = forms.ChoiceField(choices=(('','Tous'),('chercheur','Chercheur'), ('enseignant','Enseignant-Chercheur'), ('expert','Expert')), required=False, label="Fonction") + statut = forms.ChoiceField(choices=(('','Tous'),)+STATUT_CHOICES+(('expert','Expert'),), required=False, label="Statut") pays = forms.ModelChoiceField(queryset=Pays.objects.all().order_by("nom"), required=False, label="Localisation", empty_label="Tous") class SendPasswordForm(forms.Form): diff --git a/auf_savoirs_en_partage/chercheurs/views.py b/auf_savoirs_en_partage/chercheurs/views.py index 96c5ad0..6eb4158 100644 --- a/auf_savoirs_en_partage/chercheurs/views.py +++ b/auf_savoirs_en_partage/chercheurs/views.py @@ -142,14 +142,12 @@ def chercheur_queryset (request): mots_cles = simpleForm.cleaned_data["mots_cles"] if mots_cles: list = list.search(mots_cles) - fonction = simpleForm.cleaned_data["fonction"] - if fonction: - if fonction == "enseignant": - list = list.filter(enseignant=True) - if fonction == "expert": + statut = simpleForm.cleaned_data["statut"] + if statut: + if statut == "expert": list = list.exclude(expertise=None) - - + else: + list = list.filter(statut=statut) return list def index(request):