Exemple #1
0
def dailyscrum(request):
    """ Prepare for /daily/scrum/ page.
        This is the interface for the daily scrum meeting.
        Before the meeting, team members can visit this page to enter the answers to the three typical questions as a reminder.
        During the meeting, the team can sit in front of their monitor looking at their answers to talk one by one.
        When anybody needs to select a task to do, she can switch to the tasks page and click on the interested task.
        Once selected, only the scrum master can make changes. The answers are saved in the Daily table.
    """
    product = get_active_product(request)
    if not product:
        return render(request, "error", {"err": _("No product for you.")}, "")
    # get the latest active sprint
    sprint = get_active_sprint(product)
    if not sprint:
        sps = product.sprint_set.get_query_set().filter(start__lte=datetime.now())
        if sps.count() > 0:
            sprint = sps[0]
        else:
            return render(request, "error", {"err": _("No sprint for the product.")}, "")
    daily = None
    dailys = Daily.objects.filter(sprint=sprint.pk, member=request.user)  # latest on top
    if len(dailys) > 0:
        daily = dailys[0]
    sbacklog = Backlog.objects.filter(sprint=sprint)
    data = {"product": product, "sprint": sprint, "daily": daily, "items": sbacklog}
    return render(request, "daily", data, "daily/")
Exemple #2
0
def dailyscrum(request):
    """ Prepare for /daily/scrum/ page.
        This is the interface for the daily scrum meeting.
        Before the meeting, team members can visit this page to enter the answers to the three typical questions as a reminder.
        During the meeting, the team can sit in front of their monitor looking at their answers to talk one by one.
        When anybody needs to select a task to do, she can switch to the tasks page and click on the interested task.
        Once selected, only the scrum master can make changes. The answers are saved in the Daily table.
    """
    product = get_active_product(request)
    if not product:
        return render(request, 'error', {'err': _('No product for you.')}, '')
    # get the latest active sprint
    sprint = get_active_sprint(product)
    if not sprint:
        sps = product.sprint_set.get_query_set().filter(
            start__lte=datetime.now())
        if sps.count() > 0:
            sprint = sps[0]
        else:
            return render(request, 'error',
                          {'err': _('No sprint for the product.')}, '')
    daily = None
    dailys = Daily.objects.filter(sprint=sprint.pk,
                                  member=request.user)  #latest on top
    if len(dailys) > 0:
        daily = dailys[0]
    sbacklog = Backlog.objects.filter(sprint=sprint)
    data = {
        'product': product,
        'sprint': sprint,
        'daily': daily,
        'items': sbacklog
    }
    return render(request, 'daily', data, 'daily/')
Exemple #3
0
def taskboard(request):
    """ Prepare for /daily/taskboard/ page.
        Team members view the sprint backlog items and their detailed tasks.
        The page consists of three columns: undone item tasks, on-hand tasks, finished tasks.
        Each row is an item, with tasks as labels (story, points,[who]).
        There is a burndown chart on the right-hand side of the page.
    """
    product = get_active_product(request)
    sprint = get_active_sprint(product)
    if not sprint:
        sps = product.sprint_set.get_query_set().filter(start__lte=datetime.now())
        if sps.count() > 0:
            sprint = sps[0]
    if sprint:
        sbacklog = sprint.backlog_set.get_query_set()
    else:
        sbacklog = None
    data = {"product": product, "sprint": sprint, "items": sbacklog}
    return render(request, "taskboard", data, "daily/")
Exemple #4
0
def taskboard(request):
    """ Prepare for /daily/taskboard/ page.
        Team members view the sprint backlog items and their detailed tasks.
        The page consists of three columns: undone item tasks, on-hand tasks, finished tasks.
        Each row is an item, with tasks as labels (story, points,[who]).
        There is a burndown chart on the right-hand side of the page.
    """
    product = get_active_product(request)
    sprint = get_active_sprint(product)
    if not sprint:
        sps = product.sprint_set.get_query_set().filter(
            start__lte=datetime.now())
        if sps.count() > 0:
            sprint = sps[0]
    if sprint:
        sbacklog = sprint.backlog_set.get_query_set()
    else:
        sbacklog = None
    data = {'product': product, 'sprint': sprint, 'items': sbacklog}
    return render(request, 'taskboard', data, 'daily/')