Newer
Older
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from newsbox.views import NewsboxDetailView
from django.utils.translation import get_language
class NewsboxI18NPublishedMixinView(object):
queryset = super(NewsboxI18NPublishedMixinView, self).get_queryset()
queryset = queryset.active_translations()
return queryset
class NewsboxI18NListMixin(NewsboxI18NPublishedMixinView):
def __new__(cls, *args, **kwargs):
from warnings import warn
warn(('newsbox_i18n.views.NewsboxI18NListMixin is deprecated. '
'Please use newsbox_i18n.views.NewsboxI18NPublishedMixinView instead'),
DeprecationWarning)
return super(NewsboxI18NListMixin, cls).__new__(cls, *args, **kwargs)
class NewsboxI18NDetailView(NewsboxI18NPublishedMixinView, NewsboxDetailView):
slug_field = "translations__newsbox_slug"
"""
As slug_field is translated, we need to use translation aware
queryset.
"""
queryset = queryset.translated(language, newsbox_slug=self.kwargs[self.slug_url_kwarg])
return super(NewsboxI18NDetailView, self).get_object(queryset)