Fix filtering
This commit is contained in:
parent
e00acb07e2
commit
9999e6a622
1 changed files with 9 additions and 5 deletions
|
|
@ -4,6 +4,7 @@ from cms.utils import get_language_from_request
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from django.core.urlresolvers import resolve
|
from django.core.urlresolvers import resolve
|
||||||
from django.db.models import Count
|
from django.db.models import Count
|
||||||
|
from django.http import Http404
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from django.views.generic import ListView, DetailView
|
from django.views.generic import ListView, DetailView
|
||||||
from parler.utils import get_active_language_choices
|
from parler.utils import get_active_language_choices
|
||||||
|
|
@ -16,7 +17,7 @@ class BaseBlogView(object):
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
language = get_language_from_request(self.request)
|
language = get_language_from_request(self.request)
|
||||||
manager = self.model._default_manager.language(language)
|
manager = self.model._default_manager.translated(language)
|
||||||
if not self.request.user.is_staff:
|
if not self.request.user.is_staff:
|
||||||
manager = manager.filter(publish=True)
|
manager = manager.filter(publish=True)
|
||||||
return manager
|
return manager
|
||||||
|
|
@ -45,10 +46,13 @@ class PostDetailView(BaseBlogView, DetailView):
|
||||||
slug_field = 'translations__slug'
|
slug_field = 'translations__slug'
|
||||||
|
|
||||||
def get_object(self, queryset=None):
|
def get_object(self, queryset=None):
|
||||||
qs = self.model._default_manager.get(**{
|
try:
|
||||||
'translations__language_code': get_language_from_request(self.request),
|
qs = self.model._default_manager.get(**{
|
||||||
self.slug_field: self.kwargs.get(self.slug_url_kwarg, None)
|
'translations__language_code': get_language_from_request(self.request),
|
||||||
})
|
self.slug_field: self.kwargs.get(self.slug_url_kwarg, None)
|
||||||
|
})
|
||||||
|
except Post.DoesNotExist:
|
||||||
|
raise Http404()
|
||||||
return qs
|
return qs
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue