fnp
/
django-migdal.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
entry photos in admin
[django-migdal.git]
/
migdal
/
search_indexes.py
diff --git
a/migdal/search_indexes.py
b/migdal/search_indexes.py
index
27169f3
..
91f7ab7
100644
(file)
--- a/
migdal/search_indexes.py
+++ b/
migdal/search_indexes.py
@@
-1,27
+1,40
@@
-import datetime
+# -*- coding: utf-8 -*-
+# This file is part of PrawoKultury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.conf import settings
from haystack import indexes
from django.conf import settings
from haystack import indexes
-from fnpdjango.utils.models.translation import add_translatable_index
+from fnpdjango.utils.models.translation import add_translatable_index
, localize_field
from migdal.models import Entry
from migdal.models import Entry
-class EntryIndex(indexes.RealTimeSearchIndex, indexes.Indexable):
+class EntryIndex(indexes.SearchIndex, indexes.Indexable):
+ text = indexes.CharField(
+ null=True,
+ model_attr=localize_field('body', settings.LANGUAGE_CODE),
+ document=True)
date = indexes.DateTimeField(indexed=True, model_attr="date")
author = indexes.CharField(model_attr="author")
date = indexes.DateTimeField(indexed=True, model_attr="date")
author = indexes.CharField(model_attr="author")
+ def prepare_date(self, obj):
+ date = u''
+ if 'date' in self.prepared_data:
+ date = self.prepared_data['date'].strftime('%Y-%m-%dT%H:%M:%SZ')
+ return date
+
def get_model(self):
return Entry
def get_model(self):
return Entry
- def index_queryset(self):
- """Used when the entire index for model is updated."""
- return self.get_model().objects.all() # filter(date__lte=datetime.datetime.now())
-
add_translatable_index(EntryIndex, {
'title': indexes.CharField(null=True),
'lead': indexes.CharField(null=True),
add_translatable_index(EntryIndex, {
'title': indexes.CharField(null=True),
'lead': indexes.CharField(null=True),
- 'body': indexes.CharField(null=True)
})
})
-
-getattr(EntryIndex, "body_%s" % settings.LANGUAGE_CODE).document = True
+add_translatable_index(EntryIndex, {
+ 'title': indexes.CharField(null=True),
+ 'lead': indexes.CharField(null=True),
+ 'body': indexes.CharField(null=True)
+ },
+ (lang for lang in settings.LANGUAGES if lang[0] != settings.LANGUAGE_CODE)
+)