Expertise
authorAli Jetha <ali@U-AJ.(none)>
Thu, 28 Oct 2010 21:45:21 +0000 (17:45 -0400)
committerAli Jetha <ali@U-AJ.(none)>
Thu, 28 Oct 2010 21:45:21 +0000 (17:45 -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/chercheurs/edit.html
auf_savoirs_en_partage/templates/chercheurs/inscription.html
auf_savoirs_en_partage/templates/chercheurs/retrieve.html

index ca602fb..8d1506c 100644 (file)
@@ -18,7 +18,7 @@ class GroupeForm(forms.ModelForm):
 class ChercheurForm(forms.ModelForm):
     class Meta:
         model = Chercheur
-        fields = ('fonction', 'diplome',)
+        fields = ('diplome',)
         
 class PublicationForm(forms.ModelForm):
     class Meta:
@@ -27,14 +27,17 @@ 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")
+    annee = forms.IntegerField(required=False, 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')
         
-        
+class ExpertiseForm(forms.ModelForm):
+    class Meta:
+        model = Expertise
+        fields = ('nom', 'date', 'organisme_demandeur', 'organisme_demandeur_visible')        
 
 class EtablissementForm(forms.ModelForm):
     class Meta:
@@ -44,24 +47,23 @@ class EtablissementForm(forms.ModelForm):
 class EtablissementAutreForm(forms.ModelForm):
     class Meta:
         model = Chercheur
-        fields = ('etablissement_autre_nom', 'etablissement_autre_pays', )
+        fields = ('etablissement_autre_nom', 'etablissement_autre_pays', 'enseignant' )
 
 class DisciplineForm(forms.ModelForm):
     class Meta:
         model = Chercheur
-        fields = ('discipline', 'expertise', 'mots_cles', 'url_site_web', 'url_blog', 'url_facebook', 'url_linkedin')
+        fields = ('discipline', 'theme_recherche', 'mots_cles', 'url_site_web', 'url_blog', 'url_facebook', 'url_linkedin')
         
 class PersonneEditForm(forms.ModelForm):
     class Meta:
         model = Personne
         fields = ('nom', 'prenom', 'genre') 
-        
-        
+
 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'),)+FONCTION_CHOICES, required=False, label="Fonction")
+    #fonction = forms.ChoiceField(choices=(('','Tous'),)+FONCTION_CHOICES, required=False, label="Fonction")
     pays = forms.ModelChoiceField(queryset=Pays.objects.all().order_by("nom"), required=False, label="Localisation", empty_label="Tous")
       
 class SendPasswordForm(forms.Form):
index fa0708f..860d242 100644 (file)
@@ -48,7 +48,7 @@ class ChercheurQuerySet(models.query.QuerySet):
         for word in text.split():
             qs = qs.filter(Q(personne__nom__icontains=word) |
                            Q(personne__prenom__icontains=word) |
-                           Q(expertise__icontains=word) |
+                           Q(theme_recherche__icontains=word) |
                            Q(etablissement_autre_nom__icontains=word) |
                            Q(etablissement__nom__icontains=word))    
         return qs
@@ -59,7 +59,7 @@ class Chercheur(models.Model):
     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)
+    #fonction = models.CharField(max_length=36, choices=FONCTION_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)
@@ -68,6 +68,7 @@ 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')
 
@@ -135,8 +136,11 @@ class Expertise(models.Model):
     nom = models.CharField(max_length=255, null=True, blank=True, verbose_name = 'Titre de l\'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()
+    organisme_demandeur_visible = models.BooleanField(verbose_name="Afficher l'organisme demandeur")
     actif = models.BooleanField(editable = False, db_column='actif')
+
+    def __unicode__(self):
+        return u"%s" % (self.nom)
     
 class Groupe(models.Model):
     id = models.AutoField(primary_key=True, db_column='id')
index 3e0b9b6..7c3abf5 100644 (file)
@@ -133,9 +133,6 @@ def chercheur_queryset (request):
         pays = simpleForm.cleaned_data["pays"]
         if pays:
             list = list.filter(Q(etablissement__pays = pays.pk) | Q(etablissement_autre_pays = pays.pk))
-        fonction = simpleForm.cleaned_data["fonction"]
-        if fonction:
-            list = list.filter(fonction = fonction)
         discipline = simpleForm.cleaned_data["discipline"]
         if discipline:
             list = list.filter(discipline=discipline)
@@ -174,6 +171,7 @@ def inscription(request):
         publication3_form = PublicationForm (request.POST, prefix="publication3") 
         publication4_form = PublicationForm (request.POST, prefix="publication4")
         these_form = TheseForm(request.POST, prefix="these")
+        expertise_form = ExpertiseForm(request.POST, prefix="expertise")
         groupe_form = GroupeForm(request.POST, prefix="groupe")
         
         if personne_form.is_valid():
@@ -198,7 +196,9 @@ def inscription(request):
                        pub = publication4_form.save()
                        c.publication4 = pub    
                     these = these_form.save()
+                    expertise = expertise_form.save()
                     c.these = these 
+                    c.expertise = expertise
                     etablissement_form.save(commit=False)
                     etablissement_autre_form.save(commit=False)
                     discipline_form.save(commit=False)
@@ -227,6 +227,7 @@ def inscription(request):
         publication3_form = PublicationForm(prefix="publication3") 
         publication4_form = PublicationForm(prefix="publication4")
         these_form = TheseForm(prefix="these")
+        expertise_form = ExpertiseForm(prefix="expertise")
         groupe_form = GroupeForm(prefix="groupe")
     
     variables = { 'personne_form': personne_form,
@@ -239,6 +240,7 @@ def inscription(request):
                   'publication3_form': publication3_form,
                   'publication4_form': publication4_form,
                   'these_form': these_form,
+                  'expertise_form': expertise_form,
                   'groupe_form': groupe_form,
                 }
     
@@ -264,12 +266,13 @@ def edit(request):
         publication3_form = PublicationForm(request.POST, prefix="publication3", instance=chercheur.publication3) 
         publication4_form = PublicationForm(request.POST, prefix="publication4", instance=chercheur.publication4)
         these_form = TheseForm(request.POST, prefix="these", instance=chercheur.these)
+        expertise_form = ExpertiseForm(request.POST, prefix="expertise", instance=chercheur.expertise)
         groupe_form = GroupeForm(request.POST, prefix="groupe", instance=chercheur)
         
         #formset = GroupeFormset(request.POST, prefix="groupes", instance = chercheur)
         
         if( personne_form.is_valid() and discipline_form.is_valid() and chercheur_form.is_valid() and these_form.is_valid()
-            and etablissement_form.is_valid() and etablissement_autre_form.save() and groupe_form.is_valid() ):
+            and etablissement_form.is_valid() and etablissement_autre_form.save() and groupe_form.is_valid() and expertise_form.is_valid() ):
             personne_form.save()
             discipline_form.save()
             chercheur_form.save()
@@ -284,7 +287,8 @@ def edit(request):
                 chercheur.publication3 = publication3_form.save()              
             if publication4_form.is_valid() and publication4_form.cleaned_data['titre']:
                 chercheur.publication4 = publication4_form.save()
-            chercheur.these = these_form.save()                  
+            chercheur.these = these_form.save()  
+            chercheur.expertise = expertise_form.save()                
             chercheur.save()
             #Gestion des groupes
             groupes = request.POST.getlist('groupe-groupes')
@@ -309,6 +313,7 @@ def edit(request):
         publication3_form = PublicationForm(prefix="publication3", instance=chercheur.publication3) 
         publication4_form = PublicationForm(prefix="publication4", instance=chercheur.publication4) 
         these_form = TheseForm(prefix="these", instance=chercheur.these)
+        expertise_form = ExpertiseForm(prefix="expertise", instance=chercheur.expertise)
         groupe_form = GroupeForm(prefix="groupe", instance=chercheur)
         #formset = GroupeFormset(prefix="groupes", instance = chercheur)
         
@@ -323,6 +328,7 @@ def edit(request):
                   'publication3_form': publication3_form,
                   'publication4_form': publication4_form,
                   'these_form': these_form,
+                  'expertise_form': expertise_form,
                   'groupe_form': groupe_form,
                   #'formset' : formset
                 }
