예제 #1
0
def add_task(request, storyid):
    story = Story.objects.get(id=storyid)
    try:
        if request.POST['project']:
            milestone = None
            if request.POST['milestone']:
                milestone = Milestone.objects.get(id=request.POST['milestone'])
            if not milestone or milestone.branch.status != 'M':
                milestone = Milestone.objects.get(branch__status='M',
                                                  undefined=True)
            newtask = Task(
                story=story,
                title=request.POST['title'],
                project=Project.objects.get(name=request.POST['project']),
                milestone=milestone,
            )
            newtask.save()
            msg = "Added %s task " % format_taskname(newtask)
            newcomment = Comment(story=story,
                                 action=msg,
                                 author=request.user,
                                 comment_type="plus-sign",
                                 content=request.POST.get('comment', ''))
            newcomment.save()
    except KeyError:
        pass
    return HttpResponseRedirect('/story/%s' % story.id)
예제 #2
0
def delete_task(request, taskid):
    task = Task.objects.get(id=taskid)
    task.delete()
    msg = "Deleted %s task" % format_taskname(task)
    newcomment = Comment(story=task.story,
                         action=msg,
                         author=request.user,
                         comment_type="remove-sign",
                         content=request.POST.get('comment', ''))
    newcomment.save()
    return HttpResponseRedirect('/story/%s' % task.story.id)
예제 #3
0
def edit_task(request, taskid):
    task = Task.objects.get(id=taskid)
    try:
        actions = []
        if (task.title != request.POST['title']):
            actions.append("title")
            task.title = request.POST['title']
        milestone = Milestone.objects.get(id=int(request.POST['milestone']))
        milestonename = milestone.name
        if (milestone != task.milestone):
            actions.append("milestone -> %s" % milestonename)
            task.milestone = milestone
        status = request.POST['status']
        if (task.status != status):
            task.status = status
            actions.append("status -> %s" % task.get_status_display())
        if not request.POST['assignee']:
            assignee = None
            assigneename = "None"
        else:
            assignee = User.objects.get(username=request.POST['assignee'])
            assigneename = assignee.username
        if (assignee != task.assignee):
            actions.append("assignee -> %s" % assigneename)
            task.assignee = assignee
        if actions:
            msg = "Updated %s task " % format_taskname(task)
            msg += ", ".join(actions)
            task.save()
            newcomment = Comment(story=task.story,
                                 action=msg,
                                 author=request.user,
                                 comment_type="tasks",
                                 content=request.POST.get('comment', ''))
            newcomment.save()
    except KeyError:
        pass
    return HttpResponseRedirect('/story/%s' % task.story.id)