|
|
|
|
@ -1,4 +1,5 @@ |
|
|
|
|
import datetime |
|
|
|
|
from operator import attrgetter |
|
|
|
|
from django.utils import translation |
|
|
|
|
from django.core.cache import cache |
|
|
|
|
from hvad.models import TranslationManager |
|
|
|
|
@ -36,6 +37,7 @@ class ThemeActiveManager(TranslationManager): |
|
|
|
|
from exposition.models import Exposition |
|
|
|
|
themes_id = [item['theme'] for item in Exposition.objects.values('theme').distinct()] |
|
|
|
|
themes = list(self.language().filter(id__in=themes_id)) |
|
|
|
|
themes = sorted(themes, key=attrgetter('name')) |
|
|
|
|
cache.set(key, themes, 300) |
|
|
|
|
return themes |
|
|
|
|
|
|
|
|
|
@ -53,7 +55,7 @@ class ThemeActiveManager(TranslationManager): |
|
|
|
|
themes_id = [item['theme'] for item in Exposition.objects.filter(is_published=True, data_end__gte=now).values('theme').distinct()] |
|
|
|
|
#themes = set(list(self.language().filter(id__in=themes_id).extra(select=sql))) |
|
|
|
|
themes = set(list(self.language().filter(id__in=themes_id))) |
|
|
|
|
themes = sorted(themes, key=lambda x: x.name) |
|
|
|
|
themes = sorted(themes, key=attrgetter('name')) |
|
|
|
|
cache.set(key, themes, self.cache_time) |
|
|
|
|
return themes |
|
|
|
|
|
|
|
|
|
@ -70,7 +72,7 @@ class ThemeActiveManager(TranslationManager): |
|
|
|
|
themes_id = [item['theme'] for item in Conference.objects.filter(is_published=True, data_end__gte=now).values('theme').distinct()] |
|
|
|
|
#themes = set(list(self.language().filter(id__in=themes_id).extra(select=sql))) |
|
|
|
|
themes = set(list(self.language().filter(id__in=themes_id))) |
|
|
|
|
themes = sorted(themes, key=lambda x: x.name) |
|
|
|
|
themes = sorted(themes, key=attrgetter('name')) |
|
|
|
|
cache.set(key, themes, self.cache_time) |
|
|
|
|
return themes |
|
|
|
|
|
|
|
|
|
@ -115,7 +117,7 @@ class TagActiveManager(TranslationManager): |
|
|
|
|
tag_id = [item['tag'] for item in Conference.objects.filter(is_published=True, data_end__gte=now).values('tag').distinct()] |
|
|
|
|
#themes = set(list(self.language().filter(id__in=themes_id).extra(select=sql))) |
|
|
|
|
tags = set(list(self.language().filter(id__in=tag_id))) |
|
|
|
|
tags = sorted(tags, key=lambda x: x.name) |
|
|
|
|
tags = sorted(tags, key=attrgetter('name')) |
|
|
|
|
cache.set(key, tags, self.cache_time) |
|
|
|
|
return tags |
|
|
|
|
|
|
|
|
|
@ -133,7 +135,7 @@ class TagActiveManager(TranslationManager): |
|
|
|
|
tags_id = [item['tag'] for item in Exposition.objects.filter(is_published=True, data_end__gte=now).values('tag').distinct()] |
|
|
|
|
#themes = set(list(self.language().filter(id__in=themes_id).extra(select=sql))) |
|
|
|
|
tags = set(list(self.language().filter(id__in=tags_id))) |
|
|
|
|
tags = sorted(tags, key=lambda x: x.name) |
|
|
|
|
tags = sorted(tags, key=attrgetter('name')) |
|
|
|
|
cache.set(key, tags, self.cache_time) |
|
|
|
|
return tags |
|
|
|
|
|
|
|
|
|
@ -150,6 +152,6 @@ class TagActiveManager(TranslationManager): |
|
|
|
|
tags_id = [item['tag'] for item in Conference.objects.filter(is_published=True, data_end__gte=now).values('tag').distinct()] |
|
|
|
|
#themes = set(list(self.language().filter(id__in=themes_id).extra(select=sql))) |
|
|
|
|
tags = set(list(self.language().filter(id__in=tags_id))) |
|
|
|
|
tags = sorted(tags, key=lambda x: x.name) |
|
|
|
|
tags = sorted(tags, key=attrgetter('name')) |
|
|
|
|
cache.set(key, tags, self.cache_time) |
|
|
|
|
return tags |
|
|
|
|
|