def backlog_view(request):
    projektid = request.matchdict['projektid']
    session = request.session
    username = session.get("user")
    userid = session.get("userid")
    if username is None:
        return HTTPFound('/login')
    projekt = database.readProjectByProjectid(userid, projektid)
    if type(projekt) is int:
        print("Error: " + replyCodes[projekt])
        return HTTPFound('/scrumboard/' + projektid)
    sprints = database.readSprintsOfProject(userid, projektid)
    if type(sprints) is int:
        print("Error: " + replyCodes[sprints])
        return HTTPFound('/scrumboard/' + projektid)
    #all tickets of project
    tickets = database.readTicketsOfProject(userid, projektid)
    if type(tickets) is int:
        print("Error: " + replyCodes[tickets])
        return HTTPFound('/scrumboard/' + projektid)
    for t in tickets:
        t.prioritaet = priority[t.prioritaet]
        t.typ = typ[t.typ]
        if t.sprintid:
            sprintNr = None
            for s in sprints:
                if s.id == t.sprintid:
                    sprintNr = s.number
                    break
            if sprintNr:
                t.name =  "[In Sprint " + str(sprintNr) + "] " + t.name
    if request.method == 'POST':
        data = request.POST

    return{'tickets' : tickets, 'projekt' : projekt, 'sprints' : sprints}
def backlogsprint_view(request):
    projektid = request.matchdict['projektid']
    sprintnumber = request.matchdict['sprintnumber']
    session = request.session
    username = session.get("user")
    userid = session.get("userid")
    if username is None:
        return HTTPFound('/login')
    projekt = database.readProjectByProjectid(userid, projektid)
    if type(projekt) is int:
        print("Error: " + replyCodes[projekt])
        return HTTPFound('/scrumboard/' + projektid)
    sprints = database.readSprintsOfProject(userid, projektid)
    if type(sprints) is int:
        print("Error: " + replyCodes[sprints])
        return HTTPFound('/scrumboard/' + projektid)
    #all tickets of project
    tickets = database.readTicketsOfProject(userid, projektid)
    if type(tickets) is int:
        print("Error: " + replyCodes[tickets])
        return HTTPFound('/scrumboard/' + projektid)
    for t in tickets:
        t.prioritaet = priority[t.prioritaet]
        t.typ = typ[t.typ]
        if t.sprintid:
            sprintNr = None
            for s in sprints:
                if s.id == t.sprintid:
                    sprintNr = s.number
                    break
            if sprintNr:
                t.name =  "[In Sprint " + str(sprintNr) + "] " + t.name
    #tickets of sprint
    sprinttickets = database.readTicketsOfSprint(userid, projektid, sprintnumber)
    if type(sprinttickets) is int:
        print("Error: " + replyCodes[sprinttickets])
        return HTTPFound('/scrumboard/' + projektid)
    for t in sprinttickets:
        t.prioritaet = priority[t.prioritaet]
        t.typ = typ[t.typ]
    if request.method == 'POST':
        data = request.POST
        taskid = data.get('task')
        snr = data.get('sprintnr')
        pid = data.get('pid')
        changed = database.changeTicketSprint(userid, int(taskid), int(snr))
        if changed > 0:
	    print("Error : " + replyCodes[changed])
	    return HTTPFound("/backlog/" + projektid + "/" + sprintnumber)
        
    return{'tickets' : tickets, 'projekt' : projekt, 'sprints' : sprints, 'sprinttickets' : sprinttickets, 'sprintnumber' : int(sprintnumber)}