These
authorAli Jetha <ali@U-AJ.(none)>
Fri, 29 Oct 2010 19:03:11 +0000 (15:03 -0400)
committerAli Jetha <ali@U-AJ.(none)>
Fri, 29 Oct 2010 19:03:11 +0000 (15:03 -0400)
auf_savoirs_en_partage/chercheurs/forms.py
auf_savoirs_en_partage/chercheurs/models.py
auf_savoirs_en_partage/chercheurs/views.py
auf_savoirs_en_partage/templates/accounts/send_password.html
auf_savoirs_en_partage/templates/chercheurs/chercheur_form.html
auf_savoirs_en_partage/templates/chercheurs/retrieve.html

index d4e702b..66abb62 100644 (file)
@@ -18,7 +18,7 @@ class GroupeForm(forms.ModelForm):
 class ChercheurForm(forms.ModelForm):
     class Meta:
         model = Chercheur
-        fields = ('diplome',)
+        fields = ('statut', 'diplome', )
         
 class PublicationForm(forms.ModelForm):
     class Meta:
@@ -27,12 +27,22 @@ class PublicationForm(forms.ModelForm):
         
 class TheseForm(PublicationForm):
     titre = forms.CharField(required=True, label="Titre de la thèse ou du mémoire")
-    annee = forms.IntegerField(required=False, label="Année de soutenance (réalisée ou prévue)")
+    annee = forms.IntegerField(required=True, label="Année de soutenance (réalisée ou prévue)")
     editeur = forms.CharField(required=False, label="Directeur de thèse")
     lieu_edition = forms.CharField(required=False, label="Établissement de soutenance")
     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):
     class Meta:
@@ -43,16 +53,25 @@ class EtablissementForm(forms.ModelForm):
     class Meta:
         model = Chercheur
         fields = ('etablissement',)
+    def clean(self):
+        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:
+                raise forms.ValidationError("")
+        
 
 class EtablissementAutreForm(forms.ModelForm):
     class Meta:
         model = Chercheur
-        fields = ('etablissement_autre_nom', 'etablissement_autre_pays', 'enseignant' )
+        fields = ('etablissement_autre_nom', 'etablissement_autre_pays' )
 
 class DisciplineForm(forms.ModelForm):
     class Meta:
         model = Chercheur
-        fields = ('discipline', 'theme_recherche', 'mots_cles', 'url_site_web', 'url_blog', 'url_facebook', 'url_linkedin')
+        fields = ('discipline', 'theme_recherche', 'mots_cles', 'url_site_web', 'url_blog',)
         
 class PersonneEditForm(forms.ModelForm):
     class Meta:
index 4ac6e23..4f6792f 100644 (file)
@@ -12,7 +12,7 @@ class Personne(models.Model):
     salutation = models.CharField(max_length=128, null = True, blank = True)
     nom = models.CharField(max_length=255)
     prenom = models.CharField(max_length=128, verbose_name = 'Prénom')
-    courriel = models.EmailField(max_length=128, unique=True)
+    courriel = models.EmailField(max_length=128, unique=True, verbose_name="Adresse électronique")
     fonction = models.CharField(max_length=128, null = True, blank = True)
     date_naissance = models.DateField(null=True, blank=True)
     sousfonction = models.CharField(max_length=128, null = True, blank = True,
@@ -60,13 +60,14 @@ class ChercheurQuerySet(models.query.QuerySet):
                            Q(these__titre__icontains=word)).distinct()
         return qs
 
-FONCTION_CHOICES = (('Professeur', 'Professeur'), ('Chercheur', 'Chercheur'), ('Chercheur_independant', 'Chercheur indépendant'), ('Doctorant', 'Doctorant'))
+STATUT_CHOICES = (('enseignant', 'Enseignant-chercheur dans un établissement'), ('etudiant', 'Étudiant-chercheur doctorant'), ('independant', 'Chercheur indépendant docteur'))
 class Chercheur(models.Model):
     id = models.AutoField(primary_key=True, db_column='id')
     personne = models.ForeignKey('Personne', db_column='personne')
     nationalite = models.ForeignKey(Pays, null = True, db_column='nationalite', to_field='code', 
                                     verbose_name = 'Nationalité', related_name='nationalite')
     #fonction = models.CharField(max_length=36, choices=FONCTION_CHOICES)
+    statut = models.CharField(max_length=36, choices=STATUT_CHOICES)
     diplome = models.CharField(max_length=255, null=True,
                                  verbose_name = 'Diplôme le plus élevé')
     etablissement = models.ForeignKey(Etablissement, db_column='etablissement', null=True, blank=True)
