''' 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 = { 'title': 'Notifications', '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')