summaryrefslogtreecommitdiff
path: root/yaksh/middleware/get_notifications.py
diff options
context:
space:
mode:
Diffstat (limited to 'yaksh/middleware/get_notifications.py')
-rw-r--r--yaksh/middleware/get_notifications.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/yaksh/middleware/get_notifications.py b/yaksh/middleware/get_notifications.py
new file mode 100644
index 0000000..d211ad3
--- /dev/null
+++ b/yaksh/middleware/get_notifications.py
@@ -0,0 +1,21 @@
+from notifications_plugin.models import Notification
+
+class NotificationMiddleware(object):
+ """ Middleware to get user's notifications """
+ def __init__(self, get_response):
+ self.get_response = get_response
+
+ def __call__(self, request):
+ # Code to be executed for each request before
+ # the view (and later middleware) are called.
+ user = request.user
+ if user.is_authenticated:
+ notifications = Notification.objects.get_unread_receiver_notifications(
+ user.id
+ ).count()
+ request.custom_notifications = notifications
+ response = self.get_response(request)
+
+ # Code to be executed for each request/response after
+ # the view is called.
+ return response