blob: 5d1d9940d27370a1949b935e7674d596f99afd43 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
from datetime import datetime
from django.contrib.auth.models import User
from pytask.taskapp.models import Notification
def create_notification(to,subject,message):
"""
creates a notification based on the passed arguments.
to - a list of users to which the notification is to be sent
subject - subject of the notification message to be sent
message - message body of the notification
"""
notification = Notification(sent_date = datetime.now())
notification.save()
notification.sent_to = to
notification.sub = subject
notification.message = message
notification.save()
def mark_notification_read(notification_id):
"""
makes a notification identified by the notification_id read.
arguments:
notification_id - a number denoting the id of the Notification object
"""
try:
notification = Notification.objects.get(id = notification_id)
except Notification.DoesNotExist:
return False
notification.is_read = True
notification.save()
return True
def delete_notification(notification_id):
"""
deletes a notification identified by the notification_id.
arguments:
notification_id - a number denoting the id of the Notification object
"""
try:
notification = Notification.objects.get(id = notification_id)
except Notification.DoesNotExist:
return False
notification.is_deleted = True
notification.save()
return True
def get_notification(nid, user):
""" if notification exists, and belongs to the current user, return it.
else return None.
"""
try:
notify_obj = Notification.objects.get(id=nid)
except Notification.DoesNotExist:
return None
try:
notify_obj.sent_to.get(id=user.id)
except User.DoesNotExist:
return None
if not notify_obj.is_deleted:
return notify_obj
|