Merge branch 'master' of ssh://git.auf/auf_savoirs_en_partage_django
authorEric Mc Sween <eric.mcsween@gmail.com>
Fri, 29 Oct 2010 20:08:36 +0000 (16:08 -0400)
committerEric Mc Sween <eric.mcsween@gmail.com>
Fri, 29 Oct 2010 20:08:36 +0000 (16:08 -0400)
1  2 
auf_savoirs_en_partage/chercheurs/models.py

@@@ -44,27 -44,23 +44,27 @@@ class ChercheurManager(models.Manager)
  class ChercheurQuerySet(models.query.QuerySet):
  
      def search(self, text):
 -        qs = self
 +        q = None
          for word in text.split():
 -            qs = qs.filter(Q(personne__nom__icontains=word) |
 -                           Q(personne__prenom__icontains=word) |
 -                           Q(theme_recherche__icontains=word) |
 -                           Q(etablissement_autre_nom__icontains=word) |
 -                           Q(etablissement__nom__icontains=word) |
 -                           Q(etablissement__pays__nom__icontains=word) |
 -                           Q(discipline__nom__icontains=word) |
 -                           Q(publication1__titre__icontains=word) |
 -                           Q(publication2__titre__icontains=word) |
 -                           Q(publication3__titre__icontains=word) |
 -                           Q(publication4__titre__icontains=word) |
 -                           Q(these__titre__icontains=word)).distinct()
 -        return qs
 +            part = (Q(personne__nom__icontains=word) |
 +                    Q(personne__prenom__icontains=word) |
 +                    Q(theme_recherche__icontains=word) |
 +                    Q(etablissement_autre_nom__icontains=word) |
 +                    Q(etablissement__nom__icontains=word) |
 +                    Q(etablissement__pays__nom__icontains=word) |
 +                    Q(discipline__nom__icontains=word) |
 +                    Q(publication1__titre__icontains=word) |
 +                    Q(publication2__titre__icontains=word) |
 +                    Q(publication3__titre__icontains=word) |
 +                    Q(publication4__titre__icontains=word) |
 +                    Q(these__titre__icontains=word))
 +            if q is None:
 +                q = part
 +            else:
 +                q = q & part
 +        return self.filter(q).distinct() if q is not None else self
  
- 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')