From a9867f53f8f70973a2fa28dea7c36bfaf472e741 Mon Sep 17 00:00:00 2001 From: Olivier Le Brouster <olivier.le-brouster@webu.coop> Date: Wed, 21 Oct 2015 14:14:52 +0000 Subject: [PATCH] add i18n queryset and view mixin --- newsbox_i18n/models.py | 10 ++++++++-- newsbox_i18n/views.py | 8 ++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/newsbox_i18n/models.py b/newsbox_i18n/models.py index 4f393d0..bd815ec 100644 --- a/newsbox_i18n/models.py +++ b/newsbox_i18n/models.py @@ -5,14 +5,20 @@ from django.core.urlresolvers import reverse from django.utils.translation import ugettext_lazy as _, get_language, activate from django.utils import six from django.utils.encoding import python_2_unicode_compatible -from parler.managers import TranslatableManager +from parler.managers import TranslatableManager, TranslatableQuerySet from parler.models import TranslatableModel, TranslatedFields from newsbox.models import NewsboxModelBase, NewsboxManager -class NewsboxI18NManager(TranslatableManager, NewsboxManager): +class NewsboxI18NQueryset(TranslatableQuerySet): pass + +class NewsboxI18NManager(TranslatableManager, NewsboxManager): + + queryset_class = NewsboxI18NQueryset + + def newsboxi18n_mcls_processor(mcls, class_name, class_bases, class_attrs, base, newsbox_opts): translatedFields={} for trans_field in newsbox_opts['trans_fieldnames']: diff --git a/newsbox_i18n/views.py b/newsbox_i18n/views.py index 6c1045a..5a5cb3a 100644 --- a/newsbox_i18n/views.py +++ b/newsbox_i18n/views.py @@ -5,6 +5,14 @@ from newsbox.views import NewsboxDetailView from django.utils.translation import get_language +class NewsboxI18NListMixin(object): + + def get_queryset(self): + queryset = super(NewsboxI18NListMixin, self).get_queryset() + queryset = queryset.active_translations() + return queryset + + class NewsboxI18NDetailView(NewsboxDetailView): slug_field = "translations__newsbox_slug" -- GitLab