Enlevé le critère "thématique" de la recherche dans les sites.
[auf_savoirs_en_partage_django.git] / auf_savoirs_en_partage / sitotheque / views.py
1 # -*- encoding: utf-8 -*-
2 from django.shortcuts import render_to_response
3 from django.template import Context, RequestContext
4 from django.db.models import Q
5
6 from models import Site
7 from forms import SiteSearchForm
8
9 def search_queryset(request):
10 list = Site.objects.order_by("titre")
11 pays = ""
12
13 simpleForm = SiteSearchForm(request.GET)
14 if simpleForm.is_valid ():
15 pays = simpleForm.cleaned_data["pays"]
16 if pays:
17 list = list.filter(pays = pays.pk)
18 discipline = simpleForm.cleaned_data["discipline"]
19 if discipline:
20 list = list.filter(discipline=discipline)
21
22 # XXX: On ne veut pas chercher par thématique pour l'instant
23 # thematique = simpleForm.cleaned_data["thematique"]
24 # if thematique:
25 # list = list.filter(thematique=thematique)
26
27 mots_cles = simpleForm.cleaned_data["mots_cles"]
28 if mots_cles:
29 list = list.filter( Q(titre__icontains=mots_cles)
30 | Q(description__icontains=mots_cles)
31 | Q(editeur__icontains=mots_cles)
32 | Q(auteur__icontains=mots_cles)
33 | Q(mots_cles__icontains=mots_cles) )
34 return list
35
36
37 def index(request):
38 sites = search_queryset(request)
39 site_form = SiteSearchForm(request.GET)
40 nb_sites = sites.count()
41 variables = { 'sites': sites,
42 'site_form': site_form,
43 'nb_sites': nb_sites,
44 }
45 return render_to_response ("sites/index.html", \
46 Context(variables),
47 context_instance = RequestContext(request))
48
49 def retrieve(request, id):
50 """Fiche du site"""
51 site = Site.objects.get(id=id)
52 variables = { 'site': site,
53 }
54 return render_to_response ("sites/retrieve.html", \
55 Context (variables),
56 context_instance = RequestContext(request))