687a084a748cddb2f524b75f1a5c1ba6fd3e125f
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
6 from models
import Site
7 from forms
import SiteSearchForm
9 def search_queryset(request
):
10 list = Site
.objects
.order_by("titre")
13 simpleForm
= SiteSearchForm(request
.GET
)
14 if simpleForm
.is_valid ():
15 pays
= simpleForm
.cleaned_data
["pays"]
17 list = list.filter(pays
= pays
.pk
)
18 discipline
= simpleForm
.cleaned_data
["discipline"]
20 list = list.filter(discipline
=discipline
)
22 # XXX: On ne veut pas chercher par thématique pour l'instant
23 # thematique = simpleForm.cleaned_data["thematique"]
25 # list = list.filter(thematique=thematique)
27 mots_cles
= simpleForm
.cleaned_data
["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
) )
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
,
45 return render_to_response ("sites/index.html", \
47 context_instance
= RequestContext(request
))
49 def retrieve(request
, id):
51 site
= Site
.objects
.get(id=id)
52 variables
= { 'site': site
,
54 return render_to_response ("sites/retrieve.html", \
56 context_instance
= RequestContext(request
))