From 639a3edd84bed15b4de865d386a86faba8ed97de Mon Sep 17 00:00:00 2001 From: Nazar Kotjuk Date: Wed, 14 Oct 2015 01:55:56 +0300 Subject: [PATCH] Merged from develop --- article/forms.py | 8 ++++---- article/views.py | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/article/forms.py b/article/forms.py index 88849b80..787b31ee 100644 --- a/article/forms.py +++ b/article/forms.py @@ -266,7 +266,7 @@ class BlogForm(forms.ModelForm): class ArticleFilterForm(forms.Form): theme = forms.MultipleChoiceField(label=_(u'Тематика:'), required=False, - choices=[(item.id, item.name) for item in ThemeBlog.objects.language().distinct()]) + choices=[(item.id, item.name) for item in Theme.objects.language().distinct()]) tag = forms.CharField(label=_(u'Теги:'), widget=forms.HiddenInput(), required=False) ''' @@ -290,7 +290,7 @@ class BlogFilterForm(forms.Form): create dynamical translated fields fields """ super(BlogFilterForm, self).__init__(*args, **kwargs) - ids = [item['theme'] for item in list(Article.objects.blogs().values('theme').distinct())] + ids = set([item['blog_theme'] for item in list(Article.objects.blogs().filter(blog_theme__isnull=False).values('blog_theme'))]) self.fields['theme'] = forms.MultipleChoiceField(label=_(u'Тематика:'), required=False, choices=[(item.id, item.name) for item in ThemeBlog.objects.language().filter(id__in=ids)]) @@ -303,6 +303,6 @@ class NewsFilterForm(forms.Form): create dynamical translated fields fields """ super(NewsFilterForm, self).__init__(*args, **kwargs) - ids = [item['theme'] for item in list(Article.objects.news().values('theme').distinct())] + ids = set([item['theme'] for item in list(Article.objects.news().values('theme'))]) self.fields['theme'] = forms.MultipleChoiceField(label=_(u'Тематика:'), required=False, - choices=[(item.id, item.name) for item in Theme.objects.language().exclude(article__id=None).filter(id__in=ids)]) \ No newline at end of file + choices=[(item.id, item.name) for item in Theme.objects.language().filter(id__in=ids)]) \ No newline at end of file diff --git a/article/views.py b/article/views.py index 06932d0b..f62d3b5c 100644 --- a/article/views.py +++ b/article/views.py @@ -4,7 +4,7 @@ from django.views.generic import DetailView from functions.custom_views import ListView from django.http import HttpResponse from models import Article -from forms import ArticleFilterForm +from forms import ArticleFilterForm, BlogFilterForm, NewsFilterForm from theme.models import Tag, Theme, ThemeBlog from meta.views import MetadataMixin @@ -37,7 +37,7 @@ class NewsList(MetadataMixin, ListView): def get_context_data(self, **kwargs): context = super(NewsList, self).get_context_data(object_list=self.object_list) if self.request.GET: - filter_form = ArticleFilterForm(self.request.GET) + filter_form = NewsFilterForm(self.request.GET) tags = self.request.GET.getlist('tag') if u'' in tags: tags.remove(u'') @@ -48,7 +48,7 @@ class NewsList(MetadataMixin, ListView): filter_form.fields['tag'].widget.attrs['data-predifined'] = json.dumps(tags) filter_form.fields['tag'].widget.attrs['value'] = '' else: - filter_form = ArticleFilterForm() + filter_form = NewsFilterForm() context['article_filter_form'] = filter_form return context @@ -87,7 +87,7 @@ class BlogList(MetadataMixin, ListView): def get_context_data(self, **kwargs): context = super(BlogList, self).get_context_data(object_list=self.object_list) if self.request.GET: - filter_form = ArticleFilterForm(self.request.GET) + filter_form = BlogFilterForm(self.request.GET) tags = self.request.GET.getlist('tag') if u'' in tags: tags.remove(u'') @@ -98,7 +98,7 @@ class BlogList(MetadataMixin, ListView): filter_form.fields['tag'].widget.attrs['data-predifined'] = json.dumps(tags) filter_form.fields['tag'].widget.attrs['value'] = '' else: - filter_form = ArticleFilterForm() + filter_form = BlogFilterForm() context['article_filter_form'] = filter_form return context