""" non-interactive pages """ from django.contrib.auth.decorators import login_required from django.template.response import TemplateResponse from django.utils.decorators import method_decorator from django.shortcuts import redirect from django.views import View # pylint: disable= no-self-use @method_decorator(login_required, name="dispatch") class Notifications(View): """ notifications view """ def get(self, request): """ people are interacting with you, get hyped """ notifications = request.user.notification_set.all().order_by("-created_date") unread = [n.id for n in notifications.filter(read=False)] data = { "notifications": notifications, "unread": unread, } notifications.update(read=True) return TemplateResponse(request, "notifications.html", data) def post(self, request): """ permanently delete notification for user """ request.user.notification_set.filter(read=True).delete() return redirect("/notifications")