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 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 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 put(self, user, id): seccion = Seccion.objects(id=id).first() institucion = seccion.institucion.id posicion = seccion.posicion seccion_anterior = Seccion.objects(institucion=institucion, activo=True, posicion=posicion - 1).first() seccion.posicion = posicion - 1 seccion_anterior.posicion = posicion seccion.save() seccion_anterior.save() return {'Response': 'exito'}
def get(self, id): institucion = Institucion.objects(id=id).first() secciones = [] cant_secciones = Seccion.objects(institucion=institucion.id, activo=True).count() 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 delete(self, id): token = request.headers.get('auth-token') user = Administrador.load_from_token(token) if user == None: return {}, 401 seccion = Seccion.objects(id=id).first() institucion = seccion.institucion.id 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 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): token = request.headers.get('auth-token') user = Administrador.load_from_token(token) if user == None: return [], 401 institucion = Institucion.objects(id=user.institucion.id).first() 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 put(self, id): token = request.headers.get('auth-token') print(token) user = Administrador.load_from_token(token) if user == None: return {}, 401 seccion = Seccion.objects(id=id).first() institucion = seccion.institucion.id 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 test_get_seccion_imagen_original(client): seccion = Seccion.objects().first() if seccion == None: assert False rv = client.get('/seccion/imagen/original/' + str(seccion.id)) if rv._status_code == 200: return True assert False
def test_get_seccion_imagen_default(client): seccion = Seccion.objects().first() if seccion: rv = client.get('/seccion/imagen/default/' + str(seccion.id)) if rv._status_code == 200: return True assert False assert False
def put(self, id_colegio): data = request.data.decode() data = json.loads(data) seccion = Seccion.objects(id=data['id']).first() seccion.titulo = data['titulo'] seccion.data = data['data'] seccion.tipo = data['tipo'] seccion.save() return {'Response': 'exito'}
def test_delete_secciones(client): seccion = Seccion.objects().first() if seccion == None: assert True else: rv = client.delete('/secciones/' + str(seccion.id)) if rv._status_code == 200: assert True else: assert False
def test_get_seccion_imagen(client): seccion = Seccion.objects().first() if seccion == None: assert True else: rv = client.get('/seccion/imagen/' + str(seccion.id)) if rv._status_code == 200: assert True else: assert False
def test_put_seccion_bajar(client): seccion = Seccion.objects().first() if seccion == None: assert True else: rv = client.put('/seccion/bajar/' + str(seccion.id)) if rv._status_code == 200: assert True else: assert False
def post(self, id_colegio): data = request.data.decode() data = json.loads(data) institucion = Institucion.objects(id=id_colegio).first() 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 test_post_seccion_imagen(client): with api.app.app_context(): seccion = Seccion.objects().first() if seccion == None: assert False directory_root = dirname(dirname(abspath(__file__))) path_img = os.path.join(str(directory_root), "flaskr", "uploads", "categorias", "default.jpg") with open(path_img, 'rb') as img_open: img = BytesIO(img_open.read()) data = {'imagen': (img, 'img.jpg')} rv = client.post('/seccion/imagen/' + str(seccion.id), data=data) if rv._status_code == 200: return True assert False
def post(self, id): directory_root = dirname(dirname(abspath(__file__))) imagen = Image.open(request.files['imagen'].stream).convert("RGB") image_path = os.path.join(str(directory_root), "flaskr", "uploads", "secciones", str(id) + ".jpg") imagen.save(image_path) imagen.thumbnail((800, 800)) image_path = os.path.join(str(directory_root), "flaskr", "uploads", "secciones", "%s_thumbnail.jpg" % str(id)) imagen.save(image_path) seccion = Seccion.objects(id=id).first() seccion.imagen = str(id) seccion.save() return {'Response': 'exito'}
def post(self, id): #upload_directory = os.path.join(current_app.config.get("UPLOAD_FOLDER", "uploads"), # "secciones") #Para los test directory_root = dirname(dirname(abspath(__file__))) upload_directory = os.path.join(str(directory_root), "flaskr/uploads/secciones") imagen = Image.open(request.files['imagen'].stream).convert("RGB") image_path = os.path.join(upload_directory, "%s.jpg" % str(id)) imagen.save(image_path) imagen.thumbnail((800, 800)) image_path = os.path.join(upload_directory, "%s_thumbnail.jpg" % str(id)) imagen.save(image_path) seccion = Seccion.objects(id=id).first() seccion.imagen = str(id) seccion.save() return {'Response': 'exito'}
def get(self, id): seccion = Seccion.objects(id=id).first() seccion.imagen = "default" seccion.save() return {'Response': 'exito'}