diff options
author | Nishanth Amuluru | 2011-01-08 22:37:31 +0530 |
---|---|---|
committer | Nishanth Amuluru | 2011-01-08 22:37:31 +0530 |
commit | cc9e367d18c3f4fd57ac984cae007ab7df1948b9 (patch) | |
tree | 47de664e909c06f119872c393ea2f878bdeffe74 | |
parent | 5cc7c5fafb86877b0fb7a6864429e8ed93c3024b (diff) | |
download | pytask-cc9e367d18c3f4fd57ac984cae007ab7df1948b9.tar.gz pytask-cc9e367d18c3f4fd57ac984cae007ab7df1948b9.tar.bz2 pytask-cc9e367d18c3f4fd57ac984cae007ab7df1948b9.zip |
created a view for create task
-rwxr-xr-x | pytask/taskapp/views.py | 51 |
1 files changed, 50 insertions, 1 deletions
diff --git a/pytask/taskapp/views.py b/pytask/taskapp/views.py index 60f00ef..cf33203 100755 --- a/pytask/taskapp/views.py +++ b/pytask/taskapp/views.py @@ -1 +1,50 @@ -# Create your views here. +from datetime import datetime + +from django.shortcuts import render_to_response, redirect +from django.http import Http404 + +from django.contrib.auth.decorators import login_required +from django.core.context_processors import csrf +from django.views.decorators.csrf import csrf_protect + +from pytask.utils import make_key + +from pytask.taskapp.models import Task +from pytask.taskapp.forms import CreateTaskForm, EditTaskForm +from pytask.profile.utils import get_notification + +@login_required +def create_task(request): + + user = request.user + profile = user.get_profile() + + context = {"user": user, + "profile": profile, + } + + context.update(csrf(request)) + + can_create_task = False if user_profile.rights == "CT" else True + if can_create_task: + if request.method == "POST": + form = TaskCreateForm(request.POST) + if form.is_valid(): + data = form.cleaned_data.copy() + data.update({"created_by": user, + "creation_datetime": datetime.now(), + "uniq_key": make_key(Task), + }) + + task = Task(**data) + task.save() + + task_url = '/task/view/tid=%s'%task.uniq_key + return redirect(task_url) + else: + return render_to_response('task/create.html',{'user':user, 'form':form}) + else: + form = TaskCreateForm() + return render_to_response('task/create.html',{'user':user, 'form':form}) + else: + return show_msg(user, 'You are not authorised to create a task.') |