author | Nishanth Amuluru <nishanth@fossee.in> |
Sat, 08 Jan 2011 01:45:34 +0530 | |
changeset 300 | ce5f3cdbd545 |
parent 288 | 869a9ab7e2df |
permissions | -rw-r--r-- |
288 | 1 |
from pytask.profile.models import Notification |
284
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
2 |
|
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
3 |
def get_notification(nid, user): |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
4 |
""" if notification exists, and belongs to the current user, return it. |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
5 |
else return None. |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
6 |
""" |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
7 |
|
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
8 |
user_notifications = user.notification_sent_to.filter(is_deleted=False).order_by('sent_date') |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
9 |
current_notifications = user_notifications.filter(uniq_key=nid) |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
10 |
if user_notifications: |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
11 |
current_notification = current_notifications[0] |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
12 |
|
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
13 |
try: |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
14 |
newer_notification = current_notification.get_next_by_sent_date(sent_to=user, is_deleted=False) |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
15 |
newest_notification = user_notifications.reverse()[0] |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
16 |
if newest_notification == newer_notification: |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
17 |
newest_notification = None |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
18 |
except Notification.DoesNotExist: |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
19 |
newest_notification, newer_notification = None, None |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
20 |
|
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
21 |
try: |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
22 |
older_notification = current_notification.get_previous_by_sent_date(sent_to=user, is_deleted=False) |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
23 |
oldest_notification = user_notifications[0] |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
24 |
if oldest_notification == older_notification: |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
25 |
oldest_notification = None |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
26 |
except: |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
27 |
oldest_notification, older_notification = None, None |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
28 |
|
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
29 |
return newest_notification, newer_notification, current_notification, older_notification, oldest_notification |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
30 |
|
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
31 |
else: |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
32 |
return None, None, None, None, None |