def add_task(request, project_id):
    """
        view to display the form to add a new task
    """
    if request.method == "POST":
        form = TaskForm(request.POST)
        if form.is_valid():
            form.instance.user_id = request.user.id
            form.instance.project_id = project_id
            form.save()
            forhandler(request.FILES.getlist('file[]'), project_id,
                       form.instance.id, request)
            #redirect to home after successful save
            #return HttpResponseRedirect('/')
            return HttpResponseRedirect(
                reverse(
                    'projects.views.task_detail',
                    kwargs={
                        'task_id': form.instance.id,
                    },
                ))
        else:
            context = {'form': form}
            return render_to_response('add_task.html',
                                      context,
                                      context_instance=RequestContext(request))
    else:
        return render_to_response('add_task.html', {
            'form': TaskForm(),
            'project_id': project_id
        },
                                  context_instance=RequestContext(request))
Exemple #2
0
def edit_task(request, task_id):
    task = get_object_or_404(Task, id=task_id)
    write_access_or_403(task.story.project, request.user)

    if request.method == "POST":
        form = TaskForm(task.story.project, request.POST, instance=task)
        signals.task_updated.send(sender=request, task=task, user=request.user)
        form.save()
        return HttpResponse("OK")
    else:
        form = TaskForm(task.story.project, instance=task)
        return render_to_response(
            "tasks/edit.html", {"task": task, "form": form}, context_instance=RequestContext(request)
        )
Exemple #3
0
def save(request, project_id, task_id=False):
    """
    Shows latest activity and other usefull info
    """
    t = 'projects/task/form.html'
    response_vars = {}
    project = Project.objects.get(id=project_id)

    parent = None
    kwargs = {}
    kwargs['project'] = project

    if task_id:
        task = Task.objects.get(id=task_id)
        form = TaskForm(instance=task)
        parent = task.parent
    else:
        task = Task()
        form = TaskForm(**kwargs)

        if request.GET.has_key('parent') and request.GET['parent']:
            parent = Task.objects.get(id=request.GET['parent'])

    if request.method == 'POST':
        form = TaskForm(request.POST, **kwargs)
        if form.is_valid():
            if task_id:
                form = TaskForm(request.POST, instance=Task.objects.get(id=task_id))
                task = form.save(commit=False)
            else:
                task = form.save(commit=False)
                task.project = project
                task.parent  = parent

            task.assignor = request.user

            task.save()

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


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

    return render_project(request, project_id, t, response_vars)
Exemple #4
0
def edit_task(request, id):
    task = Task.objects.get(id=id)
    if not request.user.is_superuser and request.user != task.assigned_to:
        return HttpResponseForbidden('Access denied')

    if request.method == 'POST':
        form = ProjectTaskForm(request.POST,
                               project_id=task.project.id,
                               instance=task)
        project = Project.objects.get(id=task.project.id)
        if form.is_valid():
            task = form.save(commit=False)
            task.author = request.user
            task.project = project
            task.save()
            messages.add_message(
                request, messages.INFO,
                'Task "{}" was successfully updated in project "{}"'.format(
                    task.title, task.project))
            return redirect(reverse('tasks:tasks'))

    else:
        form = ProjectTaskForm(project_id=task.project.id, instance=task)

    context = {'task': task, 'form': form}
    return render(request, 'tasks/edit_task.html', context)
Exemple #5
0
def edit_task(request, task_id):
    task = get_object_or_404(Task, id=task_id)
    write_access_or_403(task.story.project, request.user)

    if request.method == "POST":
        form = TaskForm(task.story.project, request.POST, instance=task)
        signals.task_updated.send(sender=request, task=task, user=request.user)
        form.save()
        return HttpResponse("OK")
    else:
        form = TaskForm(task.story.project, instance=task)
        return render_to_response("tasks/edit.html", {
            "task": task,
            "form": form
        },
                                  context_instance=RequestContext(request))
def add_task(request, project_id):
    """
        view to display the form to add a new task
    """
    if request.method == "POST":
        form = TaskForm(request.POST)
        if form.is_valid():
            form.instance.user_id = request.user.id
            form.instance.project_id = project_id
            form.save()
            forhandler(request.FILES.getlist('file[]'), project_id, form.instance.id, request)
            #redirect to home after successful save
            #return HttpResponseRedirect('/')
            return HttpResponseRedirect(
                reverse('projects.views.task_detail',
                        kwargs={'task_id': form.instance.id, },
                        ))
        else:
            context = {'form': form}
            return render_to_response('add_task.html', context, context_instance=RequestContext(request))
    else:
        return render_to_response('add_task.html', {'form': TaskForm(), 'project_id': project_id}, context_instance=RequestContext(request))