1 # Create your views here. |
1 from datetime import datetime |
|
2 |
|
3 from django.shortcuts import render_to_response, redirect |
|
4 from django.http import Http404 |
|
5 |
|
6 from django.contrib.auth.decorators import login_required |
|
7 from django.core.context_processors import csrf |
|
8 from django.views.decorators.csrf import csrf_protect |
|
9 |
|
10 from pytask.utils import make_key |
|
11 |
|
12 from pytask.taskapp.models import Task |
|
13 from pytask.taskapp.forms import CreateTaskForm, EditTaskForm |
|
14 from pytask.profile.utils import get_notification |
|
15 |
|
16 @login_required |
|
17 def create_task(request): |
|
18 |
|
19 user = request.user |
|
20 profile = user.get_profile() |
|
21 |
|
22 context = {"user": user, |
|
23 "profile": profile, |
|
24 } |
|
25 |
|
26 context.update(csrf(request)) |
|
27 |
|
28 can_create_task = False if user_profile.rights == "CT" else True |
|
29 if can_create_task: |
|
30 if request.method == "POST": |
|
31 form = TaskCreateForm(request.POST) |
|
32 if form.is_valid(): |
|
33 data = form.cleaned_data.copy() |
|
34 data.update({"created_by": user, |
|
35 "creation_datetime": datetime.now(), |
|
36 "uniq_key": make_key(Task), |
|
37 }) |
|
38 |
|
39 task = Task(**data) |
|
40 task.save() |
|
41 |
|
42 task_url = '/task/view/tid=%s'%task.uniq_key |
|
43 return redirect(task_url) |
|
44 else: |
|
45 return render_to_response('task/create.html',{'user':user, 'form':form}) |
|
46 else: |
|
47 form = TaskCreateForm() |
|
48 return render_to_response('task/create.html',{'user':user, 'form':form}) |
|
49 else: |
|
50 return show_msg(user, 'You are not authorised to create a task.') |