index 500355b..9936b2c 100644 (file)
@@ -1,62 +1,10 @@
 {% extends "container_base.html" %}
 
 {% block contenu %}
-
 <h4>{{chercheur.personne.prenom}} {{chercheur.personne.nom}}</h4>
-
 <div class="contenu-wrapper">
-
-{% if personne_form.errors or chercheur_form.errors or etablissement_form.errors or discipline_form.errors or these_form.errors %}
-<span class="message">Votre fiche n'a pas été enregistrée. Veuillez remplir tous les champs obligatoires (*).</span>
-{% endif %}
-
 <form method="post">
-    <fieldset>
-        <legend>Informations personnelles</legend>
-        {% with personne_form as form %}
-            {% include "table_form.html" %}
-        {% endwith %}
-    </fieldset>
-    <fieldset>
-        <legend>Informations académiques</legend>
-        {% with chercheur_form as form %}
-            {% include "table_form.html" %}
-        {% endwith %}
-        {% with groupe_form as form %}
-            {% include "table_form.html" %}
-        {% endwith %}
-    </fieldset>
-    
-    <fieldset>
-        <legend>Etablissement de rattachement</legend>
-        {% with etablissement_form as form %}
-            {% include "table_form.html" %}
-        {% endwith %}
-        <p>Si l'établissement n'existe pas ci-dessus</p>
-        {% with etablissement_autre_form as form %}
-            {% include "table_form.html" %}
-        {% endwith %}
-    </fieldset>
-    
-    <fieldset>
-        <legend>Champ disciplinaire, thèmes de recherche</legend>
-        {% with discipline_form as form %}
-            {% include "table_form.html" %}
-        {% endwith %}
-    </fieldset>
-    
-    <fieldset>
-        <legend>Thèse ou mémoire</legend>
-        <div>
-            <div class="publication">
-              {% with these_form as form %}
-                  {% include "table_form.html" %}
-              {% endwith %}
-            </div>
-            <div style="clear:both"></div>
-        </div>
-    </fieldset>
-    
+    {% include "chercheurs/chercheur_form.html" %}    
     <fieldset>
         <legend>Publications</legend>
         <div>
