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