summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNishanth Amuluru2011-01-08 22:37:31 +0530
committerNishanth Amuluru2011-01-08 22:37:31 +0530
commitcc9e367d18c3f4fd57ac984cae007ab7df1948b9 (patch)
tree47de664e909c06f119872c393ea2f878bdeffe74
parent5cc7c5fafb86877b0fb7a6864429e8ed93c3024b (diff)
downloadpytask-cc9e367d18c3f4fd57ac984cae007ab7df1948b9.tar.gz
pytask-cc9e367d18c3f4fd57ac984cae007ab7df1948b9.tar.bz2
pytask-cc9e367d18c3f4fd57ac984cae007ab7df1948b9.zip
created a view for create task
-rwxr-xr-xpytask/taskapp/views.py51
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.')