remotes/origin/1203
Назар Котюк 11 years ago
parent 4e0ab73339
commit 315c08b8fe
  1. 7
      settings/views.py
  2. 21
      theme/search_indexes.py

@ -92,8 +92,11 @@ def expo_autosearch(request):
lang = translation.get_language()
term = request.GET['term']
qs = SearchQuerySet().models(Exposition, Theme, Tag).autocomplete(content_auto=term).order_by('text')
result = [{'cat': get_by_lang(item, 'catalog_name', lang), 'text': get_by_lang(item, 'name', lang), 'url':item.url,
'id':item.pk, 'name': item.form_name} for item in qs]
result = [{'cat': get_by_lang(item, 'catalog_name', lang),
'text': '%s(%s)'%(get_by_lang(item, 'name', lang),get_by_lang(item, 'parent', lang)) if get_by_lang(item, 'parent', lang) else get_by_lang(item, 'name', lang),
'url':item.url,
'id':item.pk,
'name': item.form_name} for item in qs]
result = sorted(result, key=lambda x:x['cat'], reverse=True)
return HttpResponse(json.dumps(result), content_type='application/json')
else:

@ -103,23 +103,26 @@ class TagIndex(indexes.SearchIndex, indexes.Indexable, ExpoSearchMixin):
catalog_name_ru = indexes.CharField()
def prepare_parent_en(self, obj):
translation.activate('en')
#translation.activate('en')
try:
name = obj.theme.name
return name
# name = obj.theme.name
# return name
return obj.theme.translations.get(language_code='en').name
except:
return ''
def prepare_parent_ru(self, obj):
translation.activate('ru')
#translation.activate('ru')
#print(obj.theme.name.encode('utf-8'))
try:
name = obj.theme.name
return name
#name = obj.theme.name
#return name
return obj.theme.translations.get(language_code='ru').name
except:
return ''
def prepare_name_en(self, obj):
translation.activate('en')
#translation.activate('en')
try:
name = obj.translations.get(language_code = 'en').name
name = '%s'%name
@ -150,5 +153,5 @@ class TagIndex(indexes.SearchIndex, indexes.Indexable, ExpoSearchMixin):
return Tag
def index_queryset(self, using=None):
return self.get_model().active.all()
#return self.get_model().objects.filter()
#return self.get_model().active.all()
return self.get_model().objects.filter()
Loading…
Cancel
Save