Recherche de chercheurs:
authorEric Mc Sween <eric.mcsween@gmail.com>
Tue, 9 Nov 2010 22:49:42 +0000 (17:49 -0500)
committerEric Mc Sween <eric.mcsween@gmail.com>
Tue, 9 Nov 2010 22:49:42 +0000 (17:49 -0500)
- Membre d'une instance de l'AUF
- Expert de l'OIF
- Membre de la FIPF

Demande #589

auf_savoirs_en_partage/chercheurs/forms.py
auf_savoirs_en_partage/chercheurs/views.py
auf_savoirs_en_partage/templates/chercheurs/index.html
auf_savoirs_en_partage/templates/chercheurs/rechercher.html [deleted file]

index 431c13e..c80b2d7 100644 (file)
@@ -199,6 +199,9 @@ class RepertoireSearchForm (forms.Form):
     pays = forms.ModelChoiceField(queryset=Pays.objects.all(), required=False, label="Pays", empty_label="Tous")
     region = forms.ModelChoiceField(queryset=Region.objects.all(), required=False, label="Région", empty_label="Toutes")
     nord_sud = forms.ChoiceField(choices=(('', 'Tous'), ('Nord', 'Nord'), ('Sud', 'Sud')), required=False, label="Nord/Sud")
+    membre_instance_auf = forms.BooleanField(required=False, label="Membre d'une instance de l'AUF")
+    expert_oif = forms.BooleanField(required=False, label="Expert de l'OIF")
+    membre_fipf = forms.BooleanField(required=False, label="Membre de la FIPF")
       
     def get_query_set(self):
         qs = Chercheur.objects.all()
@@ -234,6 +237,12 @@ class RepertoireSearchForm (forms.Form):
             nord_sud = self.cleaned_data['nord_sud']
             if nord_sud:
                 qs = qs.filter(Q(etablissement__pays__nord_sud=nord_sud) | Q(etablissement_autre_pays__nord_sud=nord_sud))
+            if self.cleaned_data['membre_instance_auf']:
+                qs = qs.filter(membre_instance_auf=True)
+            if self.cleaned_data['expert_oif']:
+                qs = qs.filter(expert_oif=True)
+            if self.cleaned_data['membre_fipf']:
+                qs = qs.filter(membre_fipf=True)
         return qs
     
 class SendPasswordForm(forms.Form):
index 9b67bf2..75ef9fd 100644 (file)
@@ -125,7 +125,7 @@ def index(request):
     chercheurs = search_form.get_query_set()
     nb_chercheurs = chercheurs.count()
     return render_to_response("chercheurs/index.html",
-                              dict(chercheurs=chercheurs, nb_chercheurs=nb_chercheurs, repertoire_form=search_form),
+                              dict(chercheurs=chercheurs, nb_chercheurs=nb_chercheurs, search_form=search_form),
                               context_instance=RequestContext(request))
 
 def inscription(request):
index 915379e..77bdebd 100644 (file)
@@ -1,24 +1,84 @@
 {% extends "container_base.html" %}
+{% load pagination_tags %}
+{% load sorting_tags %}
+{% load form_tags %}
 
 {% block contenu %}
+{% autosort chercheurs %}
+{% autopaginate chercheurs 20 %}
 
 <h4>Répertoire des chercheurs</h4>
 
 <ul class="actions">
-  {% include "chercheurs/actions.html" %}
+    {% include "chercheurs/actions.html" %}
 </ul>
 
 <div class="texte">
     <p>
-    Bienvenue sur le répertoire des chercheurs francophones de l'Agence universitaire de la Francophonie (AUF).
+    Bienvenue sur le répertoire des chercheurs francophones de l'Agence
+    universitaire de la Francophonie (AUF).
     </p>
     <p>
-    Cet outil recense les universitaires (enseignants, chercheurs, doctorants) impliqués, ou souhaitant s'impliquer, dans les projets scientifiques appuyés par l'AUF. Il permet à la communauté scientifique de se mobiliser sur des projets en fonction de repères thématiques et/ou régionaux. 
+    Cet outil recense les universitaires (enseignants, chercheurs, doctorants)
+    impliqués, ou souhaitant s'impliquer, dans les projets scientifiques appuyés
+    par l'AUF. Il permet à la communauté scientifique de se mobiliser sur des
+    projets en fonction de repères thématiques et/ou régionaux. 
     </p>
     <p>
