author | Madhusudan.C.S <madhusudancs@gmail.com> |
Fri, 04 Feb 2011 16:37:22 +0530 | |
changeset 556 | a0e57ca7cf56 |
parent 470 | 68884c9b61e0 |
permissions | -rw-r--r-- |
420
920fb0dcc384
Use django shortcut for raising 404s.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
378
diff
changeset
|
1 |
from django import shortcuts |
378
8fcde6f8f750
added view_user functionality
Nishanth Amuluru <nishanth@fossee.in>
parents:
307
diff
changeset
|
2 |
from django.http import Http404 |
8fcde6f8f750
added view_user functionality
Nishanth Amuluru <nishanth@fossee.in>
parents:
307
diff
changeset
|
3 |
from django.contrib.auth.models import User |
288 | 4 |
from pytask.profile.models import Notification |
284
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
5 |
|
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
6 |
def get_notification(nid, user): |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
7 |
""" 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
|
8 |
else return None. |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
9 |
""" |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
10 |
|
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
11 |
user_notifications = user.notification_sent_to.filter(is_deleted=False).order_by('sent_date') |
470
68884c9b61e0
Remove the remaining occurences of uniq_key.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
420
diff
changeset
|
12 |
current_notifications = user_notifications.filter(pk=nid) |
284
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
13 |
if user_notifications: |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
14 |
current_notification = current_notifications[0] |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
15 |
|
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
16 |
try: |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
17 |
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
|
18 |
newest_notification = user_notifications.reverse()[0] |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
19 |
if newest_notification == newer_notification: |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
20 |
newest_notification = None |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
21 |
except Notification.DoesNotExist: |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
22 |
newest_notification, newer_notification = None, None |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
23 |
|
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
24 |
try: |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
25 |
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
|
26 |
oldest_notification = user_notifications[0] |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
27 |
if oldest_notification == older_notification: |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
28 |
oldest_notification = None |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
29 |
except: |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
30 |
oldest_notification, older_notification = None, None |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
31 |
|
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
32 |
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
|
33 |
|
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
34 |
else: |
72db9563fae1
created a function for viewign notifications
Nishanth Amuluru <nishanth@fossee.in>
parents:
248
diff
changeset
|
35 |
return None, None, None, None, None |
378
8fcde6f8f750
added view_user functionality
Nishanth Amuluru <nishanth@fossee.in>
parents:
307
diff
changeset
|
36 |
|
8fcde6f8f750
added view_user functionality
Nishanth Amuluru <nishanth@fossee.in>
parents:
307
diff
changeset
|
37 |
def get_user(uid): |
8fcde6f8f750
added view_user functionality
Nishanth Amuluru <nishanth@fossee.in>
parents:
307
diff
changeset
|
38 |
|
420
920fb0dcc384
Use django shortcut for raising 404s.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
378
diff
changeset
|
39 |
user = shortcuts.get_object_or_404(User, pk=uid) |
378
8fcde6f8f750
added view_user functionality
Nishanth Amuluru <nishanth@fossee.in>
parents:
307
diff
changeset
|
40 |
|
8fcde6f8f750
added view_user functionality
Nishanth Amuluru <nishanth@fossee.in>
parents:
307
diff
changeset
|
41 |
if user.is_active: |
8fcde6f8f750
added view_user functionality
Nishanth Amuluru <nishanth@fossee.in>
parents:
307
diff
changeset
|
42 |
return user |
8fcde6f8f750
added view_user functionality
Nishanth Amuluru <nishanth@fossee.in>
parents:
307
diff
changeset
|
43 |
else: |
8fcde6f8f750
added view_user functionality
Nishanth Amuluru <nishanth@fossee.in>
parents:
307
diff
changeset
|
44 |
raise Http404 |