示例#1
0
def save(request, project_id, time_id=False):
    """
    Shows latest activity and other usefull info
    """
    t = 'projects/time/form.html'
    response_vars = {}
    project = Project.objects.get(id=project_id)

    task = None

    if time_id:
        time = Time.objects.get(id=time_id)
        form = TimeForm(instance=time)
        parent = time.parent
    else:
        time = Time()
        form = TimeForm()

    if request.POST.has_key('task_id') and request.POST['task_id']:
        task = Task.objects.get(id=request.POST['task_id'])
    else:
        if request.GET.has_key('task') and request.GET['task']:
            task = Task.objects.get(id=request.GET['task'])


    if request.method == 'POST':

        form = TimeForm(request.POST)

        if form.is_valid():
            if time_id:
                form = TimeForm(request.POST, instance=Time.objects.get(id=time_id))
                time = form.save(commit=False)
            else:
                time = form.save(commit=False)
                time.project = project

            time.content_object  = task
            time.person = request.user
            time.save()

            if task:
                return HttpResponseRedirect(reverse('task_detail', args=[project.id, task.id]))

            return HttpResponseRedirect(reverse('projects.views.time.index', args=[project.id]))


    response = { }
    response_vars['request']      = request
    response_vars['project']      = project
    response_vars['form']         = form
    response_vars['time']         = time
    response_vars['task']         = task

    return render_project(request, project_id, t, response_vars)