Exemplo n.º 1
0
Arquivo: tests.py Projeto: eykanal/pm
    def test_new_task_form(self):
        # test full submit
        data1 = {
            'project': Project.objects.values_list('pk', flat=True).get(pk=1),
            'name': 'test',
            'description': 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.',
            'start_date': date.today(),
            'due_date': date.today(),
            'date_complete': date.today(),
            'status': Task.ACTIVE,
            'worker': (2,),  # Tom's ID, still not sure how it wants me to pass it in
        }
        t1 = TaskForm(data1, project_id=1)
        self.assertTrue(t1.is_valid())

        # test only required fields
        data2 = {
            'project': Project.objects.values_list('pk', flat=True).get(pk=1),
            'name': 'test',
            'start_date': date.today(),
            'status': Task.ACTIVE,
            'worker': (2,),  # Tom's ID, same as above
        }
        t2 = TaskForm(data2, project_id=1)
        self.assertTrue(t2.is_valid())
Exemplo n.º 2
0
def edit_task(request):
    form = TaskForm(request.POST, project_id=request.POST['project'])
    if form.is_valid():

        t = Task.objects.get(pk=form.cleaned_data['pk'])
        t.name = form.cleaned_data['name']
        t.description = form.cleaned_data['description']
        t.start_date = form.cleaned_data['start_date']
        t.due_date = form.cleaned_data['due_date']
        t.date_complete = form.cleaned_data['date_complete']
        t.status_on_hold = form.cleaned_data['status_on_hold']
        t.status_waiting = form.cleaned_data['status_waiting']
        t.save()

        TaskWorker.objects.filter(task=t.pk).delete()
        for w in form.cleaned_data['worker']:
            tw = TaskWorker(
                task=Task.objects.get(pk=t.id),
                worker=Worker.objects.get(person=w, project=form.cleaned_data['project']),
            )
            tw.save()

        TaskDependency.objects.filter(blocked_task=t.pk).delete()
        if form.cleaned_data.get('blocked_by'):
            for d in form.cleaned_data['blocked_by']:
                td = TaskDependency(
                    blocking_task=d,
                    blocked_task=t,
                )
                td.save()

        return {'success': True}

    return {'failure': '%s' % form._errors}
Exemplo n.º 3
0
Arquivo: tests.py Projeto: eykanal/pm
    def test_new_task_form(self):
        # test full submit
        data1 = {
            'project': Project.objects.values_list('pk', flat=True).get(pk=1),
            'name': 'test',
            'description':
            'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.',
            'start_date': date.today(),
            'due_date': date.today(),
            'date_complete': date.today(),
            'status': Task.ACTIVE,
            'worker':
            (2, ),  # Tom's ID, still not sure how it wants me to pass it in
        }
        t1 = TaskForm(data1, project_id=1)
        self.assertTrue(t1.is_valid())

        # test only required fields
        data2 = {
            'project': Project.objects.values_list('pk', flat=True).get(pk=1),
            'name': 'test',
            'start_date': date.today(),
            'status': Task.ACTIVE,
            'worker': (2, ),  # Tom's ID, same as above
        }
        t2 = TaskForm(data2, project_id=1)
        self.assertTrue(t2.is_valid())
Exemplo n.º 4
0
def create_task(request):
    pk = request.POST['project']
    form = TaskForm(request.POST, project_id=pk)
    if form.is_valid():

        # save task itself
        t = Task(
            project=form.cleaned_data['project'],
            name=form.cleaned_data['name'],
            description=form.cleaned_data['description'],
            start_date=form.cleaned_data['start_date'],
            due_date=form.cleaned_data['due_date'],
            status_on_hold=form.cleaned_data['status_on_hold'],
            status_waiting=form.cleaned_data['status_waiting'],)
        t.save()

        # save workers (note that "w" here is a Person, not a Worker)
        for w in form.cleaned_data['worker']:
            tw = TaskWorker(
                task=Task.objects.get(pk=t.id),
                worker=Worker.objects.get(person=w, project=form.cleaned_data['project']),
            )
            tw.save()

        # save dependencies
        for d in form.cleaned_data['blocked_by']:
            td = TaskDependency(
                blocking_task=d,
                blocked_task=Task.objects.get(pk=t.id)
            )
            td.save()

        return {'success': True}

    form_html = render_crispy_form(form, context=RequestContext(request))
    return {'success': False, 'form_html': form_html}
Exemplo n.º 5
0
def project_detail(request, pk):
    context = RequestContext(request)
    project = Project.objects.get(pk=pk)
    taskform = TaskForm(project_id=pk, initial={'project': pk})
    return render_to_response("pm/project_detail.html", {'project': project, 'taskform': taskform}, context)