index 0c5a393..e8bc11f 100644 (file)
@@ -4,59 +4,8 @@
 <h4>Inscription au répertoire de chercheurs</h4>
 
 <div class="contenu-wrapper">
-
-{% if personne_form.errors or chercheur_form.errors or etablissement_form.errors or discipline_form.errors or these_form.errors %}
-<span class="message">Votre fiche n'a pas été enregistrée. Veuillez remplir tous les champs obligatoires (*).</span>
-{% endif %}
-
 <form method="post">
-    <fieldset>
-        <legend>Informations personnelles</legend>
-        {% with personne_form as form %}
-            {% include "table_form.html" %}
-        {% endwith %}
-    </fieldset>
-    
-    <fieldset>
-        <legend>Informations académiques</legend>
-        {% with chercheur_form as form %}
-            {% include "table_form.html" %}
-        {% endwith %}
-        {% with groupe_form as form %}
-            {% include "table_form.html" %}
-        {% endwith %}
-    </fieldset>
-    
-    <fieldset>
-        <legend>Etablissement de rattachement</legend>
-        {% with etablissement_form as form %}
-            {% include "table_form.html" %}
-        {% endwith %}
-        <p>Si l'établissement n'existe pas ci-dessus</p>
-        {% with etablissement_autre_form as form %}
-            {% include "table_form.html" %}
-        {% endwith %}
-    </fieldset>
-    
-    <fieldset>
-        <legend>Champ disciplinaire, thèmes de recherche</legend>
-        {% with discipline_form as form %}
-            {% include "table_form.html" %}
-        {% endwith %}
-    </fieldset>
-
-    <fieldset>
-        <legend>Thèse ou mémoire</legend>
-        <div>
-            <div class="publication">
-              {% with these_form as form %}
-                  {% include "table_form.html" %}
-              {% endwith %}
-            </div>
-            <div style="clear:both"></div>
-        </div>
-    </fieldset>
-        
+    {% include "chercheurs/chercheur_form.html" %}   
     <fieldset>
         <legend>Publications</legend>
         <div>
index a53f162..c36f3b7 100644 (file)
                 <td>{{chercheur.discipline}}</td>
             </tr>
         </table>
-        {% endif %}        
-        
-        
-
-
+        {% endif %}
     </div>
 
 </div>