def ACrearElementoMeeting(): #POST/PUT parameters params = request.get_json() results = [{'label':'/VReunion', 'msg':['Detalle de la reunión creado']}, {'label':'/VCrearElementoMeeting', 'msg':['Error al crear un detalle a la reunión']}, ] res = results[1] #Action code goes here, res should be a list with a label and a message usuario = session['usuario'] oUser = user() usuario = oUser.searchUserByName(usuario['nombre']) print(usuario) challenges = params['challenge'] planed = params['planed'] done = params['done'] idReunion = int(session['idReunion']) oElementMeeting = elementMeeting() exito = oElementMeeting.insertElement(challenges, planed, done, idReunion, usuario.U_username) if exito: res = results[0] res['label'] = res['label'] + '/' + str(idReunion) #Action code ends here if "actor" in res: if res['actor'] is None: session.pop("actor", None) else: session['actor'] = res['actor'] return json.dumps(res)
def VEquipo(): #GET parameter idPila = request.args['idPila'] res = {} if "actor" in session: res['actor']=session['actor'] #Action code goes here, res should be a JSON structure if 'usuario' not in session: res['logout'] = '/' return json.dumps(res) idPila = int(session['idPila']) oTeam = team() teamList = oTeam.getTeam(idPila) oUser = user() userList = oUser.getAllUsers() res['fEquipo'] = {'lista':[{'miembro':team.EQ_username, 'rol': team.EQ_rol} for team in teamList]} res['usuario'] = session['usuario'] res['idPila'] = idPila res['fEquipo_opcionesRol'] =[ {'key':'Desarrollador', 'value':'Desarrollador'}, {'key':'Scrum master', 'value':'Scrum master'}, ] res['fEquipo_opcionesMiembros'] =[{'key':user.U_username,'value': user.U_username} for user in userList] #Action code ends here return json.dumps(res)
def AIdentificar(): #POST/PUT parameters. params = request.get_json() results = [{ 'label': '/VProductos', 'msg': ['Bienvenido dueño del producto'], "actor": "duenoProducto" }, { 'label': '/VProductos', 'msg': ['Bienvenido Maestro Scrum'], "actor": "maestroScrum" }, { 'label': '/VProductos', 'msg': ['Bienvenido Desarrollador'], "actor": "desarrollador" }, { 'label': '/VLogin', 'msg': ['Datos de identificación incorrectos'] }] res = results[3] if request.method == 'POST': userName = params['usuario'] userPassword = params['clave'] # Buscamos el usuario en la base de datos oUser = user() userLogin = oUser.searchUser(userName) if userLogin: encriptPassword = userLogin[0].U_password # Chequeamos el password oLogin = login() isValid = oLogin.check_password(encriptPassword, userPassword) if isValid: # Mostramos el nombre en la aplicación fullname = userLogin[0].U_fullname session['usuario'] = {'nombre': fullname.title()} # Verificamos el rol del usuario rolUser = userLogin[0].U_idActor if rolUser == 1: res = results[0] if rolUser == 2: res = results[1] if rolUser == 3: res = results[2] if "actor" in res: if res['actor'] is None: session.pop("actor", None) else: session['actor'] = res['actor'] return json.dumps(res)
def VEquipo(): #GET parameter res = {} idPila = int(session['idPila']) oTeam = team() oUser = user() #Obtenemos la lista de usuarios asignados al equipo. teamList = oTeam.getTeam(idPila) teamMembers = [] productOwner = '' scrumMaster = '' for m in teamList: if m.EQ_rol == "Product owner": productOwner = m.EQ_username if m.EQ_rol == "Scrum master": scrumMaster = m.EQ_username if m.EQ_rol == "Team member": teamMembers.append(m.EQ_username) #Obtenemos los usuarios registrados como product owner. productOwnerList = oUser.getUserByIdActor(1) #Obtenemos los usuarios registrados como scrum masters. scrumMastersList = oUser.getUserByIdActor(2) #Obtenemos los usuarios registrados como desarrolladores. teamMembersList = oUser.getUserByIdActor(3) res['fEquipo'] = {'productOwner':productOwner,'scrum':scrumMaster,'miembros':teamMembers,'id':idPila} res['usuario'] = session['usuario'] res['idPila'] = idPila res['fEquipo_opcionesProductOwner'] = [{'key': user.U_username,'value': user.U_fullname + " (" + user.U_username + ")"} for user in productOwnerList] res['fEquipo_opcionesScrum'] = [{'key': user.U_username,'value': user.U_fullname + " (" + user.U_username + ")"} for user in scrumMastersList] res['fEquipo_opcionesMiembros'] = [{'key': user.U_username,'value': user.U_fullname + " (" + user.U_username + ")"} for user in teamMembersList] if "actor" in session: res['actor']=session['actor'] if 'usuario' not in session: res['logout'] = '/' return json.dumps(res)
def VEquipo(): #GET parameter idPila = request.args['idPila'] res = {} if "actor" in session: res['actor'] = session['actor'] #Action code goes here, res should be a JSON structure if 'usuario' not in session: res['logout'] = '/' return json.dumps(res) idPila = int(session['idPila']) oTeam = team() teamList = oTeam.getTeam(idPila) oUser = user() userList = oUser.getAllUsers() res['fEquipo'] = { 'lista': [{ 'miembro': team.EQ_username, 'rol': team.EQ_rol, 'id': team.EQ_idEquipo } for team in teamList] } res['usuario'] = session['usuario'] res['idPila'] = idPila res['fEquipo_opcionesRol'] = [ { 'key': 'Desarrollador', 'value': 'Desarrollador' }, { 'key': 'Scrum master', 'value': 'Scrum master' }, ] res['fEquipo_opcionesMiembros'] = [{ 'key': user.U_username, 'value': user.U_username } for user in userList] #Action code ends here return json.dumps(res)
def VLogin(): res = {} if "actor" in session: res['actor'] = session['actor'] session.pop('usuario', None) # Se precargan valores en la base de datos oCate = category() oActor = role() isEmpty = oActor.emptyTable() if isEmpty: print('Cargando datos de prueba...') #Se crean categorias para las tareas result1 = oCate.insertCategory('Implementar una acción', 2) result2 = oCate.insertCategory('Implementar una vista', 2) result3 = oCate.insertCategory( 'Implementar una regla de negocio o un método de una clase', 2) result4 = oCate.insertCategory('Migrar la base de datos', 2) result5 = oCate.insertCategory('Crear un diagrama UML', 1) result6 = oCate.insertCategory('Crear datos inciales', 1) result7 = oCate.insertCategory('Crear un criterio de aceptación', 1) result8 = oCate.insertCategory('Crear una prueba de aceptación', 2) result9 = oCate.insertCategory( 'Actualizar un elemento implementado en otra tarea', 1) result10 = oCate.insertCategory( 'Escribir el manual en línea de una página', 1) oLogin = login() oUser = user() #Creamos usuarios con los tres posibles roles password = '******' encriptPassword = oLogin.encript(password) oActor.insertActor('Dueno', 'Dueño del Producto', 0) oActor.insertActor('Maestro Scrum', 'Maestro Scrum', 0) oActor.insertActor('Miembro del Equipo', 'Miembro del Equipo', 0) #Corregido error de los actores por defecto, deberian ir en la tabla de Actores #result = oUser.insertUser('Dueno','admin',encriptPassword,'*****@*****.**',1) #result = oUser.insertUser('Maestro Scrum','scrum',encriptPassword,'*****@*****.**',2) #result = oUser.insertUser('Equipo de Trabajo','team',encriptPassword,'*****@*****.**',3) print('Se cargaron los datos.') return json.dumps(res)
def VLogin(): res = {} if "actor" in session: res['actor']=session['actor'] session.pop('usuario', None) # Se precargan valores en la base de datos oCate = category() oActor = role() isEmpty = oActor.emptyTable() if isEmpty: print('Cargando datos de prueba...') #Se crean categorias para las tareas result1 = oCate.insertCategory('Implementar una acción',2) result2 = oCate.insertCategory('Implementar una vista',2) result3 = oCate.insertCategory('Implementar una regla de negocio o un método de una clase',2) result4 = oCate.insertCategory('Migrar la base de datos',2) result5 = oCate.insertCategory('Crear un diagrama UML',1) result6 = oCate.insertCategory('Crear datos inciales',1) result7 = oCate.insertCategory('Crear un criterio de aceptación',1) result8 = oCate.insertCategory('Crear una prueba de aceptación',2) result9 = oCate.insertCategory('Actualizar un elemento implementado en otra tarea',1) result10 = oCate.insertCategory('Escribir el manual en línea de una página',1) oLogin = login() oUser = user() #Creamos usuarios con los tres posibles roles password = '******' encriptPassword = oLogin.encript(password) oActor.insertActor('Dueno','Dueño del Producto',0) oActor.insertActor('Maestro Scrum','Maestro Scrum',0) oActor.insertActor('Miembro del Equipo','Miembro del Equipo',0) #Corregido error de los actores por defecto, deberian ir en la tabla de Actores #result = oUser.insertUser('Dueno','admin',encriptPassword,'*****@*****.**',1) #result = oUser.insertUser('Maestro Scrum','scrum',encriptPassword,'*****@*****.**',2) #result = oUser.insertUser('Equipo de Trabajo','team',encriptPassword,'*****@*****.**',3) print('Se cargaron los datos.') return json.dumps(res)
def AIdentificar(): #POST/PUT parameters. params = request.get_json() results = [{'label':'/VProductos', 'msg':['Bienvenido dueño del producto'], "actor":"duenoProducto"}, {'label':'/VProductos', 'msg':['Bienvenido Maestro Scrum'], "actor":"maestroScrum"}, {'label':'/VProductos', 'msg':['Bienvenido Desarrollador'], "actor":"desarrollador"}, {'label':'/VLogin', 'msg':['Datos de identificación incorrectos']}] res = results[3] if request.method == 'POST': userName = params['usuario'] userPassword = params['clave'] # Buscamos el usuario en la base de datos oUser = user() userLogin = oUser.searchUser(userName) if userLogin: encriptPassword = userLogin[0].U_password # Chequeamos el password oLogin = login(); isValid = oLogin.check_password(encriptPassword, userPassword) if isValid: # Mostramos el nombre en la aplicación fullname = userLogin[0].U_fullname username = userLogin[0].U_username session['usuario'] = {'nombre': fullname.title(),'username': username} # Verificamos el rol del usuario rolUser = userLogin[0].U_idActor if rolUser == 1: res = results[0] if rolUser == 2: res = results[1] if rolUser == 3: res = results[2] if "actor" in res: if res['actor'] is None: session.pop("actor", None) else: session['actor'] = res['actor'] return json.dumps(res)
def ARegistrar(): #POST/PUT parameters params = request.get_json() results = [{ 'label': '/VLogin', 'msg': ['Felicitaciones, Ya estás registrado en la aplicación'] }, { 'label': '/VRegistro', 'msg': ['Error al tratar de registrarse'] }] res = results[1] if request.method == 'POST': # Extraemos los datos newName = params['nombre'] newUser = params['usuario'] newPassword = params['clave'] newEmail = params['correo'] newActor = params['actorScrum'] oLogin = login() oUser = user() checkNewUser = oUser.isFound(newUser) checkNewEmail = oUser.findEmail(newEmail) checkNewPassword = oLogin.validPassword(newPassword) encriptPassword = oLogin.encript(newPassword) if (not checkNewUser) and checkNewPassword and (not checkNewEmail): result = oUser.insertUser(newName, newUser, encriptPassword, newEmail, newActor) if result: res = results[0] if "actor" in res: if res['actor'] is None: session.pop("actor", None) else: session['actor'] = res['actor'] return json.dumps(res)
def VEquipoSprint(): #GET parameter res = {} idSprint = int(session['idSprint']) idPila = int(session['idPila']) oTeam = team() oUser = user() oSubTeam = subEquipoClass() #Obtenemos los desarrolladores asociados al producto. teamList = oTeam.getTeamDevs(idPila) #Obtenemos los desarrolladores asociados al sprint. subteamList = oSubTeam.getSubEquipo(idSprint) miembros = [] for s in subteamList: miembros.append(s.SEQ_username) members = [] for s in subteamList: u = oUser.searchUser(s.SEQ_username) members.append({'miembro':u[0].U_fullname + " (" + s.SEQ_username + ")",'usuario':s.SEQ_username}) res['fEquipo'] = {'miembros': miembros, 'id':idSprint} res['fEquipo_opcionesMiembros'] = [{'key': user['usuario'],'value': user['miembro']} for user in members] res['usuario'] = session['usuario'] res['idSprint'] = idSprint if "actor" in session: res['actor'] = session['actor'] if 'usuario' not in session: res['logout'] = '/' return json.dumps(res)
def ARegistrar(): #POST/PUT parameters params = request.get_json() results = [{'label':'/VLogin' , 'msg':['Felicitaciones, Ya estás registrado en la aplicación']}, {'label':'/VRegistro', 'msg':['Error al tratar de registrarse']} ] res = results[1] if request.method == 'POST': # Extraemos los datos newName = params['nombre'] newUser = params['usuario'] newPassword = params['clave'] newEmail = params['correo'] newActor = params['actorScrum'] oLogin = login() oUser = user() checkNewUser = oUser.isFound(newUser) checkNewEmail = oUser.findEmail(newEmail) checkNewPassword = oLogin.validPassword(newPassword) encriptPassword = oLogin.encript(newPassword) if (not checkNewPassword): res = results[1] res['msg'][0] = res['msg'][0] + ": Formato inválido para la contraseña" if (not checkNewUser) and checkNewPassword and (not checkNewEmail): result = oUser.insertUser(newName,newUser,encriptPassword,newEmail,newActor) if result: res = results[0] if "actor" in res: if res['actor'] is None: session.pop("actor", None) else: session['actor'] = res['actor'] return json.dumps(res)
def ACrearElementoMeeting(): #POST/PUT parameters params = request.get_json() results = [ { 'label': '/VReunion', 'msg': ['Detalle de la reunión creado'] }, { 'label': '/VCrearElementoMeeting', 'msg': ['Error al crear un detalle a la reunión'] }, ] res = results[1] #Action code goes here, res should be a list with a label and a message usuario = session['usuario'] oUser = user() usuario = oUser.searchUserByName(usuario['nombre']) print(usuario) challenges = params['challenge'] planed = params['planed'] done = params['done'] idReunion = int(session['idReunion']) oElementMeeting = elementMeeting() exito = oElementMeeting.insertElement(challenges, planed, done, idReunion, usuario.U_username) if exito: res = results[0] res['label'] = res['label'] + '/' + str(idReunion) #Action code ends here if "actor" in res: if res['actor'] is None: session.pop("actor", None) else: session['actor'] = res['actor'] return json.dumps(res)
def VCrearTarea(): #GET parameter res = {} # Obtenemos el id de la historia actual idHistory = int(request.args.get('idHistoria')) if "actor" in session: res['actor']=session['actor'] if 'usuario' not in session: res['logout'] = '/' return json.dumps(res) # Buscamos la historia actual oUser = user() oUserHistory = userHistory() hist = oUserHistory.searchIdUserHistory(idHistory) res['usuario'] = session['usuario'] res['codHistoria'] = hist[0].UH_codeUserHistory # Obtenemos una lista con los datos asociados a las categorías cateList = clsCategory.query.all() idTarea = request.args.get('idTarea') result = clsTask.query.filter_by(HW_idTask = idTarea).first() cateList = clsCategory.query.all() oTeam = team() found = clsUserHistory.query.filter_by(UH_idUserHistory = idHistory).first() #Obtenemos los miembros del equipo members = oTeam.getTeam(found.UH_idBacklog) miembroList = [] #Quitamos al scrum master y al product owner for m in members: if m.EQ_rol == "Team member": u = oUser.searchUser(m.EQ_username) miembroList.append({'miembro':u[0].U_fullname + " (" + m.EQ_username + ")",'idEquipo':m.EQ_idEquipo}) # Mostramos los datos en la vista ListaCompleta = [] for i in cateList: ListaCompleta.append((i.C_idCategory,i.C_nameCate,i.C_weight)) decorated = [(tup[2], tup) for tup in ListaCompleta] decorated.sort() res['fTarea_opcionesCategoria'] = [ { 'key':cat[1][0] , 'value':cat[1][1] + " (" + str(cat[1][2]) + ")" , 'peso':cat[1][2] } for cat in decorated ] res['fTarea_opcionesMiembro'] = [ { 'key' : -1 , 'value' : 'Sin asignacion' } ] + [ { 'key' : miembro['idEquipo'] , 'value' : miembro['miembro'] } for miembro in miembroList ] res['fTarea'] = {'idHistoria' : idHistory} res['idHistoria'] = idHistory session['idHistoria'] = idHistory return json.dumps(res)