def __unicode__(self):
return u"%s" % (self.nom)
-class GroupeChercheurManager(models.Manager):
+class GroupeManager(models.Manager):
+ def search(self, text):
+ return self.get_query_set().filter(nom__icontains=text)
+
+class GroupeChercheurManager(GroupeManager):
def get_query_set(self):
return super(GroupeChercheurManager, self).get_query_set().filter(groupe_chercheur=True)
-class DomaineRechercheManager(models.Manager):
+class DomaineRechercheManager(GroupeManager):
def get_query_set(self):
return super(DomaineRechercheManager, self).get_query_set().filter(groupe_chercheur=False)
responsables = models.ManyToManyField(User, related_name='responsable_groupe', verbose_name='responsables', blank=True)
- objects = models.Manager()
+ objects = GroupeManager()
groupe_chercheur_objects = GroupeChercheurManager()
domaine_recherche_objects = DomaineRechercheManager()
class GlobalSearchResults(object):
def __init__(self, actualites=None, appels=None, evenements=None,
- ressources=None, chercheurs=None, sites=None, sites_auf=None):
+ ressources=None, chercheurs=None, groupes=None,
+ sites=None, sites_auf=None):
self.actualites = actualites
self.appels = appels
self.evenements = evenements
self.ressources = ressources
self.chercheurs = chercheurs
+ self.groupes = groupes
self.sites = sites
self.sites_auf = sites_auf
def __nonzero__(self):
return bool(self.actualites or self.appels or self.evenements or
- self.ressources or self.chercheurs or self.sites or self.sites_auf)
+ self.ressources or self.chercheurs or self.groupes or
+ self.sites or self.sites_auf)
class Search(models.Model):
user = models.ForeignKey(User, editable=False)
return model.objects.get(id=self.id)
def run(self, min_date=None, max_date=None):
- from chercheurs.models import Chercheur
+ from chercheurs.models import Chercheur, Groupe
from sitotheque.models import Site
actualites = Actualite.objects
evenements = Evenement.objects
ressources = Record.objects
chercheurs = Chercheur.objects
+ groupes = Groupe.objects
sites = Site.objects
if self.q:
actualites = actualites.search(self.q)
evenements = evenements.search(self.q)
ressources = ressources.search(self.q)
chercheurs = chercheurs.search(self.q)
+ groupes = groupes.search(self.q)
sites = sites.search(self.q)
if self.discipline:
actualites = actualites.filter_discipline(self.discipline)
evenements=evenements.order_by('-debut'),
ressources=ressources.order_by('-id'),
chercheurs=chercheurs.order_by('-date_modification'),
+ groupes=groupes.order_by('nom'),
sites=sites.order_by('-date_maj'),
sites_auf=sites_auf
)
ressources=results.ressources[0:5], total_ressources=results.ressources.count(),
evenements=results.evenements[0:5], total_evenements=results.evenements.count(),
chercheurs=results.chercheurs[0:10], total_chercheurs=results.chercheurs.count(),
+ groupes=results.groupes[0:10], total_groupes=results.groupes.count(),
actualites=results.actualites[0:5], total_actualites=results.actualites.count(),
appels=results.appels[0:5], total_appels=results.appels.count(),
sites=results.sites[0:5], total_sites=results.sites.count(),