pytask/taskapp/views/task.py
changeset 10 c2001db39937
parent 5 aea7e764c033
child 11 d28fcc644fbb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pytask/taskapp/views/task.py	Fri Jan 29 23:34:19 2010 +0530
@@ -0,0 +1,52 @@
+from datetime import datetime
+
+from django.http import HttpResponse
+from django.shortcuts import render_to_response, redirect
+from pytask.taskapp.models import Task, Comment
+
+def browse_tasks(request):
+    """ display all the tasks """
+    
+    user = request.user
+    task_list = Task.objects.order_by('id').reverse()
+    
+    context = {'user':user,
+               'task_list':task_list,
+               }
+    return render_to_response('task/browse.html', context)
+
+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.
+    """
+    
+    task_url = "/task/view/tid=%s"%tid
+    
+    user = request.user
+    task = Task.objects.get(id=tid)
+    comments = Comment.objects.filter(task=task)
+    errors = []
+    
+    is_guest = True if not user.is_authenticated() else False
+    is_mentor = True if user in task.mentors.all() else False
+    
+    context = {'user':user,
+               'task':task,
+               'comments':comments,
+               'is_guest':is_guest,
+               'is_mentor':is_mentor,
+               'errors':errors,
+               }
+    
+    if request.method == 'POST':
+        if not is_guest:
+            data = request.POST["data"]
+            task = Task.objects.get(id=tid)
+            new_comment = Comment(task=task, data=data, created_by=user, creation_datetime=datetime.now())
+            new_comment.save()
+            return redirect(task_url)
+        else:
+            errors.append("You must be logged in to post a comment")
+            return render_to_response('task/view.html', context)
+    else:
+        return render_to_response('task/view.html', context)