diff options
author | nishanth | 2010-02-25 20:13:59 +0530 |
---|---|---|
committer | nishanth | 2010-02-25 20:13:59 +0530 |
commit | 6126d148bb0569cb185614437369535b43b4ca8e (patch) | |
tree | 1f622a7bdd6b0b70840ff7d73459670d493ad0bc | |
parent | 2fdc3b3fa991a219122d404be058f0102b48ccac (diff) | |
download | pytask-6126d148bb0569cb185614437369535b43b4ca8e.tar.gz pytask-6126d148bb0569cb185614437369535b43b4ca8e.tar.bz2 pytask-6126d148bb0569cb185614437369535b43b4ca8e.zip |
added the functionality to view each notification
-rw-r--r-- | taskapp/views/user.py | 43 | ||||
-rw-r--r-- | templates/user/view_notification.html | 10 | ||||
-rw-r--r-- | urls.py | 2 |
3 files changed, 55 insertions, 0 deletions
diff --git a/taskapp/views/user.py b/taskapp/views/user.py index 5dc686d..e1e3fbd 100644 --- a/taskapp/views/user.py +++ b/taskapp/views/user.py @@ -171,3 +171,46 @@ def browse_notifications(request): } 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") + diff --git a/templates/user/view_notification.html b/templates/user/view_notification.html new file mode 100644 index 0000000..f31eed9 --- /dev/null +++ b/templates/user/view_notification.html @@ -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 %} @@ -50,5 +50,7 @@ urlpatterns = patterns('', (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), ) |