added the functionality to view each notification
authornishanth
Thu, 25 Feb 2010 20:13:59 +0530
changeset 103 3a4c8fccb9f3
parent 102 67de265ca06a
child 104 d1bdd5d6c1a6
added the functionality to view each notification
taskapp/views/user.py
templates/user/view_notification.html
urls.py
--- 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")
+   
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/user/view_notification.html	Thu Feb 25 20:13:59 2010 +0530
@@ -0,0 +1,10 @@
+{% extends 'base.html' %}
+{% block content %}
+    Subject: {{notification.sub}}<br />
+    Sent time: {{notification.sent_date}}<br />
+    {% autoescape off %}
+        {{notification.message}}
+    {% endautoescape %}
+    <form action="delete/" method="post"> <input type="submit" value="Delete"> </form>
+    <form action="unread/" method="post"> <input type="submit" value="Keep Unread"> </form>
+{% endblock %}
--- a/urls.py	Thu Feb 25 19:46:19 2010 +0530
+++ b/urls.py	Thu Feb 25 20:13:59 2010 +0530
@@ -50,5 +50,7 @@
     (r'^user/requests/rid=(\d+)/(\w+)/$', userViews.process_request),
 
     (r'^user/notifications/$', userViews.browse_notifications),
+    (r'^user/notifications/nid=(\d+)/$', userViews.view_notification),
+    (r'^user/notifications/nid=(\d+)/(\w+)/$', userViews.edit_notification),
     
 )