From 315c08b8fe4b66e08d085d245c13209bda4dda06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9D=D0=B0=D0=B7=D0=B0=D1=80=20=D0=9A=D0=BE=D1=82=D1=8E?= =?UTF-8?q?=D0=BA?= Date: Fri, 16 Jan 2015 12:12:23 +0200 Subject: [PATCH] task 43 --- settings/views.py | 7 +++++-- theme/search_indexes.py | 21 ++++++++++++--------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/settings/views.py b/settings/views.py index be9bf5da..ea8fd076 100644 --- a/settings/views.py +++ b/settings/views.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: diff --git a/theme/search_indexes.py b/theme/search_indexes.py index c3069a45..edb8a51c 100644 --- a/theme/search_indexes.py +++ b/theme/search_indexes.py @@ -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() \ No newline at end of file + #return self.get_model().active.all() + return self.get_model().objects.filter() \ No newline at end of file