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,
    })