aboutsummaryrefslogtreecommitdiff
path: root/blog_admin
diff options
context:
space:
mode:
authorBobby <[email protected]>2023-06-11 19:02:56 -0400
committerBobby <[email protected]>2023-06-11 19:02:56 -0400
commit114460370c2613ea103b6eb709b3ea076d045bc9 (patch)
tree4c8880f06f1bc688ee8dc33a71279afe2abb75f6 /blog_admin
parent9ec43e3db2ee50be54bf2cb27da3266f697af850 (diff)
downloadthatcomputerscientist-114460370c2613ea103b6eb709b3ea076d045bc9.tar.xz
thatcomputerscientist-114460370c2613ea103b6eb709b3ea076d045bc9.zip
Admin area improvements and comments management
Diffstat (limited to 'blog_admin')
-rw-r--r--blog_admin/urls.py1
-rw-r--r--blog_admin/views.py34
2 files changed, 26 insertions, 9 deletions
diff --git a/blog_admin/urls.py b/blog_admin/urls.py
index 9b02fa89..251ebc35 100644
--- a/blog_admin/urls.py
+++ b/blog_admin/urls.py
@@ -10,4 +10,5 @@ urlpatterns = [
path('/posts/<str:slug>/edit', views.edit_post, name='edit-post'),
path('/posts/<str:slug>/publish', views.publish_post, name='publish-post'),
path('/posts/<str:slug>/unpublish', views.unpublish_post, name='unpublish-post'),
+ path('/comments', views.comments, name='comments'),
] \ No newline at end of file
diff --git a/blog_admin/views.py b/blog_admin/views.py
index bd4f9dc2..c552db05 100644
--- a/blog_admin/views.py
+++ b/blog_admin/views.py
@@ -4,23 +4,39 @@ from datetime import datetime
from django.contrib import messages
from django.http import HttpResponseRedirect
from django.shortcuts import redirect, render, reverse
-
-from blog.models import Category, Post, Tag
-from ignis.models import CoverImage
+from django.core.paginator import Paginator
+from blog.models import Category, Post, Tag, Comment
# Create your views here.
def posts(request):
if request.user.is_authenticated and (request.user.is_superuser or request.user.is_staff):
page = request.GET.get('page') if request.GET.get('page') else 1
+ posts = Post.objects.all().order_by('-date')
+ posts = Paginator(posts, 50)
+ num_pages = posts.num_pages
try:
- page = int(page)
+ posts = posts.page(page)
except:
- page = 1
- posts = Post.objects.all().order_by('-date')[50 * (page - 1):50 * page]
- num_pages = Post.objects.all().count() // 50 + 1
- url_to_render = 'blog_admin/posts.html?page={}'.format(page) if int(page) and int(page) > 1 else 'blog_admin/posts.html'
- return render(request, url_to_render, { 'title': 'Manage Posts', 'posts': posts, 'num_pages': num_pages, 'page': page })
+ posts = posts.page(num_pages)
+
+ return render(request, 'blog_admin/posts.html', { 'title': 'Manage Posts', 'posts': posts, 'num_pages': num_pages, 'page': page })
+ else:
+ return redirect('blog:home')
+
+def comments(request):
+ if request.user.is_authenticated and (request.user.is_superuser or request.user.is_staff):
+ page = request.GET.get('page') if request.GET.get('page') else 1
+ comments = Comment.objects.all().order_by('-created_at')
+ comments = Paginator(comments, 50)
+ num_pages = comments.num_pages
+ try:
+ comments = comments.page(page)
+ except:
+ comments = comments.page(num_pages)
+
+ return render(request, 'blog_admin/comments.html', { 'title': 'Manage Comments', 'comments': comments, 'num_pages': num_pages, 'page': page })
+
else:
return redirect('blog:home')