base setup
This commit is contained in:
27
at_django_boilerplate/notification/views.py
Executable file
27
at_django_boilerplate/notification/views.py
Executable file
@@ -0,0 +1,27 @@
|
||||
# notifications_app/views.py
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.shortcuts import render, redirect, get_object_or_404
|
||||
from .models import Notification
|
||||
|
||||
@login_required
|
||||
def notification_list(request):
|
||||
notifications = request.user.notifications.filter(is_archived=False)
|
||||
return render(request, "notifications_list.html", {"notifications": notifications})
|
||||
|
||||
@login_required
|
||||
def notification_mark_read(request, pk):
|
||||
notification = get_object_or_404(Notification, pk=pk, recipient=request.user)
|
||||
notification.is_read = True
|
||||
notification.save()
|
||||
return redirect("notification_list")
|
||||
|
||||
@login_required
|
||||
def notification_delete(request, pk):
|
||||
notification = get_object_or_404(Notification, pk=pk, recipient=request.user)
|
||||
notification.soft_delete()
|
||||
return redirect("notification_list")
|
||||
|
||||
@login_required
|
||||
def notification_mark_all_read(request):
|
||||
request.user.notifications.update(is_read=True)
|
||||
return redirect("notification_list")
|
||||
Reference in New Issue
Block a user