def run(self, min_date=None, max_date=None): 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.filter_discipline(self.discipline) ressources = ressources.filter_discipline(self.discipline) chercheurs = chercheurs.filter_discipline(self.discipline) sites = sites.filter_discipline(self.discipline) if self.region: actualites = actualites.filter_region(self.region) evenements = evenements.filter_region(self.region) ressources = ressources.filter_region(self.region) chercheurs = chercheurs.filter_region(self.region) sites = sites.filter_region(self.region) if min_date: actualites = actualites.filter_date(min=min_date) evenements = evenements.filter_date_modification(min=min_date) ressources = ressources.filter_modified(min=min_date) chercheurs = chercheurs.filter_date_modification(min=min_date) sites = sites.filter_date_maj(min=min_date) if max_date: actualites = actualites.filter_date(max=max_date) evenements = evenements.filter_date_modification(max=max_date) ressources = ressources.filter_modified(max=max_date) chercheurs = chercheurs.filter_date_modification(max=max_date) sites = sites.filter_date_maj(max=max_date) try: sites_auf = google_search(0, self.q)['results'] except: sites_auf = [] return GlobalSearchResults( actualites=actualites.order_by('-date').filter_type('actu'), appels=actualites.order_by('-date').filter_type('appels'), evenements=evenements.order_by('-debut'), ressources=ressources.order_by('-modified'), chercheurs=chercheurs.order_by('-date_modification'), groupes=groupes.order_by('nom'), sites=sites.order_by('-date_maj'), sites_auf=sites_auf )
def sites_auf(request): q = request.GET.get('q') page = int(request.GET.get('page', 0)) try: data = google_search(page, q) if q else None except: data = None return render(request, 'savoirs/sites_auf.html', { 'google_q': q, 'data': data, 'page': page, })