@@ -75,14 +76,13 @@ class Chercheur(models.Model):
     etablissement_autre_pays = models.ForeignKey(Pays, null = True, blank=True, db_column='etablissement_autre_pays', 
                                                 to_field='code', related_name='etablissement_autre_pays',
                                                  verbose_name = 'Pays de l\'établissement')
-    enseignant = models.BooleanField(verbose_name="Êtes-vous aussi enseignant dans cet établissement?")
     #Domaine
     thematique = models.ForeignKey(Thematique, db_column='thematique', null=True, verbose_name='Thematique')
 
-    mots_cles = models.CharField(max_length=255, null=True, blank=True,
+    mots_cles = models.CharField(max_length=255, null=True,
                                     verbose_name='Mots-clés')                    
-    discipline = models.ForeignKey(Discipline, db_column='discipline', null=True, blank=True,
-                                        verbose_name='Champ disciplinaire')
+    discipline = models.ForeignKey(Discipline, db_column='discipline', null=True,
+                                        verbose_name='Discipline')
     theme_recherche = models.TextField(null=True, blank=True, verbose_name='Thème de recherche')                                    
     expertise = models.ForeignKey('Expertise', db_column='expertise', null=True, blank=True, related_name='expertise')
     url_site_web = models.URLField(max_length=255, null=True, blank=True,
@@ -140,10 +140,11 @@ class Publication(models.Model):
         
 class Expertise(models.Model):
     id = models.AutoField(primary_key=True, db_column='id')
-    nom = models.CharField(max_length=255, null=True, blank=True, verbose_name = 'Titre de l\'expertise')
+    nom = models.CharField(max_length=255, null=True, blank=True, verbose_name = 'Objet de la dernière expertise')
     date = models.DateField(db_column='date_expertise', null=True, blank=True)
-    organisme_demandeur = models.CharField(max_length=255, null=True, blank=True, verbose_name = 'Organisme demandeur')
-    organisme_demandeur_visible = models.BooleanField(verbose_name="Afficher l'organisme demandeur")
+    lieu = models.CharField(max_length=255, null=True, blank=True, verbose_name = 'Lieu de la dernière expertise')
+    organisme_demandeur = models.CharField(max_length=255, null=True, blank=True, verbose_name = 'Organisme commanditaire')
+    organisme_demandeur_visible = models.BooleanField(verbose_name="Afficher l'organisme commanditaire")
     actif = models.BooleanField(editable = False, db_column='actif')
 
     def __unicode__(self):
index 291833e..fedd732 100644 (file)
@@ -206,8 +206,8 @@ def inscription(request):
                     these = these_form.save()
                     if expertise_form.is_valid() and expertise_form.cleaned_data['nom']:
                         expertise = expertise_form.save()
+                        c.expertise = expertise
                     c.these = these 
-                    c.expertise = expertise
                     etablissement_form.save(commit=False)
                     etablissement_autre_form.save(commit=False)
                     discipline_form.save(commit=False)
index a0fd22c..081589e 100644 (file)
@@ -4,12 +4,12 @@
 <h4>Demande de changement de mot de passe</h4>
 <div class="contenu-wrapper">
     {% if form.is_valid %}
-        <span class="message">Un courriel a été envoyé à l'adresse spécifiée.</span>
+        <span class="message">Un message a été envoyé à l'adresse électronique spécifiée.</span>
     {% else %}
     <form method="post">
         <fieldset>
             {% include "table_form.html" %}
-            <span>Veuillez entrer le courriel avec lequel vous avez completé votre inscription.</span>
+            <span>Veuillez entrer l'adresse électronique avec laquelle vous avez completé votre inscription.</span>
         </fieldset>
         <input type="submit" name="Submit" value="Envoyer" class="bouton" />
     </form>
index 83fadec..584e2c0 100644 (file)
@@ -25,6 +25,9 @@
     
     <fieldset>
         <legend>Etablissement de rattachement</legend>
+        {% if etablissement_form.errors %}
+        <span class="message">Vous devez renseigner un établissement.</span>
+        {% endif %}
         {% with etablissement_form as form %}
             {% include "table_form.html" %}
         {% endwith %}
index e4c02a5..6066fe1 100644 (file)
 
         <h5>Thèmes de recherche et publications</h5>
         <table id="publications">
+            {% if chercheur.theme_recherche %}
             <tr class="souligne">
                 <td class="label">Thèmes de recherche:</td>
                 <td>{{chercheur.theme_recherche}}</td>
             </tr>
+            {% endif %}
             {% if chercheur.these %}
             <tr class="souligne">
                 <td class="label">Thèse:</td>