コード例 #1
0
 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
コード例 #2
0
 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'}
コード例 #3
0
 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'}
コード例 #4
0
 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'}
コード例 #5
0
 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
コード例 #6
0
 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'}
コード例 #7
0
 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)}
コード例 #8
0
 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
コード例 #9
0
 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'}
コード例 #10
0
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
コード例 #11
0
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
コード例 #12
0
 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'}
コード例 #13
0
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
コード例 #14
0
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
コード例 #15
0
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
コード例 #16
0
 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)}
コード例 #17
0
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
コード例 #18
0
    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'}
コード例 #19
0
    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'}
コード例 #20
0
 def get(self, id):
     seccion = Seccion.objects(id=id).first()
     seccion.imagen = "default"
     seccion.save()
     return {'Response': 'exito'}