diff --git a/HISTORY.rst b/HISTORY.rst index 7558d7b..a0b80e5 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -14,6 +14,7 @@ History * Fixed error with on_site filter * Removed meta-mixin compatibility code * Changed slug size to 255 chars +* Fixed pagination setting in list views 0.7.0 (2016-03-19) ++++++++++++++++++ diff --git a/djangocms_blog/views.py b/djangocms_blog/views.py index 6e49205..74ed7f0 100644 --- a/djangocms_blog/views.py +++ b/djangocms_blog/views.py @@ -19,6 +19,7 @@ User = get_user_model() class BaseBlogView(AppConfigMixin, ViewUrlMixin): + model = Post def get_view_url(self): if not self.view_url_name: @@ -51,14 +52,12 @@ class BaseBlogView(AppConfigMixin, ViewUrlMixin): return os.path.join(template_path, self.base_template_name) -class PostListView(BaseBlogView, ListView): - model = Post +class BaseBlogListView(BaseBlogView): context_object_name = 'post_list' base_template_name = 'post_list.html' - view_url_name = 'djangocms_blog:posts-latest' def get_context_data(self, **kwargs): - context = super(PostListView, self).get_context_data(**kwargs) + context = super(BaseBlogListView, self).get_context_data(**kwargs) context['TRUNCWORDS_COUNT'] = get_setting('POSTS_LIST_TRUNCWORDS_COUNT') return context @@ -67,7 +66,6 @@ class PostListView(BaseBlogView, ListView): class PostDetailView(TranslatableSlugMixin, BaseBlogView, DetailView): - model = Post context_object_name = 'post' base_template_name = 'post_detail.html' slug_field = 'slug' @@ -102,14 +100,14 @@ class PostDetailView(TranslatableSlugMixin, BaseBlogView, DetailView): return context -class PostArchiveView(BaseBlogView, ListView): - model = Post - context_object_name = 'post_list' - base_template_name = 'post_list.html' +class PostListView(BaseBlogListView, ListView): + view_url_name = 'djangocms_blog:posts-latest' + + +class PostArchiveView(BaseBlogListView, ListView): date_field = 'date_published' allow_empty = True allow_future = True - paginate_by = get_setting('PAGINATION') view_url_name = 'djangocms_blog:posts-archive' def get_queryset(self): @@ -126,15 +124,10 @@ class PostArchiveView(BaseBlogView, ListView): if kwargs['year']: kwargs['archive_date'] = now().replace(kwargs['year'], kwargs['month'] or 1, 1) context = super(PostArchiveView, self).get_context_data(**kwargs) - context['TRUNCWORDS_COUNT'] = get_setting('POSTS_LIST_TRUNCWORDS_COUNT') return context -class TaggedListView(BaseBlogView, ListView): - model = Post - context_object_name = 'post_list' - base_template_name = 'post_list.html' - paginate_by = get_setting('PAGINATION') +class TaggedListView(BaseBlogListView, ListView): view_url_name = 'djangocms_blog:posts-tagged' def get_queryset(self): @@ -145,15 +138,10 @@ class TaggedListView(BaseBlogView, ListView): kwargs['tagged_entries'] = (self.kwargs.get('tag') if 'tag' in self.kwargs else None) context = super(TaggedListView, self).get_context_data(**kwargs) - context['TRUNCWORDS_COUNT'] = get_setting('POSTS_LIST_TRUNCWORDS_COUNT') return context -class AuthorEntriesView(BaseBlogView, ListView): - model = Post - context_object_name = 'post_list' - base_template_name = 'post_list.html' - paginate_by = get_setting('PAGINATION') +class AuthorEntriesView(BaseBlogListView, ListView): view_url_name = 'djangocms_blog:posts-authors' def get_queryset(self): @@ -165,16 +153,11 @@ class AuthorEntriesView(BaseBlogView, ListView): def get_context_data(self, **kwargs): kwargs['author'] = User.objects.get(**{User.USERNAME_FIELD: self.kwargs.get('username')}) context = super(AuthorEntriesView, self).get_context_data(**kwargs) - context['TRUNCWORDS_COUNT'] = get_setting('POSTS_LIST_TRUNCWORDS_COUNT') return context -class CategoryEntriesView(BaseBlogView, ListView): - model = Post - context_object_name = 'post_list' - base_template_name = 'post_list.html' +class CategoryEntriesView(BaseBlogListView, ListView): _category = None - paginate_by = get_setting('PAGINATION') view_url_name = 'djangocms_blog:posts-category' @property @@ -200,5 +183,4 @@ class CategoryEntriesView(BaseBlogView, ListView): def get_context_data(self, **kwargs): kwargs['category'] = self.category context = super(CategoryEntriesView, self).get_context_data(**kwargs) - context['TRUNCWORDS_COUNT'] = get_setting('POSTS_LIST_TRUNCWORDS_COUNT') return context