pytask/taskapp/views.py
changeset 95 eb3a191850a1
parent 69 c6bca38c1cbf
child 101 bce480ff6ddc
equal deleted inserted replaced
94:385702a0bbde 95:eb3a191850a1
     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.')