# HG changeset patch
# User nishanth
# Date 1267132952 -19800
# Node ID c272d4c601cd942e07a781b5b22282dbb0ed5c41
# Parent 3685c2333448f8d56908cb11aa6e617c1e6cd528
added the functionality to publish a task.
diff -r 3685c2333448 -r c272d4c601cd taskapp/events/task.py
--- a/taskapp/events/task.py Fri Feb 26 01:51:55 2010 +0530
+++ b/taskapp/events/task.py Fri Feb 26 02:52:32 2010 +0530
@@ -14,6 +14,9 @@
task.status = "LO"
else:
task.status = "OP"
+
+ task.mentors.clear()
+ task.mentors.add(task.created_by)
task.save()
return task
diff -r 3685c2333448 -r c272d4c601cd taskapp/management/commands/seed_db.py
--- a/taskapp/management/commands/seed_db.py Fri Feb 26 01:51:55 2010 +0530
+++ b/taskapp/management/commands/seed_db.py Fri Feb 26 02:52:32 2010 +0530
@@ -32,7 +32,7 @@
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 -r 3685c2333448 -r c272d4c601cd taskapp/views/task.py
--- a/taskapp/views/task.py Fri Feb 26 01:51:55 2010 +0530
+++ b/taskapp/views/task.py Fri Feb 26 02:52:32 2010 +0530
@@ -22,6 +22,33 @@
}
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 @@
'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 -r 3685c2333448 -r c272d4c601cd taskapp/views/user.py
--- a/taskapp/views/user.py Fri Feb 26 01:51:55 2010 +0530
+++ b/taskapp/views/user.py Fri Feb 26 02:52:32 2010 +0530
@@ -13,7 +13,7 @@
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. """
diff -r 3685c2333448 -r c272d4c601cd templates/show_msg.html
--- a/templates/show_msg.html Fri Feb 26 01:51:55 2010 +0530
+++ b/templates/show_msg.html Fri Feb 26 02:52:32 2010 +0530
@@ -4,7 +4,7 @@
{{message}}
{% endif %}
{% if redirect_url %}
- click here to return to {{url_desc}}
+ click here to return to {{url_desc}}
{% else %}
click here to return to Homepage
{% endif %}
diff -r 3685c2333448 -r c272d4c601cd templates/task/publish.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/task/publish.html Fri Feb 26 02:52:32 2010 +0530
@@ -0,0 +1,14 @@
+{% extends 'base.html' %}
+{% block title %}
+ {{task.title}}
+{% endblock %}
+{% block content %}
+ Disclaimer:
+ Publishing a task will make the task visible to every one.
+ All the existing mentors will be removed from the list of mentors and only you will have the rights to edit and mentor the task.
+ But mentors can be added by sending them a request later on.
+ Please confirm if you want to publish.
+