diff --git a/applications/adminportal/views.py b/applications/adminportal/views.py index dfbbda4..31a5ae4 100644 --- a/applications/adminportal/views.py +++ b/applications/adminportal/views.py @@ -1,3 +1,4 @@ +from uu import Error from django.conf import settings from django.contrib import messages from django.contrib.auth.decorators import login_required, user_passes_test @@ -15,9 +16,10 @@ from datetime import date, datetime from applications.alumniprofile.models import Profile +from applications.blog.models import Blog from applications.events_news.models import Event from .models import EmailTemplate, EmailHistory - +from django.db.models import Q import pytz ALLOWED_RECIPIENTS_PER_DAY = 500 @@ -66,7 +68,8 @@ def get_rendered_emails(from_email, email_template, recipients): login_url=reverse_lazy('home') ) def index(request): - return render(request, 'adminportal/index.html') + blogs = Blog.objects.filter(Q(approved=False)) + return render(request, 'adminportal/index.html', {'blogs': blogs}) #Function to convert datetime from naive to offset diff --git a/applications/blog/models.py b/applications/blog/models.py index e253e20..8cadd17 100644 --- a/applications/blog/models.py +++ b/applications/blog/models.py @@ -47,6 +47,7 @@ class Blog(models.Model): blog_type = models.CharField(choices=Constants.TYPE, max_length=15,default='S') campaign_id = models.ForeignKey(Campaign, on_delete=models.CASCADE, null=True, blank=True) + approved = models.BooleanField(default=False) def __str__(self): return self.title diff --git a/applications/blog/urls.py b/applications/blog/urls.py index fe269f1..7fdfbb3 100644 --- a/applications/blog/urls.py +++ b/applications/blog/urls.py @@ -10,6 +10,7 @@ path('/', views.blog_detail, name='blog_detail'), path('newBlog/', views.blog_create, name='blog_create'), path('/edit/', views.blog_update, name='blog_update'), + path('/approve/', views.blog_approve, name='blog_approve'), path('/delete/', views.blog_delete, name='blog_delete'), path('/deleteReply/', views.reply_delete, name='reply_delete'), diff --git a/applications/blog/views.py b/applications/blog/views.py index c719097..6ed0367 100644 --- a/applications/blog/views.py +++ b/applications/blog/views.py @@ -75,6 +75,19 @@ def blog_update(request,blog_id): return redirect('blog:index') context={'form':form} return render(request,'blog/blog_form.html',context) + except: + return redirect('blog:index') + +@login_required +def blog_approve(request,blog_id): + try: + blog=Blog.objects.get(blog_id=blog_id) + form=BlogForm(instance=blog) + if(request.method)=='POST': + blog.approved = True + blog.save() + context={'form':blog} + return render(request,'blog/blog_form.html',context) except: return redirect('blog:index') diff --git a/templates/adminportal/index.html b/templates/adminportal/index.html index 904a933..66128de 100644 --- a/templates/adminportal/index.html +++ b/templates/adminportal/index.html @@ -26,10 +26,97 @@ --> - -
- Dashboard page to be updated... :) + +
+

Blogs to be approved

+
+ {% if blogs %} + + + + + + + + + + {% for blog in blogs %} + + + + + + {% endfor %} + +
TitleDetailsActions
+ {{blog.title}} + + + + + +
+ {% else %} +

No remaining blogs for approval

+ {% endif %}
+ + +
- {% include 'globals/footer.html' %} -{% endblock %} +{% include 'globals/footer.html' %} {% endblock %}