def taskcreate_view(request): session = request.session username = session.get("user") userid = session.get("userid") activeprojectid = session.get("activeprojectid") if username is None: return HTTPFound('/login') #all students in project students = [] students.append(utils.getUnassignedStudent()) studentsToAdd = database.readAssignableStudentsInProject(userid, activeprojectid) if type(studentsToAdd) is int: print("Error: " + replyCodes[studentsToAdd]) return HTTPFound('/scrumboard/' + activeprojectid) students.extend(studentsToAdd) if request.method == 'POST': data = request.POST if "taskTitle" in data and "taskDescription" in data and "taskPriority" in data and "taskType" in data and "taskCost" in data: ticketM = ticketModel() ticketM.name = data.get('taskTitle') ticketM.sprintid = None ticketM.column = 0 ticketM.creatorid = userid ticketM.description = data.get('taskDescription') ticketM.effort = data.get('taskCost') if "taskEditor" in data: if data.get('taskEditor') == staticValues["UNASSIGNED_TICKET_STRING"]: ticketM.assignedid = None else: for s in students: if s.hfuId == data.get('taskEditor'): ticketM.assignedid = s.id break ticketM.projektid = activeprojectid for i in range(1,len(priority)+1): if data.get('taskPriority') == priority[i]: ticketM.prioritaet = i break for i in range(1,len(typ)+1): if data.get('taskType') == typ[i]: ticketM.typ= i break ticket = database.writeNewTicket(userid, ticketM) if ticket > 0: print("Error: " + replyCodes[ticket]) return HTTPFound('/taskcreate') return HTTPFound('/backlog/' + activeprojectid) 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]) return{'students' : students, 'priority' : prioritaet, 'typen' : typen }
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}