Files
2026-01-07 12:09:20 +05:30

28 lines
992 B
Python
Executable File

# 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")