diff -r 554581fa3253 -r c2001db39937 pytask/taskapp/views/task.py --- /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)