From 05097785c8fc032c171a5cda728f43c6fa6271e5 Mon Sep 17 00:00:00 2001 From: Kris Date: Sat, 3 Sep 2011 11:11:16 +0100 Subject: [PATCH] TranslationPool should now return only translations in languages defined in settings.LANGUAGES --- simple_translation/templatetags/simple_translation_tags.py | 4 +--- simple_translation/translation_pool.py | 4 ++-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/simple_translation/templatetags/simple_translation_tags.py b/simple_translation/templatetags/simple_translation_tags.py index 4132aaf..78cb747 100644 --- a/simple_translation/templatetags/simple_translation_tags.py +++ b/simple_translation/templatetags/simple_translation_tags.py @@ -18,9 +18,7 @@ def render_language_choices(obj, request): if not hasattr(obj, 'translations'): annotate_with_translations(obj) language = getattr(request, 'LANGUAGE_CODE', settings.LANGUAGE_CODE) - languages = [language_code for language_code, language_name in settings.LANGUAGES] - translations = [translation for translation in obj.translations if translation.language in languages] - translations = [translation for translation in translations if translation.language != language] + translations = [translation for translation in obj.translations if translation.language != language] opts = obj.__class__._meta app_label = opts.app_label return render_to_string([ diff --git a/simple_translation/translation_pool.py b/simple_translation/translation_pool.py index 54d4f05..9ea9f1b 100644 --- a/simple_translation/translation_pool.py +++ b/simple_translation/translation_pool.py @@ -80,9 +80,9 @@ class TranslationPool(object): if self.is_registered_translation(model): instance = getattr(list_or_instance, \ self.get_info(model).translation_of_field) - + languages = [language_code for language_code, language_name in settings.LANGUAGES] list_or_instance.translations = list(getattr(instance, \ - self.get_info(model).translations_of_accessor).all()) + self.get_info(model).translations_of_accessor).filter(**{'%s__in' % self.language_field: languages})) return list_or_instance else: result_list = list_or_instance