def post(self): args = self.reqparse.parse_args() email = args.get("email") passwd = args.get("password") tipo = args.get("tipo") user = None if tipo == 'ALUMNO': if (email.find('@') != -1): user = Alumno.objects(email=email).first() else: user = Alumno.objects(nombre_usuario=email).first() elif tipo == 'ADMINISTRADOR': if (email.find('@') != -1): user = Administrador.objects(email=email).first() else: user = Administrador.objects(nombre_usuario=email).first() elif tipo == 'PROFESOR': if (email.find('@') != -1): user = Profesor.objects(email=email).first() else: user = Profesor.objects(nombre_usuario=email).first() if user != None and user.activo and user.check_password(passwd): res = [] if tipo == "ALUMNO": res_bd = Curso.objects(alumnos__in=[user], clon_padre=None, activo=True, publicado=True).all() else: res_bd = Curso.objects(profesor=user, clon_padre=None, activo=True).all() for resource in res_bd: res.append({ "id": str(resource.id), "nombre": resource.nombre, "fecha_creacion": resource.fecha_creacion.isoformat(), "activo": resource.activo, "version": resource.version, "id_base": str(resource.curso_base.id), }) return { 'respuesta': user.to_dict(), 'tipo': tipo, 'token': str(user.get_token()), 'recursos': res } return abort(403)
def get(self, id): args = self.reqparse.parse_args() token = args.get('auth-token') alumno = Alumno.load_from_token(token) apoderado = Apoderado.load_from_token(token) administrador = Administrador.load_from_token(token) profesor = Profesor.load_from_token(token) if alumno == None and apoderado == None and administrador == None and profesor == None: return {'response': 'user_invalid'}, 401 return Administrador.objects(id=id).first().to_dict()
def delete(self, id): args = self.reqparse.parse_args() token = args.get('auth-token') alumno = Alumno.load_from_token(token) apoderado = Apoderado.load_from_token(token) administrador = Administrador.load_from_token(token) profesor = Profesor.load_from_token(token) if alumno == None and apoderado == None and administrador == None and profesor == None: return {'response': 'user_invalid'}, 401 administrador = Administrador.objects(id=id).first() administrador.activo = False administrador.save() return {'Response': 'borrado'}
def get(self): args = self.reqparse.parse_args() token = args.get('auth-token') alumno = Alumno.load_from_token(token) apoderado = Apoderado.load_from_token(token) administrador = Administrador.load_from_token(token) profesor = Profesor.load_from_token(token) if alumno == None and apoderado == None and administrador == None and profesor == None: return {'response': 'user_invalid'}, 401 response = [] for administrador in Administrador.objects(activo=True).all(): if administrador.activo: response.append(administrador.to_dict()) return response
def get(self): args = self.reqparse.parse_args() token = args.get('auth-token') userAdmin = Administrador.load_from_token(token) userAlum = Alumno.load_from_token(token) userProf = Profesor.load_from_token(token) if userAdmin == None and userAlum == None and userProf == None: return {'response': 'user_invalid'}, 401 institucion = None if userAdmin != None: institucion = Institucion.objects( id=userAdmin.institucion.id).first() if userAlum != None: institucion = Institucion.objects( id=userAlum.institucion.id).first() if userProf != None: institucion = Institucion.objects( id=userProf.institucion.id).first() if institucion == None: return {'response': 'colegio_invalid'}, 404 response = [] for categoria in Categoria.objects().all(): if categoria.activo: cursos = Curso.objects(categoria=categoria.id, institucion=institucion.id).count() cursosCerrados = Curso.objects( activo=False, categoria=categoria.id, institucion=institucion.id).count() categoria = categoria.to_dict() categoria['cursos'] = cursos categoria['cursosCerrados'] = cursosCerrados response.append(categoria) return response
def post(self): args = self.reqparse.parse_args() token = args.get('auth-token') userAdmin = Administrador.load_from_token(token) userAlum = Alumno.load_from_token(token) userProf = Profesor.load_from_token(token) if userAdmin == None and userAlum == None and userProf == None: return {'response': 'user_invalid'}, 401 institucion = None if userAdmin != None: institucion = Institucion.objects( id=userAdmin.institucion.id).first() if userAlum != None: institucion = Institucion.objects( id=userAlum.institucion.id).first() if userProf != None: institucion = Institucion.objects( id=userProf.institucion.id).first() if institucion == None: return {'response': 'colegio_invalid'}, 404 data = request.data.decode() data = json.loads(data) profesor = Profesor() profesor.nombres = data['nombres'] profesor.apellido_paterno = data['apellido_paterno'] profesor.apellido_materno = data['apellido_materno'] profesor.telefono = data['telefono'] profesor.email = data['email'] profesor.nombre_usuario = data['nombre_usuario'] profesor.encrypt_password(data['nombre_usuario']) profesor.institucion = institucion.id profesor.save() return {'Response': 'exito', 'id': str(profesor.id)}
def put(self, id): args = self.reqparse.parse_args() token = args.get('auth-token') alumno = Alumno.objects(id=id).first() administrador = Administrador.load_from_token(token) if alumno == None and administrador == None: return {'response': 'user_invalid'}, 401 data = request.data.decode() data = json.loads(data) alumno.nombres = data['nombres'] alumno.apellido_paterno = data['apellido_paterno'] alumno.apellido_materno = data['apellido_materno'] alumno.telefono = data['telefono'] alumno.email = data['email'] alumno.sexo = data['sexo'] alumno.rut = data['rut'] alumno.puntaje_ingreso = data['puntaje_ingreso'] direccion = Direccion(calle=data['calle'], numero=data['numero'], comuna=data['comuna'], cas_dep_of=data['cas_dep_of']) alumno.direccion = direccion colegio = Colegio.objects(id=data['colegio']).first() curso = Curso.objects(id=data['curso']).first() alumno.colegio = colegio alumno.curso = curso alumno.save() colegio.updateCantEstudiantes() curso.updateCantEstudiantes() colegio.save() curso.save() return {'Response': 'exito', 'id': str(alumno.id)}
def post(self): args = self.reqparse.parse_args() token = args.get('auth-token') userAdmin = Administrador.load_from_token(token) userAlum = Alumno.load_from_token(token) userProf = Profesor.load_from_token(token) if userAdmin == None and userAlum == None and userProf == None: return {'response': 'user_invalid'}, 401 institucion = None if userAdmin != None: institucion = Institucion.objects( id=userAdmin.institucion.id).first() if userAlum != None: institucion = Institucion.objects( id=userAlum.institucion.id).first() if userProf != None: institucion = Institucion.objects( id=userProf.institucion.id).first() if institucion == None: return {'response': 'colegio_invalid'}, 404 data = request.data.decode() data = json.loads(data) posicion = Seccion.objects(institucion=institucion.id, activo=True).count() + 1 seccion = Seccion() seccion.institucion = institucion.id seccion.titulo = data['titulo'] seccion.data = data['data'] seccion.tipo = data['tipo'] seccion.posicion = posicion seccion.save() return {'Response': 'exito', 'id': str(seccion.id)}
def get(self): args = self.reqparse.parse_args() token = args.get('auth-token') alumno = Alumno.load_from_token(token) apoderado = Apoderado.load_from_token(token) administrador = Administrador.load_from_token(token) profesor = Profesor.load_from_token(token) if alumno == None and apoderado == None and administrador == None and profesor == None: return {'response': 'user_invalid'}, 401 response = [] eventos = [] if profesor != None or administrador != None: eventos = Evento.objects().all() if alumno != None: for evento in Evento.objects().all(): if alumno.curso in evento.cursos: eventos.append(evento) if apoderado != None: for evento in Evento.objects().all(): if apoderado.alumno.curso in evento.cursos: eventos.append(evento) for evento in eventos: if not (evento.eliminado) and evento.activo: response.append(evento.to_dict()) return response
def get(self): args = self.reqparse.parse_args() token = args.get('auth-token') userAdmin = Administrador.load_from_token(token) if userAdmin == None: return {'response': 'user_invalid'}, 401 institucion = None if userAdmin != None: institucion = Institucion.objects( id=userAdmin.institucion.id).first() if institucion == None: return {'response': 'colegio_invalid'}, 404 data = [] labels = [] for recurso in Curso.objects(institucion=institucion.id, activo=True, publicado=True).all(): labels.append(recurso.nombre) aprobacion = 0 for evaluacion in Evaluacion.objects(curso=recurso.id).all(): aprobacion = aprobacion + evaluacion.acierto if Evaluacion.objects(curso=recurso.id).count() != 0: aprobacion = int(aprobacion / Evaluacion.objects(curso=recurso.id).count()) data.append(aprobacion) return { "data": [{ "data": data, "label": "Aprobación" }], "labels": labels }
def post(self): args = self.reqparse.parse_args() token = args.get('auth-token') userAdmin = Administrador.load_from_token(token) userAlum = Alumno.load_from_token(token) userProf = Profesor.load_from_token(token) if userAdmin == None and userAlum == None and userProf == None: return {'response': 'user_invalid'}, 401 institucion = None if userAdmin != None: institucion = Institucion.objects( id=userAdmin.institucion.id).first() if userAlum != None: institucion = Institucion.objects( id=userAlum.institucion.id).first() if userProf != None: institucion = Institucion.objects( id=userProf.institucion.id).first() if institucion == None: return {'response': 'colegio_invalid'}, 404 data = request.data.decode() data = json.loads(data) asignatura = Asignatura() asignatura.nombre = data['nombre'] asignatura.institucion = institucion asignatura.save() return {'Response': 'exito'}
def get(self): args = self.reqparse.parse_args() token = args.get('auth-token') userAdmin = Administrador.load_from_token(token) userAlum = Alumno.load_from_token(token) userProf = Profesor.load_from_token(token) if userAdmin == None and userAlum == None and userProf == None: return {'response': 'user_invalid'}, 401 institucion = None if userAdmin != None: institucion = Institucion.objects( id=userAdmin.institucion.id).first() if userAlum != None: institucion = Institucion.objects( id=userAlum.institucion.id).first() if userProf != None: institucion = Institucion.objects( id=userProf.institucion.id).first() if institucion == None: return {'response': 'colegio_invalid'}, 404 response = [] asignaturas = Asignatura.objects(institucion=institucion).all() for asignatura in asignaturas: if asignatura.activo: cursos_lista = [] cursos = Curso.objects(asignatura=asignatura.id, clon_padre=None).all() for curso in cursos: cursos_lista.append({'nombre': curso.nombre}) response.append({ 'id': str(asignatura.id), 'nombre': asignatura.nombre, 'cursos': cursos_lista }) return response
def post(self): args = self.reqparse.parse_args() token = args.get('auth-token') alumno = Alumno.load_from_token(token) apoderado = Apoderado.load_from_token(token) administrador = Administrador.load_from_token(token) profesor = Profesor.load_from_token(token) if alumno == None and apoderado == None and administrador == None and profesor == None: return {'response': 'user_invalid'},401 #trabajar directamente con el usuario que cambia contraseña user = None if alumno != None: user = alumno elif apoderado != None: user = apoderado elif administrador != None: user = administrador elif profesor != None: user = profesor if user ==None: return {'message':'invalid_user'} #Obtener los campos del formulario de cambio de contraseña data = request.data.decode() data = json.loads(data) #Validar que la contraseña actual sea valida if user.check_password(data['actual_password']): #Cambiar contraseña user.encrypt_password(data['new_password']) user.save() return {'message':'great'} else: return {"message":"incorrect_password"}
def post(self): args = self.reqparse.parse_args() email = args.get("email") passwd = args.get("password") tipo = args.get("tipo") recursos = [] user = None if tipo == 'ALUMNO': user = Alumno.objects(email=email).first() for recurso in Curso.objects(alumnos__in=[user]).all(): recursos.append(recurso.to_dict()) elif tipo == 'ADMINISTRADOR': user = administrador = Administrador.objects(email=email).first() elif tipo == 'PROFESOR': user = Profesor.objects(email=email).first() for recurso in Curso.objects(profesor=user).all(): recursos.append(recurso.to_dict()) if user and user.activo and user.check_password(passwd): return { 'respuesta': { 'id': str(user.id) }, 'tipo': tipo, 'token': str(user.get_token()), 'recursos': recursos } print('testingggg') return {'respuesta': 'no_existe'}, 401
def delete(self, id): args = self.reqparse.parse_args() token = args.get('auth-token') userAdmin = Administrador.load_from_token(token) userAlum = Alumno.load_from_token(token) userProf = Profesor.load_from_token(token) if userAdmin == None and userAlum == None and userProf == None: return {'response': 'user_invalid'}, 401 institucion = None if userAdmin != None: institucion = Institucion.objects( id=userAdmin.institucion.id).first() if userAlum != None: institucion = Institucion.objects( id=userAlum.institucion.id).first() if userProf != None: institucion = Institucion.objects( id=userProf.institucion.id).first() if institucion == None: return {'response': 'colegio_invalid'}, 404 seccion = Seccion.objects(id=id).first() posicion = seccion.posicion seccion.activo = False seccion.save() secciones = Seccion.objects(institucion=institucion).all() for sec in secciones: if sec.activo and sec.posicion > posicion: sec.posicion = sec.posicion - 1 sec.save() return {'Response': 'borrado'}
def get(self, id): args = self.reqparse.parse_args() token = args.get('auth-token') alumno = Alumno.load_from_token(token) apoderado = Apoderado.load_from_token(token) administrador = Administrador.load_from_token(token) profesor = Profesor.load_from_token(token) if alumno == None and apoderado == None and administrador == None and profesor == None: return {'response': 'user_invalid'}, 401 labels = [] data = [] prueba = Prueba.objects(id=id).first() evaluaciones = Evaluacion.objects(prueba=prueba).all() for pregunta in prueba.preguntas: labels.append("pregunta " + str(pregunta.numero_pregunta)) for curso in Curso.objects().all(): if prueba.asignatura in curso.asignaturas: data_curso = [] for pregunta in prueba.preguntas: cantidad_correctas = 0 for evaluacion in evaluaciones: if evaluacion.alumno.curso == curso: for respuesta in evaluacion.respuestas: if respuesta.numero_pregunta == pregunta.numero_pregunta: if respuesta.correcta: cantidad_correctas = cantidad_correctas + 1 data_curso.append(cantidad_correctas) data.append({"data": data_curso, "label": curso.nombre}) return {"labels": labels, "data": data}
def get(self, id_evaluacion): args = self.reqparse.parse_args() token = args.get('auth-token') alumno = Alumno.load_from_token(token) apoderado = Apoderado.load_from_token(token) administrador = Administrador.load_from_token(token) profesor = Profesor.load_from_token(token) if alumno == None and apoderado == None and administrador == None and profesor == None: return {'response': 'user_invalid'}, 401 evaluacion = Evaluacion.objects(id=id_evaluacion).first() rowsData = [] rowsData.append({ 'id': str(evaluacion.alumno.id), 'nombres': evaluacion.alumno.nombres, 'apellido_paterno': evaluacion.alumno.apellido_paterno, 'apellido_materno': evaluacion.alumno.apellido_materno, 'rut': evaluacion.alumno.rut }) for row in rowsData: for respuesta in evaluacion.respuestas: if evaluacion.prueba.tipo != "TAREA": if respuesta.alternativa == "O": row[str(respuesta.numero_pregunta)] = "" else: row[str( respuesta.numero_pregunta)] = respuesta.alternativa else: if respuesta.correcta: row[str(respuesta.numero_pregunta)] = "correcta" else: row[str(respuesta.numero_pregunta)] = "incorrecta" return rowsData
def put(self, id): args = self.reqparse.parse_args() token = args.get('auth-token') userAdmin = Administrador.load_from_token(token) userAlum = Alumno.load_from_token(token) userProf = Profesor.load_from_token(token) if userAdmin == None and userAlum == None and userProf == None: return {'response': 'user_invalid'}, 401 institucion = None if userAdmin != None: institucion = Institucion.objects( id=userAdmin.institucion.id).first() if userAlum != None: institucion = Institucion.objects( id=userAlum.institucion.id).first() if userProf != None: institucion = Institucion.objects( id=userProf.institucion.id).first() if institucion == None: return {'response': 'colegio_invalid'}, 404 seccion = Seccion.objects(id=id).first() print(seccion.to_dict()) posicion = seccion.posicion seccion_siguiente = Seccion.objects(institucion=institucion, activo=True, posicion=posicion + 1).first() seccion.posicion = posicion + 1 seccion_siguiente.posicion = posicion seccion.save() seccion_siguiente.save() return {'Response': 'exito'}
def get(self, id_prueba, id_curso): args = self.reqparse.parse_args() token = args.get('auth-token') alumno = Alumno.load_from_token(token) apoderado = Apoderado.load_from_token(token) administrador = Administrador.load_from_token(token) profesor = Profesor.load_from_token(token) if alumno == None and apoderado == None and administrador == None and profesor == None: return {'response': 'user_invalid'}, 401 rowsData = [] prueba = Prueba.objects(id=id_prueba).first() curso = Curso.objects(id=id_curso).first() for alumno in Alumno.objects(curso=curso, activo=True).all(): if Evaluacion.objects(prueba=prueba, alumno=alumno).first() == None: rowsData.append({ 'id': str(alumno.id), 'nombres': alumno.nombres, 'apellido_paterno': alumno.apellido_paterno, 'apellido_materno': alumno.apellido_materno, 'rut': alumno.rut }) for row in rowsData: for pregunta in prueba.preguntas: row[str(pregunta.numero_pregunta)] = "" return rowsData
def post(self): args = self.reqparse.parse_args() token = args.get('auth-token') userAdmin = Administrador.load_from_token(token) userAlum = Alumno.load_from_token(token) userProf = Profesor.load_from_token(token) if userAdmin == None and userAlum == None and userProf == None: return {'response': 'user_invalid'}, 401 institucion = None if userAdmin != None: institucion = Institucion.objects( id=userAdmin.institucion.id).first() if userAlum != None: institucion = Institucion.objects( id=userAlum.institucion.id).first() if userProf != None: institucion = Institucion.objects( id=userProf.institucion.id).first() if institucion == None: return {'response': 'colegio_invalid'}, 404 data = request.data.decode() data = json.loads(data) grado = Grado() grado.nivel = data['nivel'] grado.identificador = data['identificador'] grado.institucion = institucion.id profesor = Profesor.objects(id=data['profesor']).first() grado.profesor = profesor.id grado.save() return {'Response': 'exito'}
def get(self, id_recurso): args = self.reqparse.parse_args() user = None token = args.get('auth-token') user = Alumno.load_from_token(token) user_prof = Profesor.load_from_token(token) user_admin = Administrador.load_from_token(token) if user == None and user_admin == None and user_prof == None: return {'response': 'user_invalid'},401 if len(id_recurso.encode('utf-8')) != 24: return {'response': 'bad_request'},400 curso = Curso.objects(id=id_recurso).first() if curso==None: return {'response': 'resource_invalid'},404 response = {} response['id'] = str(curso.id) response['nombre'] = curso.nombre response['fecha_creacion'] = str(curso.fecha_creacion) response['asignatura'] = curso.asignatura.to_dict() response['profesor'] = curso.profesor.to_dict() contenidos = [] for contenido in curso.contenidos: preguntas = [] for pregunta in contenido.preguntas: if pregunta.tipo_pregunta == "ALTERNATIVA" or pregunta.tipo_pregunta == "VERDADERO_FALSO": opciones = [] for opcion in pregunta.alternativas: opciones.append(opcion.to_dict()) preguntas.append({ "tipo": pregunta.tipo_pregunta, "indice": pregunta.indice, "texto": pregunta.texto, "habilidad": pregunta.habilidad.to_dict(), "opciones": opciones }) if pregunta.tipo_pregunta == "TEXTO": preguntas.append({ "tipo": pregunta.tipo_pregunta, "indice": pregunta.indice, "texto": pregunta.texto }) if pregunta.tipo_pregunta == "UNIR_IMAGENES" or pregunta.tipo_pregunta == "UNIR_TEXTOS" or pregunta.tipo_pregunta == "UNIR_IMAGEN_TEXTO": opciones = [] for opcion in pregunta.alternativas: opciones.append(opcion.to_dict()) preguntas.append({ "tipo": pregunta.tipo_pregunta, "indice": pregunta.indice, "texto": pregunta.texto, "habilidad": pregunta.habilidad.to_dict(), "opciones": opciones }) contenidos.append({ "identificador" : contenido.identificador, "preguntas" : preguntas }) response['contenidos'] = contenidos return response
def get(self): args = self.reqparse.parse_args() token = args.get('auth-token') userAdmin = Administrador.load_from_token(token) userAlum = Alumno.load_from_token(token) userProf = Profesor.load_from_token(token) if userAdmin == None and userAlum == None and userProf == None: return {'response': 'user_invalid'}, 401 institucion = None if userAdmin != None: institucion = Institucion.objects( id=userAdmin.institucion.id).first() if userAlum != None: institucion = Institucion.objects( id=userAlum.institucion.id).first() if userProf != None: institucion = Institucion.objects( id=userProf.institucion.id).first() if institucion == None: return {'response': 'colegio_invalid'}, 404 profesores = [] for profesor in Profesor.objects(institucion=institucion.id, activo=True).all(): profesores.append(profesor.to_dict()) return profesores
def get(self, id): args = self.reqparse.parse_args() token = args.get('auth-token') alumno = Alumno.load_from_token(token) apoderado = Apoderado.load_from_token(token) administrador = Administrador.load_from_token(token) profesor = Profesor.load_from_token(token) if alumno == None and apoderado == None and administrador == None and profesor == None: return {'response': 'user_invalid'}, 401 curso = Curso.objects(id=id).first() labels = [] data = [] for asignatura in curso.asignaturas: labels.append(asignatura.nombre) suma_parcial_pruebas = 0 for prueba in Prueba.objects(asignatura=asignatura.id, tipo="ENSAYO").all(): suma_parcial_evaluaciones = 0 for evaluacion in Evaluacion.objects(prueba=prueba.id).all(): print(evaluacion.alumno.curso) if evaluacion.alumno.curso == curso: suma_parcial_evaluaciones = suma_parcial_evaluaciones + evaluacion.puntaje if Evaluacion.objects(prueba=prueba.id).count() > 0: suma_parcial_evaluaciones = suma_parcial_evaluaciones / ( Evaluacion.objects(prueba=prueba.id).count()) suma_parcial_evaluaciones = int(suma_parcial_evaluaciones) suma_parcial_pruebas = suma_parcial_pruebas + suma_parcial_evaluaciones if Prueba.objects(asignatura=asignatura.id, tipo="ENSAYO").count() > 0: suma_parcial_pruebas = int( suma_parcial_pruebas / (Prueba.objects( asignatura=asignatura.id, tipo="ENSAYO").count())) data.append(suma_parcial_pruebas) return {"labels": labels, "data": data}
def get(self): token = request.headers.get('auth-token') user = Administrador.load_from_token(token) if user == None: return [] else: return user.to_dict()
def get(self): args = self.reqparse.parse_args() token = args.get('auth-token') userAdmin = Administrador.load_from_token(token) userAlum = Alumno.load_from_token(token) userProf = Profesor.load_from_token(token) if userAdmin == None and userAlum == None and userProf == None: return {'response': 'user_invalid'}, 401 institucion = None if userAdmin != None: institucion = Institucion.objects( id=userAdmin.institucion.id).first() if userAlum != None: institucion = Institucion.objects( id=userAlum.institucion.id).first() if userProf != None: institucion = Institucion.objects( id=userProf.institucion.id).first() if institucion == None: return {'response': 'colegio_invalid'}, 404 secciones = [] cant_secciones = Seccion.objects(institucion=institucion.id, activo=True).count() posicion = 1 for pos in range(0, cant_secciones): seccion = Seccion.objects(institucion=institucion.id, posicion=pos + 1, activo=True).first() if seccion != None and seccion.activo: secciones.append(seccion.to_dict()) return secciones
def post(self): data = request.data.decode() data = json.loads(data) args = self.reqparse.parse_args() token = args.get('auth-token') user = Administrador.load_from_token(token) if user == None: return {'response': 'user_invalid'}, 401 institucion = Institucion.objects(id=user.institucion.id).first() if institucion == None: return {'response': 'colegio_invalid'}, 404 alumno = Alumno() alumno.nombres = data['nombres'] alumno.apellido_paterno = data['apellido_paterno'] alumno.apellido_materno = data['apellido_materno'] alumno.telefono = data['telefono'] alumno.email = data['email'] alumno.nombre_usuario = data['nombre_usuario'] alumno.encrypt_password(data['nombre_usuario']) alumno.matricula = data['matricula'] alumno.institucion = institucion.id grado = Grado.objects(id=data['grado']).first() alumno.grado = grado alumno.save() return {'Response': 'exito', 'id': str(alumno.id)}
def get(self, id): args = self.reqparse.parse_args() token = args.get('auth-token') alumno = Alumno.load_from_token(token) apoderado = Apoderado.load_from_token(token) administrador = Administrador.load_from_token(token) profesor = Profesor.load_from_token(token) if alumno == None and apoderado == None and administrador == None and profesor == None: return {'response': 'user_invalid'}, 401 labels = [] data = [] prueba = Prueba.objects(id=id).first() for curso in Curso.objects().all(): if prueba.asignatura in curso.asignaturas: cantidad = 0 promedio = 0 labels.append(curso.nombre) for evaluacion in Evaluacion.objects(prueba=prueba): if evaluacion.alumno.curso == curso: cantidad = cantidad + 1 promedio = promedio + evaluacion.puntaje if cantidad > 0: promedio = int(promedio / cantidad) data.append(promedio) return {"labels": labels, "data": [data]}
def post(self): args = self.reqparse.parse_args() token = args.get('auth-token') alumno = Alumno.load_from_token(token) apoderado = Apoderado.load_from_token(token) administrador = Administrador.load_from_token(token) profesor = Profesor.load_from_token(token) if alumno == None and apoderado == None and administrador == None and profesor == None: return {'response': 'user_invalid'}, 401 data = request.data.decode() data = json.loads(data) profesor = Profesor() profesor.nombres = data['nombres'] profesor.apellido_paterno = data['apellido_paterno'] profesor.apellido_materno = data['apellido_materno'] profesor.telefono = data['telefono'] profesor.email = data['email'] profesor.encrypt_password(data['rut']) profesor.rut = data['rut'] direccion = Direccion(calle=data['calle'], numero=data['numero'], comuna=data['comuna'], cas_dep_of=data['cas_dep_of']) profesor.direccion = direccion asignatura = Asignatura.objects(id=data['asignatura']).first() profesor.asignatura = asignatura.id profesor.save() return {'Response': 'exito', 'id': str(profesor.id)}
def put(self, id): args = self.reqparse.parse_args() token = args.get('auth-token') apoderado = Apoderado.objects(id=id).first() administrador = Administrador.load_from_token(token) if apoderado == None and administrador == None: return {'response': 'user_invalid'}, 401 data = request.data.decode() data = json.loads(data) apoderado.nombres = data['nombres'] apoderado.apellido_paterno = data['apellido_paterno'] apoderado.apellido_materno = data['apellido_materno'] apoderado.telefono = data['telefono'] apoderado.email = data['email'] apoderado.rut = data['rut'] direccion = Direccion(calle=data['calle'], numero=data['numero'], comuna=data['comuna'], cas_dep_of=data['cas_dep_of']) apoderado.direccion = direccion #Asignar alumno alumno = Alumno.objects(rut=data['rut_alumno']).first() if alumno == None: return {'Response': 'not_alumno'} else: apoderado.alumno = alumno apoderado.save() return {'Response': 'exito', 'id': str(apoderado.id)}
def test_get_admin_token(client): with api.app.app_context(): administrador = Administrador.objects().first() token = administrador.get_token() rv = client.get('/administrador', headers={'auth-token': token}) if rv._status_code == 200: return True assert False
def POST(self): datos_in = web.input() nombre_completo = datos_in['nombre_completo'] identificacion = datos_in['identificacion'] e_mail = datos_in['e_mail'] usuario = datos_in ['usuario'] contrasena= datos_in['contrasena'] direccion_residencia = datos_in['direccion_residencia'] ciudad_residencia = datos_in['ciudad_residencia'] sexo = datos_in['sexo'] fecha_nacimiento= datos_in['fecha'] telefono = datos_in['telefono'] direccion_despacho = datos_in['direccion_despacho'] ciudad_despacho = datos_in['ciudad_despacho'] user = Usuario.create(identificacion,nombre_completo, usuario, contrasena, e_mail,direccion_residencia,ciudad_residencia) if "Usuario_de_internet" in datos_in: Usuario_de_internet.create(identificacion,sexo, fecha_nacimiento, direccion_despacho, ciudad_despacho, telefono) if "Administrador" in datos_in: Administrador.create(identificacion) if "Despachador" in datos_in: Despachador.create(identificacion) raise web.redirect('/usuario/listar/')
def GET(self): datos = {} datos['administradores'] = Administrador.getAll() datos['despachadores'] = Despachador.getAll() datos['usuarios'] = Usuario_de_internet.getAll() return render.listar_usuarios (datos)