summaryrefslogtreecommitdiff
path: root/taskapp
diff options
context:
space:
mode:
Diffstat (limited to 'taskapp')
-rw-r--r--taskapp/events/task.py3
-rw-r--r--taskapp/management/commands/seed_db.py2
-rw-r--r--taskapp/views/task.py28
-rw-r--r--taskapp/views/user.py2
4 files changed, 33 insertions, 2 deletions
diff --git a/taskapp/events/task.py b/taskapp/events/task.py
index 323c8cf..86f8a47 100644
--- a/taskapp/events/task.py
+++ b/taskapp/events/task.py
@@ -14,6 +14,9 @@ def publishTask(task):
task.status = "LO"
else:
task.status = "OP"
+
+ task.mentors.clear()
+ task.mentors.add(task.created_by)
task.save()
return task
diff --git a/taskapp/management/commands/seed_db.py b/taskapp/management/commands/seed_db.py
index 60b2a56..4e65065 100644
--- a/taskapp/management/commands/seed_db.py
+++ b/taskapp/management/commands/seed_db.py
@@ -32,7 +32,7 @@ def seed_db():
task = taskEvents.createTask(title,desc,created_by,credits)
if task:
taskEvents.addMentor(task, defaultMentor)
- taskEvents.publishTask(task)
+ if i%2==0:taskEvents.publishTask(task)
class Command(NoArgsCommand):
diff --git a/taskapp/views/task.py b/taskapp/views/task.py
index 93e4722..443d84e 100644
--- a/taskapp/views/task.py
+++ b/taskapp/views/task.py
@@ -22,6 +22,33 @@ def browse_tasks(request):
}
return render_to_response('task/browse.html', context)
+def publish_task(request, tid):
+ """ check if user is the mentor and also if the task status is UP.
+ """
+
+ task_url = "/task/view/tid=%s"%tid
+
+ user = request.user
+ task = getTask(tid)
+
+ is_guest = True if not user.is_authenticated() else False
+ is_mentor = True if user in task.mentors.all() else False
+
+ if user==task.created_by:
+ context = {
+ 'user':user,
+ }
+
+ if request.method == "POST":
+ publishTask(task)
+ return show_msg(user, "The task has been published", task_url, "view the task")
+ else:
+ return render_to_response('task/publish.html', context)
+ else:
+ return show_msg(user, "You are not authorised to do this", '/task/browse/', "browse tasks")
+
+
+
def view_task(request, tid):
""" get the task depending on its tid and display accordingly if it is a get.
check for authentication and add a comment if it is a post request.
@@ -54,6 +81,7 @@ def view_task(request, tid):
'errors':errors,
}
+ context['can_publish'] = True if task.status == "UP" and user == task.created_by else False
context['task_viewable'] = True if ( task.status not in ["UP", "DL"] ) or is_mentor else False
context['task_claimable'] = True if task.status in ["OP", "WR"] else False
diff --git a/taskapp/views/user.py b/taskapp/views/user.py
index 5b3bf17..27dbc81 100644
--- a/taskapp/views/user.py
+++ b/taskapp/views/user.py
@@ -13,7 +13,7 @@ from pytask.taskapp.events.request import reply_to_request
def show_msg(user, message, redirect_url=None, url_desc=None):
""" simply redirect to homepage """
- return render_to_response('show_msg.html',{'message':message, 'redirect_url':redirect_url, 'url_desc':url_desc})
+ return render_to_response('show_msg.html',{'user':user, 'message':message, 'redirect_url':redirect_url, 'url_desc':url_desc})
def homepage(request):
""" check for authentication and display accordingly. """