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() lang = translation.get_language()
term = request.GET['term'] term = request.GET['term']
qs = SearchQuerySet().models(Exposition, Theme, Tag).autocomplete(content_auto=term).order_by('text') 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, result = [{'cat': get_by_lang(item, 'catalog_name', lang),
'id':item.pk, 'name': item.form_name} for item in qs] '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) result = sorted(result, key=lambda x:x['cat'], reverse=True)
return HttpResponse(json.dumps(result), content_type='application/json') return HttpResponse(json.dumps(result), content_type='application/json')
else: else:

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