summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@proxience.com>2014-12-10 13:02:04 +0100
committerÉtienne Loks <etienne.loks@proxience.com>2014-12-10 13:02:04 +0100
commitf5cdf20fd3c33905d1b97fa93a635abc5e7d4d14 (patch)
tree05a2c71fda72fade4e02d05fcff40fba73dc9ac7
parenta0210159c9ae7463402b2f2dd02af6e738a28d78 (diff)
downloadChimère-f5cdf20fd3c33905d1b97fa93a635abc5e7d4d14.tar.bz2
Chimère-f5cdf20fd3c33905d1b97fa93a635abc5e7d4d14.zip
Search: fix marker filtering - deactivate routes
-rw-r--r--chimere/search_indexes.py9
-rw-r--r--chimere/static/chimere/js/search-autocomplete.js2
-rw-r--r--chimere/templates/search/search.html2
-rw-r--r--chimere/views.py2
4 files changed, 11 insertions, 4 deletions
diff --git a/chimere/search_indexes.py b/chimere/search_indexes.py
index 6b57450..5e4a69a 100644
--- a/chimere/search_indexes.py
+++ b/chimere/search_indexes.py
@@ -20,7 +20,10 @@
import datetime
from haystack import indexes
+from django.db.models import Q
+
from chimere import models
+from chimere.views import checkDate
class GeographicItemIndex(indexes.SearchIndex):
text = indexes.CharField(document=True, use_template=True)
@@ -29,7 +32,9 @@ class GeographicItemIndex(indexes.SearchIndex):
content_auto = indexes.EdgeNgramField(model_attr='name')
def index_queryset(self, using=None):
- return self.get_model().objects.filter(status='A')
+ q = checkDate(Q(status='A', categories__available=True,
+ categories__category__available=True))
+ return self.get_model().objects.filter(q).distinct('pk').order_by('pk')
def prepare_categories(self, obj):
cats = []
@@ -42,6 +47,7 @@ class MarkerIndex(GeographicItemIndex, indexes.Indexable):
def get_model(self):
return models.Marker
+"""
class RouteIndex(GeographicItemIndex, indexes.Indexable):
location = indexes.LocationField()
def get_model(self):
@@ -50,3 +56,4 @@ class RouteIndex(GeographicItemIndex, indexes.Indexable):
def prepare_location(self, obj):
centroid = obj.route.centroid
return "%s,%s" % (centroid.y, centroid.x)
+"""
diff --git a/chimere/static/chimere/js/search-autocomplete.js b/chimere/static/chimere/js/search-autocomplete.js
index 79faab1..cd1b0e1 100644
--- a/chimere/static/chimere/js/search-autocomplete.js
+++ b/chimere/static/chimere/js/search-autocomplete.js
@@ -1,5 +1,5 @@
-var no_result_message = "No results found.";
+var no_result_message = "No exact match.";
var Autocomplete = function(options) {
this.form_selector = options.form_selector;
diff --git a/chimere/templates/search/search.html b/chimere/templates/search/search.html
index 4405381..572276f 100644
--- a/chimere/templates/search/search.html
+++ b/chimere/templates/search/search.html
@@ -37,7 +37,7 @@ for (idx=0 ; idx < new_ids.length ; idx++){
</form>
<div id='search-result'></div>
<script type='text/javascript'>
-no_result_message = "{% trans 'No results found.' %}";
+no_result_message = "{% trans 'No exact match.' %}";
$(function(){
$('#haystack-search').click(
function(evt){
diff --git a/chimere/views.py b/chimere/views.py
index 0afb6fa..968492c 100644
--- a/chimere/views.py
+++ b/chimere/views.py
@@ -948,7 +948,7 @@ if hasattr(settings, 'CHIMERE_SEARCH_ENGINE') \
def autocomplete(request):
sqs = SearchQuerySet().autocomplete(
content_auto=request.GET.get('q', ''))[:5]
- suggestions = [result.object.name for result in sqs]
+ suggestions = [result.object.name for result in sqs if result.object]
# make sure it returns a JSON object, not a bare list.
# otherwise, it could be vulnerable to an XSS attack.
the_data = json.dumps({