summaryrefslogtreecommitdiff
path: root/taskapp
diff options
context:
space:
mode:
authornishanth2010-02-26 00:17:54 +0530
committernishanth2010-02-26 00:17:54 +0530
commit8c5ecbc4780ca1f0b929cca534a9b63dcba967fd (patch)
treedbb08a93d52be855ffecf1dc70ab51ea35bf377d /taskapp
parentd7a7222bb20f85cf730e7c7f1f8350ccf43066f6 (diff)
downloadpytask-8c5ecbc4780ca1f0b929cca534a9b63dcba967fd.tar.gz
pytask-8c5ecbc4780ca1f0b929cca534a9b63dcba967fd.tar.bz2
pytask-8c5ecbc4780ca1f0b929cca534a9b63dcba967fd.zip
now adding mentor for a task happens through request. notifications still pending though
Diffstat (limited to 'taskapp')
-rw-r--r--taskapp/events/request.py10
-rw-r--r--taskapp/events/task.py6
-rw-r--r--taskapp/views/task.py4
3 files changed, 16 insertions, 4 deletions
diff --git a/taskapp/events/request.py b/taskapp/events/request.py
index aa38fc8..73ba5f9 100644
--- a/taskapp/events/request.py
+++ b/taskapp/events/request.py
@@ -1,5 +1,5 @@
from datetime import datetime
-from pytask.taskapp.events.task import addCredits
+from pytask.taskapp.events.task import addCredits, addMentor
def reply_to_request(request_obj, reply, replied_by):
"""
@@ -24,7 +24,13 @@ def reply_to_request(request_obj, reply, replied_by):
print "send a no notificvaton"
elif request_obj.role == "MT":
## add him as a mentor to the task
- pass
+ if reply:
+ addMentor(request_obj.task, request_obj.replied_by)
+ ## pass on notification of request_obj.sent_by
+ else:
+ print "request for mentor rejected"
+ ## pass on notification to request_obj.sent_by
+
elif request_obj.role in ["AD", "MG", "DV"]:
if reply:
pass
diff --git a/taskapp/events/task.py b/taskapp/events/task.py
index a3ae263..323c8cf 100644
--- a/taskapp/events/task.py
+++ b/taskapp/events/task.py
@@ -75,6 +75,12 @@ def addDep(main_task, dependency):
main_task.save()
+def reqMentor(task, mentor, req_by):
+ """ create a request object with role as MT.
+ """
+
+ create_request(sent_by=req_by, role="MT", sent_to=mentor, task=task)
+
def addMentor(task,mentor):
""" add the mentor to mentors list of the task """
diff --git a/taskapp/views/task.py b/taskapp/views/task.py
index 37831cc..1dc2b89 100644
--- a/taskapp/views/task.py
+++ b/taskapp/views/task.py
@@ -5,7 +5,7 @@ from django.shortcuts import render_to_response, redirect
from pytask.taskapp.models import User, Task, Comment, Claim, Credit
from pytask.taskapp.forms.task import TaskCreateForm, AddMentorForm, AddTaskForm, ChoiceForm, AssignCreditForm, RemoveUserForm
-from pytask.taskapp.events.task import createTask, addMentor, publishTask, addSubTask, addDep, addClaim, assignTask, getTask, updateTask, removeTask, removeUser, assignCredits
+from pytask.taskapp.events.task import createTask, reqMentor, publishTask, addSubTask, addDep, addClaim, assignTask, getTask, updateTask, removeTask, removeUser, assignCredits
from pytask.taskapp.views.user import show_msg
## everywhere if there is no task, django should display 500 message.. but take care of that in sensitive views like add mentor and all
@@ -145,7 +145,7 @@ def add_mentor(request, tid):
if request.method == "POST":
uid = request.POST['mentor']
new_mentor = User.objects.get(id=uid)
- addMentor(task, new_mentor)
+ reqMentor(task, new_mentor, user)
return redirect(task_url)
else:
return render_to_response('task/addmentor.html', {'form':form, 'errors':errors})