taskapp/views/user.py
changeset 103 3a4c8fccb9f3
parent 101 e2903a92b5e8
child 104 d1bdd5d6c1a6
--- a/taskapp/views/user.py	Thu Feb 25 19:46:19 2010 +0530
+++ b/taskapp/views/user.py	Thu Feb 25 20:13:59 2010 +0530
@@ -171,3 +171,46 @@
     }
 
     return render_to_response('user/browse_notifications.html', context)
+
+@login_required
+def view_notification(request, nid):
+    """ get the notification depending on nid.
+    Display it.
+    """
+
+    user = request.user
+    notifications = user.notification_to.filter(deleted=False).order_by('sent_date')
+    notification  = notifications[int(nid)]
+    notification.is_read = True
+    notification.save()
+
+    context = {
+        'user':user,
+        'notification':notification,
+    }
+
+    return render_to_response('user/view_notification.html', context)
+
+@login_required
+def edit_notification(request, nid, action):
+    """ if action is delete, set is_deleted.
+    if it is unread, unset is_read.
+    save the notification and redirect to browse_notifications.
+    """
+
+    user = request.user
+    notifications = user.notification_to.filter(deleted=False).order_by('sent_date')
+    notification = notifications[int(nid)]
+    notifications_url = "/user/notifications/"
+
+    if request.method == "POST":
+        if action == "delete":
+            notification.deleted = True
+        elif action == "unread":
+            notification.is_read = False
+        
+        notification.save()
+        return redirect(notifications_url)
+    else:
+        return show_msg('This is wrong', notification_url, "view the notification")
+