summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornishanth2010-02-25 18:49:17 +0530
committernishanth2010-02-25 18:49:17 +0530
commitb68318888488e439549562d7f8bf89bc5d83b502 (patch)
tree4bfe9c153f26ff5ded6f75357a94370d33534101
parentf987f1f2c82b58f685d85f8f0d48923aabf5fa4a (diff)
downloadpytask-b68318888488e439549562d7f8bf89bc5d83b502.tar.gz
pytask-b68318888488e439549562d7f8bf89bc5d83b502.tar.bz2
pytask-b68318888488e439549562d7f8bf89bc5d83b502.zip
now admin can accept a request for assigning credits.
-rw-r--r--taskapp/events/request.py37
-rw-r--r--taskapp/utilities/request.py19
-rw-r--r--taskapp/views/user.py10
3 files changed, 46 insertions, 20 deletions
diff --git a/taskapp/events/request.py b/taskapp/events/request.py
new file mode 100644
index 0000000..aa38fc8
--- /dev/null
+++ b/taskapp/events/request.py
@@ -0,0 +1,37 @@
+from datetime import datetime
+from pytask.taskapp.events.task import addCredits
+
+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.is_replied:
+ request_obj.reply = reply
+ request_obj.is_replied = True
+ request_obj.reply_date = datetime.now()
+ request_obj.replied_by = replied_by
+ request_obj.save()
+
+ if request_obj.role == "PY":
+ if reply:
+ addCredits(request_obj.task, request_obj.sent_by, request_obj.receiving_user, request_obj.pynts)
+ print "send yes notifications appropriately"
+ else:
+ print "send a no notificvaton"
+ elif request_obj.role == "MT":
+ ## add him as a mentor to the task
+ pass
+ elif request_obj.role in ["AD", "MG", "DV"]:
+ if reply:
+ pass
+ ## make him the role
+ ## changeRole(role=request_obj.role, made_by=request_obj.sent_by)
+ else:
+ ## notify request_obj.sent_by that it has been rejected
+ pass
+ return True #Reply has been added successfully
+ return False #Already replied
diff --git a/taskapp/utilities/request.py b/taskapp/utilities/request.py
index 30ab6b0..7c7af70 100644
--- a/taskapp/utilities/request.py
+++ b/taskapp/utilities/request.py
@@ -1,6 +1,6 @@
-from pytask.taskapp.models import Request, Profile
from datetime import datetime
from django.contrib.auth.models import User
+from pytask.taskapp.models import Request, Profile
def create_request(sent_by,role,sent_to=None,task=None,receiving_user=None,pynts=0):
"""
@@ -29,20 +29,3 @@ def create_request(sent_by,role,sent_to=None,task=None,receiving_user=None,pynts
req.sent_to.add(sent_to)
req.save()
-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.is_replied:
- request_obj.reply = reply
- 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
diff --git a/taskapp/views/user.py b/taskapp/views/user.py
index d307890..fc431cb 100644
--- a/taskapp/views/user.py
+++ b/taskapp/views/user.py
@@ -8,6 +8,7 @@ from django.contrib.auth.decorators import login_required
from pytask.taskapp.models import Task, Profile, Request
from pytask.taskapp.events.user import createUser, updateProfile
from pytask.taskapp.forms.user import UserProfileEditForm
+from pytask.taskapp.events.request import reply_to_request
def show_msg(message, redirect_url=None, url_desc=None):
""" simply redirect to homepage """
@@ -123,6 +124,8 @@ def view_request(request, rid):
user = request.user
reqs = user.request_sent_to.filter(is_replied=False).order_by('creation_date')
user_request = reqs[int(rid)]
+ user_request.is_read = True
+ user_request.save()
context = {
'user':user,
@@ -138,11 +141,14 @@ def process_request(request, rid, reply):
if it is get, display a 404 error.
"""
+ user = request.user
+
if request.method=="POST":
- user = request.user
browse_request_url= '/user/requests'
reqs = user.request_sent_to.filter(is_replied=False).order_by('creation_date')
- user_request = reqs[int(rid)]
+ req_obj = reqs[int(rid)]
+ reply = True if reply == "yes" else False
+ reply_to_request(req_obj, reply, user)
return show_msg("Your reply has been processed", browse_request_url, "view other requests")
else: