author | Nishanth Amuluru <nishanth@fossee.in> |
Sat, 08 Jan 2011 22:57:30 +0530 | |
changeset 102 | 0f9d485609ac |
parent 101 | bce480ff6ddc |
child 111 | 1cc8d0b2eefb |
permissions | -rwxr-xr-x |
95
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
1 |
from datetime import datetime |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
2 |
|
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
3 |
from django.shortcuts import render_to_response, redirect |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
4 |
from django.http import Http404 |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
5 |
|
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
6 |
from django.contrib.auth.decorators import login_required |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
7 |
from django.core.context_processors import csrf |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
8 |
from django.views.decorators.csrf import csrf_protect |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
9 |
|
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
10 |
from pytask.utils import make_key |
101
bce480ff6ddc
used proper import for show_msg
Nishanth Amuluru <nishanth@fossee.in>
parents:
95
diff
changeset
|
11 |
from pytask.views import show_msg |
95
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
12 |
|
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
13 |
from pytask.taskapp.models import Task |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
14 |
from pytask.taskapp.forms import CreateTaskForm, EditTaskForm |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
15 |
from pytask.profile.utils import get_notification |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
16 |
|
101
bce480ff6ddc
used proper import for show_msg
Nishanth Amuluru <nishanth@fossee.in>
parents:
95
diff
changeset
|
17 |
|
95
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
18 |
@login_required |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
19 |
def create_task(request): |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
20 |
|
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
21 |
user = request.user |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
22 |
profile = user.get_profile() |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
23 |
|
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
24 |
context = {"user": user, |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
25 |
"profile": profile, |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
26 |
} |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
27 |
|
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
28 |
context.update(csrf(request)) |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
29 |
|
102 | 30 |
can_create_task = False if profile.rights == "CT" else True |
95
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
31 |
if can_create_task: |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
32 |
if request.method == "POST": |
102 | 33 |
form = CreateTaskForm(request.POST) |
95
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
34 |
if form.is_valid(): |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
35 |
data = form.cleaned_data.copy() |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
36 |
data.update({"created_by": user, |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
37 |
"creation_datetime": datetime.now(), |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
38 |
"uniq_key": make_key(Task), |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
39 |
}) |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
40 |
|
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
41 |
task = Task(**data) |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
42 |
task.save() |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
43 |
|
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
44 |
task_url = '/task/view/tid=%s'%task.uniq_key |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
45 |
return redirect(task_url) |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
46 |
else: |
102 | 47 |
context.update({'form':form}) |
48 |
return render_to_response('task/create.html', context) |
|
95
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
49 |
else: |
102 | 50 |
form = CreateTaskForm() |
51 |
context.update({'form':form}) |
|
52 |
return render_to_response('task/create.html', context) |
|
95
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
53 |
else: |
eb3a191850a1
created a view for create task
Nishanth Amuluru <nishanth@fossee.in>
parents:
69
diff
changeset
|
54 |
return show_msg(user, 'You are not authorised to create a task.') |