-    Dans le cadre de la programmation quadriennale, la politique scientifique de l'AUF s'appuie sur la mise en œuvre de projets inter-universitaires régionaux ou internationaux. Les <i>réseaux de chercheurs</i> ne sont plus le critère d'organisation du répertoire (consulter la <a href="{% url chercheurs.views.conversion %}">table de passage</a>). Les chercheurs précisent leur discipline et choissent leurs centres d'intérêt dans des listes prédéfinies, et ajoutent des mots-clés pour affiner leur profil scientifique.
+    Dans le cadre de la programmation quadriennale, la politique scientifique de
+    l'AUF s'appuie sur la mise en œuvre de projets inter-universitaires
+    régionaux ou internationaux. Les <i>réseaux de chercheurs</i> ne sont plus
+    le critère d'organisation du répertoire (consulter la <a href="{% url chercheurs.views.conversion %}">table de passage</a>). 
+    Les chercheurs précisent leur discipline et choissent leurs centres
+    d'intérêt dans des listes prédéfinies, et ajoutent des mots-clés pour
+    affiner leur profil scientifique.
     </p>
 </div>
 
-{% include "chercheurs/rechercher.html" %}
+<h5>Recherche</h5>
+
+<form method="get" action="" class="contenu-wrapper">
+    <table id="repertoire_recherche">
+        {% form_field search_form.mots_cles %}
+        {% form_field search_form.nom %}
+        {% form_field search_form.discipline %}
+        {% form_field search_form.domaine %}
+        {% form_field search_form.groupe_recherche %}
+        {% form_field search_form.statut %}
+        {% form_field search_form.pays %}
+        {% form_field search_form.region %}
+        {% form_field search_form.nord_sud %}
+        <tr>
+            <td><label>Activités en francophonie</label></td>
+            <td>
+                {{ search_form.membre_instance_auf }} {{ search_form.membre_instance_auf.label_tag }}<br />
+                {{ search_form.expert_oif }} {{ search_form.expert_oif.label_tag }}<br />
+                {{ search_form.membre_fipf }} {{ search_form.membre_fipf.label_tag }}
+            </td>
+        </tr>
+        <tr><th></th><td><input type="submit" class="bouton" value="Rechercher" /></td></tr>
+    </table>
+</form>
+
+<h5>Résultats : {{nb_chercheurs}} chercheurs correspondant à votre recherche</h5>
+
+<div class="centre">{% paginate %}</div>
+<div class="contenu-wrapper">
+    <table id="repertoire">
+        <tr>
+            <th>{% anchor personne__nom Nom %}</th>
+            <th>{% anchor etablissement__nom Établissement %}</th>
+            <th>{% anchor etablissement__pays Localisation %}</th>
+        </tr>
+    {% for chercheur in chercheurs %}
+        <tr class="{% cycle 'odd' 'notodd' %}">
+            <td><a href="{% url chercheurs.views.retrieve chercheur.id %}">{{ chercheur }}</a></td>
+            <td>{% firstof chercheur.etablissement chercheur.etablissement_autre_nom %}</td>
+            <td>{% firstof chercheur.etablissement.pays chercheur.etablissement_autre_pays %}</td>
+        </tr>
+    {% endfor %}
+    </table>
+</div>
+<div class="centre">{% paginate %}</div>
+
 {% endblock %}
diff --git a/auf_savoirs_en_partage/templates/chercheurs/rechercher.html b/auf_savoirs_en_partage/templates/chercheurs/rechercher.html
deleted file mode 100644 (file)
index a77da0e..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-{% load pagination_tags %}
-{% load sorting_tags %}
-
-{% autosort chercheurs %}
-{% autopaginate chercheurs 20 %}
-
-<h5>Recherche</h5>
-
-<form method="get" action="" class="contenu-wrapper">
-    <table id="repertoire_recherche">
-    {{repertoire_form.as_table}}
-    <tr><th></th><td><input type="submit" class="bouton" value="Rechercher" /></td></tr>
-    </table>
-</form>
-
-<h5>Résultats : {{nb_chercheurs}} chercheurs correspondant à votre recherche</h5>
-
-<div class="centre">{% paginate %}</div>
-<div class="contenu-wrapper">
-    <table id="repertoire">
-        <tr>
-            <th>{% anchor personne__nom Nom %}</th>
-            <th>{% anchor etablissement__nom Établissement %}</th>
-            <th>{% anchor etablissement__pays Localisation %}</th>
-        </tr>
-    {% for chercheur in chercheurs %}
-        <tr class="{% cycle 'odd' 'notodd' %}">
-            <td><a href="{% url chercheurs.views.retrieve chercheur.id %}">{{ chercheur }}</a></td>
-            <td>{% firstof chercheur.etablissement chercheur.etablissement_autre_nom %}</td>
-            <td>{% firstof chercheur.etablissement.pays chercheur.etablissement_autre_pays %}</td>
-        </tr>
-    {% endfor %}
-    </table>
-</div>
-<div class="centre">{% paginate %}</div>
-