--- 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),
)