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)
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)
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)