summaryrefslogtreecommitdiff
path: root/taskapp/utilities
diff options
context:
space:
mode:
authoranoop2010-02-24 20:32:57 +0530
committeranoop2010-02-24 20:32:57 +0530
commit6b1d444c078079423ccebf28f6f1364443bbf784 (patch)
treec3dfde0b2a0274c16f2ee3b86773cf9ef1d6c00c /taskapp/utilities
parentf6f65f9e1dd6732a010ee7bff8fe920c28e7a393 (diff)
downloadpytask-6b1d444c078079423ccebf28f6f1364443bbf784.tar.gz
pytask-6b1d444c078079423ccebf28f6f1364443bbf784.tar.bz2
pytask-6b1d444c078079423ccebf28f6f1364443bbf784.zip
updated create_request utility.
Diffstat (limited to 'taskapp/utilities')
-rw-r--r--taskapp/utilities/request.py40
1 files changed, 24 insertions, 16 deletions
diff --git a/taskapp/utilities/request.py b/taskapp/utilities/request.py
index c53fad9..b16eca2 100644
--- a/taskapp/utilities/request.py
+++ b/taskapp/utilities/request.py
@@ -1,40 +1,48 @@
-from pytask.taskapp.models import Request
+from pytask.taskapp.models import Request, Profile
from datetime import datetime
+from django.contrib.auth.models import User
-def create_request(to,by,role,task=None,assigned_user=None,pynts=0):
+def create_request(sent_by,role,sent_to=None,task=None,receiving_user=None,pynts=0):
"""
creates an unreplied request, based on the passed arguments
- to - a list of users to which the notification is to be sent
- by - sender of request
- role - a two character field which represents the role requested
+ sent_to - a list of users to which the notification is to be sent
+ sent_by - sender of request
+ role - a two character field which represents the role requested, if role = 'PY' then sent to all admins
task - a requesting task (useful for sending admins a request to give Pynts to the user)
- assigned_user - user to whom the Pynts/Task is assigned to(useful for sending admins a request to give Pynts to the user)
+ receiving_user - user to whom the Pynts is assigned to(useful for sending admins a request to give Pynts to the user)
+ pynts - the pynts assigned to the receiving user
"""
req = Request(creation_date=datetime.now())
- req.by = by
+ req.sent_by = sent_by
req.reply_date = datetime(1970,01,01)
- req.save()
- req.to = to
req.role = role
+ req.pynts = pynts
if task:
req.task = task
- if assigned_user:
- req.assigned_user = assigned_user
- req.pynts = pynts
+ req.save()
+ if role == 'PY':
+ admin_profiles = Profile.objects.filter(rights='AD')
+ for admin in admin_profiles:
+ req.sent_to.add(admin_profile.user)
+ req.receiving_user = receiving_user
+ else:
+ req.sent_to.add(sent_to)
req.save()
-def reply_to_request(request_obj, reply):
+def reply_to_request(request_obj, reply, replied_by):
"""
makes a request replied with the given reply.
arguments:
request_obj - Request object for which change is intended
reply - a boolean value to be given as reply (True/False)
+ replied_by - the user object who replies to the request
"""
- if not request_obj.replied:
+ if not request_obj.is_replied:
request_obj.reply = reply
- request_obj.replied = True
- request_obj.read = True
+ request_obj.is_replied = True
+ request_obj.is_read = True
request_obj.reply_date = datetime.now()
+ request_obj.replied_by = replied_by
request_obj.save()
return True #Reply has been added successfully
return False #Already replied