projets
/
auf_savoirs_en_partage_django.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
b1a717a
)
Bugfix: la recherche plantait quand on ne lui donnait pas de texte à chercher.
author
Eric Mc Sween
<eric.mcsween@gmail.com>
Fri, 29 Oct 2010 20:20:14 +0000
(16:20 -0400)
committer
Eric Mc Sween
<eric.mcsween@gmail.com>
Fri, 29 Oct 2010 20:20:14 +0000
(16:20 -0400)
auf_savoirs_en_partage/savoirs/models.py
patch
|
blob
|
blame
|
history
auf_savoirs_en_partage/savoirs/views.py
patch
|
blob
|
blame
|
history
auf_savoirs_en_partage/sitotheque/models.py
patch
|
blob
|
blame
|
history
diff --git
a/auf_savoirs_en_partage/savoirs/models.py
b/auf_savoirs_en_partage/savoirs/models.py
index
c0be775
..
bb50020
100644
(file)
--- a/
auf_savoirs_en_partage/savoirs/models.py
+++ b/
auf_savoirs_en_partage/savoirs/models.py
@@
-88,7
+88,7
@@
class EvenementQuerySet(models.query.QuerySet):
q = part
else:
q = q & part
q = part
else:
q = q & part
- return qs.filter(q)
+ return qs.filter(q) if q is not None else qs
def search_titre(self, text):
qs = self
def search_titre(self, text):
qs = self
@@
-267,15
+267,19
@@
class RecordQuerySet(models.query.QuerySet):
q = part
else:
q = q & part
q = part
else:
q = q & part
- qs = qs.filter(q).distinct()
+ if q is not None:
+ qs = qs.filter(q).distinct()
# On donne un point pour chaque mot présent dans le titre.
# On donne un point pour chaque mot présent dans le titre.
- score_expr = ' + '.join(['(title LIKE %s)'] * len(words))
- score_params = ['%' + word + '%' for word in words]
- return qs.extra(
- select={'score': score_expr},
- select_params=score_params
- ).order_by('-score')
+ if words:
+ score_expr = ' + '.join(['(title LIKE %s)'] * len(words))
+ score_params = ['%' + word + '%' for word in words]
+ qs = qs.extra(
+ select={'score': score_expr},
+ select_params=score_params
+ ).order_by('-score')
+
+ return qs
def search_auteur(self, text):
qs = self
def search_auteur(self, text):
qs = self
diff --git
a/auf_savoirs_en_partage/savoirs/views.py
b/auf_savoirs_en_partage/savoirs/views.py
index
cb8de2f
..
1897b7a
100644
(file)
--- a/
auf_savoirs_en_partage/savoirs/views.py
+++ b/
auf_savoirs_en_partage/savoirs/views.py
@@
-1,7
+1,7
@@
# -*- encoding: utf-8 -*-
import datetime, simplejson, copy, vobject
# -*- encoding: utf-8 -*-
import datetime, simplejson, copy, vobject
-from django.shortcuts import render_to_response, get_object_or_404
+from django.shortcuts import render_to_response, get_object_or_404, redirect
from django.template import Context, RequestContext
from django.http import HttpResponse, HttpResponseRedirect
from django.contrib.auth.decorators import login_required
from django.template import Context, RequestContext
from django.http import HttpResponse, HttpResponseRedirect
from django.contrib.auth.decorators import login_required
@@
-57,6
+57,8
@@
def legal(request):
# recherche
def recherche(request):
query = request.GET.get("q", "")
# recherche
def recherche(request):
query = request.GET.get("q", "")
+ if not query.strip():
+ return redirect('/')
ressources = Record.objects.validated().search(query)
actualites = Actualite.objects.filter(visible=1).search(query)
evenements = Evenement.objects.filter(approuve=1).search(query)
ressources = Record.objects.validated().search(query)
actualites = Actualite.objects.filter(visible=1).search(query)
evenements = Evenement.objects.filter(approuve=1).search(query)
diff --git
a/auf_savoirs_en_partage/sitotheque/models.py
b/auf_savoirs_en_partage/sitotheque/models.py
index
12cfd1b
..
e04ff77
100644
(file)
--- a/
auf_savoirs_en_partage/sitotheque/models.py
+++ b/
auf_savoirs_en_partage/sitotheque/models.py
@@
-43,7
+43,8
@@
class SiteQuerySet(models.query.QuerySet):
q = part
else:
q = q & part
q = part
else:
q = q & part
- qs = qs.filter(q).distinct()
+ if q is not None:
+ qs = qs.filter(q).distinct()
return qs
class Site(models.Model):
return qs
class Site(models.Model):