def taskdelete_view(request):
    session = request.session
    username = session.get("user")
    userid = session.get("userid")
    taskid = request.matchdict['taskid']
    if username is None:
        return HTTPFound('/login')
      
    task = database.readTicketByTicketid(userid, taskid)
    if type(task) is int:
        print("Error: " + replyCodes[task])
        return HTTPFound('/dashboard')
    projekt = database.readProjectByProjectid(userid, task.projektid)
    if type(projekt) is int:
        print("Error: " + replyCodes[projekt])
        return HTTPFound('/dashboard')
      
    if request.method == 'POST':
        data = request.POST
        deleted = database.deleteTicket(userid, taskid)
        if deleted > 0:
	    return HTTPFound('/taskdelete/' + taskid)
	return HTTPFound('/scrumboard/' + str(task.projektid))  

    return{'task' : task, 'projekt': projekt}
def taskmodify_view(request):
    session = request.session
    username = session.get("user")
    userid = session.get("userid")
    taskid = request.matchdict['taskid']
    if username is None:
        return HTTPFound('/login')
      
    ticket = database.readTicketByTicketid(userid, taskid)
    if type(ticket) is int:
        print("Error: " + replyCodes[ticket])
        return HTTPFound("/dashboard")
    ticket.prioritaet = priority[ticket.prioritaet]
    ticket.typ = typ[ticket.typ]
    
    prioritaet = []
    for i in range(1,len(priority)+1):
        prioritaet.append(priority[i])
    typen = []
    for i in range(1,len(typ)+1):
        typen.append(typ[i])
    students = database.readAssignableStudentsInProject(userid, ticket.projektid)
    if type(students) is int:
        print("Error " + replyCodes[students])
        return HTTPFound("/dashboard")
    students.append(utils.getUnassignedStudent())
    
    if request.method == 'POST':
        data = request.POST
        ticketM = ticketModel()
        ticketM.id = ticket.id
        ticketM.sprintid = ticket.sprintid
        ticketM.column = ticket.column
        ticketM.creatorid = ticket.creatorid
        ticketM.finished = ticket.finished
        ticketM.projektid = ticket.projektid

        if "taskTitle" in data:
            ticketM.name = data.get("taskTitle")
        else:
            ticketM.name = ticket.name

        if "taskDescription" in data:
            ticketM.description = data.get("taskDescription")
        else:
            ticketM.description = ticket.description
            
        if "taskPriority" in data:
            taskpriority = data.get("taskPriority")
            for i in range(1,len(priority)+1):
                if priority[i] == taskpriority:
                    ticketM.prioritaet = i
                    break
        else:
            ticketM.prioritaet = ticket.prioritaet
            
        if "taskType" in data:
            tasktype = data.get("taskType")
            for i in range(1,len(typ)+1):
                if typ[i] == tasktype:
                    ticketM.typ = i
                    break
        else:
            ticketM.typ = ticket.typ
            
        if "taskEditor" in data:
            taskeditor = data.get("taskEditor")
            for s in students:
                if taskeditor == s.hfuId:
                    ticketM.assignedid = s.id
                    break
            if ticketM.assignedid < 0:
                ticketM.assignedid = None
        else:
            ticketM.assignedid = ticket.assignedid
            
        if "taskCost" in data:
            ticketM.effort = data.get("taskCost")
        else:
            ticketM.effort = ticket.effort

        changed = database.changeTicketInfo(userid, ticketM)
        if changed > 0:
            print("Error: " + replyCodes[changed])

    return{'ticket' : ticket, 'typen' : typen, 'priority' : prioritaet, 'students' : students}