refs #1117 : index genre
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Mon, 31 Jan 2011 16:50:29 +0000 (11:50 -0500)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Mon, 31 Jan 2011 16:50:29 +0000 (11:50 -0500)
auf_savoirs_en_partage/chercheurs/models.py
auf_savoirs_en_partage/scripts/sphinx.conf.py.in

index a812ce1..f64b8c2 100644 (file)
@@ -93,6 +93,10 @@ class ChercheurSphinxQuerySet(SEPSphinxQuerySet):
     def filter_nord_sud(self, nord_sud):
         return self.filter(nord_sud=self.NORD_SUD_CODES[nord_sud])
 
     def filter_nord_sud(self, nord_sud):
         return self.filter(nord_sud=self.NORD_SUD_CODES[nord_sud])
 
+    GENRE_CODES = dict([(k, i+1) for i, (k, v) in enumerate(GENRE_CHOICES)])
+    def filter_genre(self, genre):
+        return self.filter(genre=self.GENRE_CODES[genre])
+
     STATUT_CODES = {'enseignant': 1, 'etudiant': 2, 'independant': 3}
     def filter_statut(self, statut):
         return self.filter(statut=self.STATUT_CODES[statut])
     STATUT_CODES = {'enseignant': 1, 'etudiant': 2, 'independant': 3}
     def filter_statut(self, statut):
         return self.filter(statut=self.STATUT_CODES[statut])
index a96dc6a..d0f584b 100644 (file)
@@ -186,6 +186,9 @@ emit_source('savoirsenpartage_chercheurs',
                                   WHEN 'etudiant' THEN 2
                                   WHEN 'independant' THEN 3
                                   END AS statut,
                                   WHEN 'etudiant' THEN 2
                                   WHEN 'independant' THEN 3
                                   END AS statut,
+                      CASE p.genre WHEN 'm' THEN 1
+                                  WHEN 'f' THEN 2
+                                  END AS genre,
                       (ex.id IS NOT NULL) AS expert
                FROM chercheurs_chercheur c
                INNER JOIN chercheurs_personne p ON c.personne_ptr_id = p.id
                       (ex.id IS NOT NULL) AS expert
                FROM chercheurs_chercheur c
                INNER JOIN chercheurs_personne p ON c.personne_ptr_id = p.id
@@ -206,8 +209,8 @@ emit_source('savoirsenpartage_chercheurs',
                            'date_modification', 'statut', 'expert',
                            'membre_instance_auf', 'expert_oif',
                            'membre_association_francophone',
                            'date_modification', 'statut', 'expert',
                            'membre_instance_auf', 'expert_oif',
                            'membre_association_francophone',
-                           'membre_reseau_institutionnel'],
-            sql_attr_str2ordinal=['nom_complet', 'etablissement_attr', 'pays_attr'])
+                           'membre_reseau_institutionnel', 'genre', ],
+            sql_attr_str2ordinal=['nom_complet', 'etablissement_attr', 'pays_attr', ])
                       
 emit_source('savoirsenpartage_sites',
             '''SELECT s.id AS id,
                       
 emit_source('savoirsenpartage_sites',
             '''SELECT s.id AS id,