1 from datetime import datetime |
1 from datetime import datetime |
2 |
2 |
3 from django.http import HttpResponse |
3 from django.http import HttpResponse |
4 from django.shortcuts import render_to_response, redirect |
4 from django.shortcuts import render_to_response, redirect |
|
5 |
5 from pytask.taskapp.models import Task, Comment |
6 from pytask.taskapp.models import Task, Comment |
|
7 from pytask.taskapp.forms.task import TaskCreateForm |
|
8 from pytask.taskapp.events.task import createTask, addMentor, publishTask |
|
9 from pytask.taskapp.views.user import show_msg |
6 |
10 |
7 def browse_tasks(request): |
11 def browse_tasks(request): |
8 """ display all the tasks """ |
12 """ display all the tasks """ |
9 |
13 |
10 user = request.user |
14 user = request.user |
48 else: |
52 else: |
49 errors.append("You must be logged in to post a comment") |
53 errors.append("You must be logged in to post a comment") |
50 return render_to_response('task/view.html', context) |
54 return render_to_response('task/view.html', context) |
51 else: |
55 else: |
52 return render_to_response('task/view.html', context) |
56 return render_to_response('task/view.html', context) |
|
57 |
|
58 def create_task(request): |
|
59 """ check for rights and create a task if applicable. |
|
60 if user cannot create a task, redirect to homepage. |
|
61 """ |
|
62 |
|
63 user = request.user |
|
64 is_guest = True if not user.is_authenticated() else False |
|
65 |
|
66 if not is_guest: |
|
67 user_profile = user.get_profile() |
|
68 can_create_task = False if user_profile.rights == "CT" else True |
|
69 if can_create_task: |
|
70 if request.method == "POST": |
|
71 form = TaskCreateForm(request.POST) |
|
72 if form.is_valid(): |
|
73 data = form.cleaned_data |
|
74 title = data['title'] |
|
75 desc = data['desc'] |
|
76 credits = data['credits'] |
|
77 publish = data['publish'] |
|
78 task = createTask(title,desc,user,credits) |
|
79 |
|
80 if not task: |
|
81 error_msg = "Another task with the same title exists" |
|
82 return render_to_response('task/create.html',{'form':form, 'error_msg':error_msg}) |
|
83 |
|
84 addMentor(task, user) |
|
85 if publish: publishTask(task) |
|
86 task_url = '/task/view/tid=%s'%task.id |
|
87 return redirect(task_url) |
|
88 else: |
|
89 return render_to_response('task/create.html',{'form':form}) |
|
90 else: |
|
91 form = TaskCreateForm() |
|
92 return render_to_response('task/create.html',{'form':form}) |
|
93 else: |
|
94 return show_msg('You are not authorised to create a task.') |
|
95 else: |
|
96 return show_msg('You are not authorised to create a task.') |
|
97 |
|
98 |
|
99 |
|
100 |
|
101 |
|
102 |
|
103 |
|
104 |
|
105 |
|
106 |
|
107 |
|
108 |
|
109 |
|
110 |