Commit | Line | Data |
---|---|---|
01a9197e | 1 | # -*- encoding: utf-8 -*- |
2 | from django.shortcuts import render_to_response | |
3 | from django.template import Context, RequestContext | |
54ab837c | 4 | from django.db.models import Q |
01a9197e | 5 | |
6 | from models import Site | |
54ab837c AJ |
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) | |
b39b9367 EMS |
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) | |
54ab837c AJ |
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 | ||
01a9197e | 36 | |
37 | def index(request): | |
54ab837c AJ |
38 | sites = search_queryset(request) |
39 | site_form = SiteSearchForm(request.GET) | |
40 | nb_sites = sites.count() | |
01a9197e | 41 | variables = { 'sites': sites, |
54ab837c AJ |
42 | 'site_form': site_form, |
43 | 'nb_sites': nb_sites, | |
01a9197e | 44 | } |
45 | return render_to_response ("sites/index.html", \ | |
54ab837c | 46 | Context(variables), |
01a9197e | 47 | context_instance = RequestContext(request)) |
6e001443 | 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)) |