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 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 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 test_get_administrador(client): administrador = Administrador.objects().first() if (administrador == None): assert False rv = client.get('/administradores/' + str(administrador.id)) if rv._status_code == 200: return True assert False
def test_get_finalizar_tutorial_admin(client): with api.app.app_context(): administrador = Administrador.objects().first() if administrador == None: assert False rv = client.get('/administrador/finalizar/tutorial/' + str(administrador.id)) if rv._status_code == 200: return True assert False
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 post(self, id): data = request.data.decode() data = json.loads(data) institucion = Institucion.objects(id=id).first() administrador = Administrador.objects( email=data['email'], institucion=institucion.id).first() profesor = Profesor.objects(email=data['email'], institucion=institucion.id).first() alumno = Alumno.objects(email=data['email'], institucion=institucion.id).first() if administrador != None: if (administrador.check_password(data['password']) or administrador.activo == False): token = administrador.get_token() return { 'respuesta': { 'id': str(administrador.id) }, 'tipo': 'ADMINISTRADOR', 'token': str(token) } else: return {'respuesta': 'no_existe'}, 401 if profesor != None: if (profesor.check_password(data['password']) or administrador.activo == False): token = profesor.get_token() return { 'respuesta': { 'id': str(profesor.id) }, 'tipo': 'PROFESOR', 'token': str(token) } else: return {'respuesta': 'no_existe'}, 401 if alumno != None: if (alumno.check_password(data['password']) or administrador.activo == False): token = alumno.get_token() return { 'respuesta': { 'id': str(alumno.id) }, 'tipo': 'ALUMNO', 'token': str(token) } else: return {'respuesta': 'no_existe'}, 401 else: return {'respuesta': 'no_existe'}, 404
def AdminGenerate(): administrador = Administrador.objects().all() if (len(administrador) == 0): admin = Administrador() admin.nombres = 'admin' admin.apellido_paterno = 'paterno' admin.apellido_materno = 'materno' admin.email = '*****@*****.**' admin.telefono = '+56999999999' admin.nombre_usuario = 'admin' admin.encrypt_password('pass') admin.save()
def post(self): args = self.reqparse.parse_args() email = args.get("email") 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 and user.activo and user.check_password(args.get("password")): recursos = [] if tipo == 'ALUMNO': for recurso in Curso.objects(alumnos__in=[user], clon_padre=None).all(): recursos.append(recurso.to_dict()) elif tipo == 'PROFESOR': for recurso in Curso.objects(profesor=user, clon_padre=None).all(): recursos.append(recurso.to_dict()) return { 'respuesta': { 'id': str(user.id) }, 'tipo': tipo, 'token': str(user.get_token()), 'recursos': recursos } return {'respuesta': 'no_existe'}, 401
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 put(self, id): administrador = Administrador.objects(id=id).first() data = request.data.decode() data = json.loads(data) administrador.nombres = data['nombres'] administrador.apellido_paterno = data['apellido_paterno'] administrador.apellido_materno = data['apellido_materno'] administrador.email = data['email'] administrador.telefono = data['telefono'] administrador.nombre_usuario = data['nombre_usuario'] administrador.password = data['password'] administrador.save() return {'Response': 'exito'}
def get(self, id): administrador = Administrador.objects(id=id).first() imagen = Image.open( current_app.config.get("BASE_PATH") + "uploads/administradores/default_thumbnail.jpg") imagen.thumbnail((800, 800)) imagen.save( os.path.join( current_app.config.get("BASE_PATH") + "uploads/administradores", str(id) + '_thumbnail.jpg')) administrador.imagen = str(administrador.id) administrador.save() return {'Response': 'exito'}
def test_delete_secciones(client): with api.app.app_context(): seccion = newSeccion() administrador = Administrador.objects().first() administrador.institucion = setInstitucion() administrador.save() token = administrador.get_token() if seccion == None: assert False rv = client.delete('/secciones/' + str(seccion.id), headers={'auth-token': token}) if rv._status_code == 200: return True assert False
def test_get_recurso_cargar(client): with api.app.app_context(): administrador = Administrador.objects().first() administrador.institucion = setInstitucion() administrador.save() token = administrador.get_token() recurso = Curso.objects().first() if recurso == None: assert False rv = client.get('/recursos/' + str(recurso.id), headers={'auth-token': token}) if rv._status_code == 200: return True assert False
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 test_put_seccion_bajar(client): with api.app.app_context(): seccion = newSeccion() administrador = Administrador.objects().first() administrador.institucion = setInstitucion() administrador.save() token = administrador.get_token() if seccion == None: assert False return True # Quitar cuando se resuelva el problema rv = client.put('/seccion/bajar/' + str(seccion.id), headers={'auth-token': token}) if rv._status_code == 200: return True assert False
def post(self, id): imagen = Image.open(request.files['imagen'].stream).convert("RGB") imagen.save( os.path.join( current_app.config.get("BASE_PATH") + "uploads/administradores", str(id) + ".jpg")) imagen.thumbnail((800, 800)) imagen.save( os.path.join( current_app.config.get("BASE_PATH") + "uploads/administradores", str(id) + '_thumbnail.jpg')) administrador = Administrador.objects(id=id).first() administrador.imagen = id administrador.save() return {'Response': 'exito', 'id': str(administrador.id)}
def post(self): data = request.data.decode() data = json.loads(data) if(data['tipo'] == 'ADMINISTRADOR'): administrador = Administrador.objects(email = data['email']).first() if(administrador == None): return {'respuesta': 'no_existe'} else: if administrador.check_password(data['password']): token = administrador.get_token() return {'tipo': 'ADMINISTRADOR','token': str(token)} else: return {'respuesta': 'no_existe'} if(data['tipo'] == 'PROFESOR'): profesor = Profesor.objects(email = data['email']).first() if(profesor == None): return {'respuesta': 'no_existe'} else: if profesor.check_password(data['password']): token = profesor.get_token() return {'tipo': 'PROFESOR','token': str(token)} else: return {'respuesta': 'no_existe'} if(data['tipo'] == 'ALUMNO'): alumno = Alumno.objects(email = data['email']).first() if(alumno == None): return {'respuesta': 'no_existe'} else: if alumno.check_password(data['password']): token = alumno.get_token() return {'tipo': 'ALUMNO','token': str(token)} else: return {'respuesta': 'no_existe'} if(data['tipo'] == 'APODERADO'): apoderado = Apoderado.objects(email = data['email']).first() if(apoderado == None): return {'respuesta': 'no_existe'} else: if apoderado.check_password(data['password']): token = apoderado.get_token() return {'tipo': 'APODERADO','token': str(token)} else: return {'respuesta': 'no_existe'}
def test_put_administrador(client): administrador = Administrador.objects().first() if (administrador == None): assert False data = { 'nombres': 'nombre admin', 'apellido_paterno': 'paterno', 'apellido_materno': 'materno', 'email': '*****@*****.**', 'telefono': '+569', 'nombre_usuario': 'usuario', 'password': '******' } data = json.dumps(data) data = data.encode() rv = client.put('/administradores/' + str(administrador.id), data=data) if rv._status_code == 200: return True assert False
def put(self, id): args = self.reqparse.parse_args() token = args.get('auth-token') administrador = Administrador.load_from_token(token) administrador_editar = Administrador.objects(id=id).first() if administrador == None and administrador_editar == None: return {'response': 'user_invalid'}, 401 data = request.data.decode() data = json.loads(data) administrador_editar.nombres = data['nombres'] administrador_editar.apellido_paterno = data['apellido_paterno'] administrador_editar.apellido_materno = data['apellido_materno'] administrador_editar.telefono = data['telefono'] administrador_editar.email = data['email'] administrador_editar.rut = data['rut'] direccion = Direccion(calle=data['calle'], numero=data['numero'], comuna=data['comuna'], cas_dep_of=data['cas_dep_of']) administrador_editar.direccion = direccion administrador_editar.save() return {'Response': 'exito', 'id': str(administrador_editar.id)}
def post(self): data = request.data.decode() data = json.loads(data) administrador = None profesor = None alumno = None if (data['email'].find('@') != -1): administrador = Administrador.objects(email=data['email']).first() profesor = Profesor.objects(email=data['email']).first() alumno = Alumno.objects(email=data['email']).first() else: administrador = Administrador.objects( nombre_usuario=data['email']).first() profesor = Profesor.objects(nombre_usuario=data['email']).first() alumno = Alumno.objects(nombre_usuario=data['email']).first() if administrador != None: if (administrador.check_password(data['password']) or administrador.activo == False): if administrador.institucion == None: return {'respuesta': 'no_existe'}, 401 else: token = administrador.get_token() return { 'respuesta': { 'id': str(administrador.id) }, 'tipo': 'ADMINISTRADOR', 'token': str(token) } else: return {'respuesta': 'no_existe'}, 401 if profesor != None: if (profesor.check_password(data['password']) or profesor.activo == False): if profesor.institucion == None: return {'respuesta': 'no_existe'}, 401 else: token = profesor.get_token() return { 'respuesta': { 'id': str(profesor.id) }, 'tipo': 'PROFESOR', 'token': str(token) } else: return {'respuesta': 'no_existe'}, 401 if alumno != None: if (alumno.check_password(data['password']) or alumno.activo == False): if alumno.institucion == None: return {'respuesta': 'no_existe'}, 401 else: token = alumno.get_token() return { 'respuesta': { 'id': str(alumno.id) }, 'tipo': 'ALUMNO', 'token': str(token) } else: return {'respuesta': 'no_existe'}, 401 else: return {'respuesta': 'no_existe'}, 404
def get(self, id): administrador = Administrador.objects(id=id).first() administrador.primera_vez = False administrador.save() return {'Response': 'exito'}
def get(self, id): return json.loads(Administrador.objects(id=id).first().to_json())
def get(self): print(Administrador.objects().all().to_json()) return json.loads(Administrador.objects().all().to_json())
def administradorEncriptacion(): for administrador in Administrador.objects().all(): administrador.encrypt_password(administrador.password) administrador.save()