예제 #1
0
파일: main.py 프로젝트: Emilio1991/API
def get_proveedores():
    if 'id' in session:
        id = session['id']
        proveedores = Proveedor.select()
        proveedores = [Proveedor.to_json() for Proveedor in proveedores]
        identificador = Proveedor.select()
        identificador = [Proveedor.iden() for Proveedor in identificador]

        diccionario = {}
        for x in range(len(proveedores)):
            diccionario[identificador[x]] = proveedores[x]

        return jsonify(diccionario)
    return jsonify({'message': 'KO'})
예제 #2
0
파일: run.py 프로젝트: rushqui/xmlCFDI
def show_signup_form():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = SignupForm()
    error = None
    if form.validate_on_submit():
        numero_proveedor = form.numero_proveedor.data
        name = form.name.data
        email = form.email.data
        password = form.password.data
        # Comprobamos que no hay ya un usuario con ese email o número de proveedor
        user = User.get_by_email(email)
        np = User.get_by_numero(numero_proveedor)
        no_p = Proveedor.get_by_numero(numero_proveedor)
        if not no_p:
            error = f'El número de proveedor {numero_proveedor} no está dado de alta. Favor de contactar al Administrador'
        elif np is not None:
            error = f'El número de proveedor {numero_proveedor} ya está siendo utilizado por otro usuario'    
        elif user is not None:
            error = f'El email {email} ya está siendo utilizado por otro usuario'
                        
        else:
            # Creamos el usuario y lo guardamos
            user = User(name=name, email=email, numero_proveedor=numero_proveedor)
            user.set_password(password)
            user.save()
            # Dejamos al usuario logueado
            login_user(user, remember=True)
            next_page = request.args.get('next', None)
            if not next_page or url_parse(next_page).netloc != '':
                next_page = url_for('post_form')
            return redirect(next_page)
    return render_template("signup_form.html", form=form, error=error)
예제 #3
0
파일: main.py 프로젝트: Emilio1991/API
def put_producto(producto_id):
    if 'id' in session:
        id = session['id']
        try:
            producto = Producto.get(Producto.id == producto_id)
            categoria = Categoria.get(Categoria.id == producto.categoria)
            inventario = Inventario.get((Inventario.id == categoria.inventario)
                                        & (Inventario.usuario == id))
            proveedor = Proveedor.get(Proveedor.id == producto.proveedor)
            producto.nombre = request.json.get('nombre', producto.nombre)
            producto.descripcion = request.json.get('descripcion',
                                                    producto.descripcion)
            producto.categoria = request.json.get('categoria',
                                                  producto.categoria)
            producto.proveedor = request.json.get('proveedor',
                                                  producto.proveedor)

            if producto.save():
                return jsonify(
                    producto.to_json(categoria.add_ok(), proveedor.to_json()))
            else:
                abort(422)
        except Producto.DoesNotExist:
            abort(404)
        except Inventario.DoesNotExist:
            abort(404)
    return jsonify({'message': 'KO'})
예제 #4
0
파일: main.py 프로젝트: Emilio1991/API
def get_proveedor(proveedor_id):
    if 'id' in session:
        id = session['id']
        try:
            proveedor = Proveedor.get(Proveedor.id == proveedor_id)
            return jsonify(proveedor.to_json())
        except Proveedor.DoesNotExist:
            abort(404)
    return jsonify({'message': 'KO'})
예제 #5
0
파일: main.py 프로젝트: Emilio1991/API
def delete_proveedor(proveedor_id):
    if 'id' in session:
        id = session['id']
        try:
            proveedor = Proveedor.get(Proveedor.id == proveedor_id)
            producto = Producto.select().where(
                Producto.proveedor == proveedor_id)
            for Producto in producto:
                producto.delete_instance()
            proveedor.delete_instance()
            return jsonify({'message': 'OK'})
        except Proveedor.DoesNotExist:
            abort(404)
    return jsonify({'message': 'KO'})
예제 #6
0
파일: main.py 프로젝트: Emilio1991/API
def put_proveedor(proveedor_id):
    if 'id' in session:
        id = session['id']
        proveedor = Proveedor.get(Proveedor.id == proveedor_id)

        proveedor.nombre = request.json.get('nombre', proveedor.nombre)
        proveedor.descripcion = request.json.get('descripcion',
                                                 proveedor.descripcion)

        if proveedor.save():
            return jsonify(proveedor.to_json())
        else:
            abort(422)
    return jsonify({'message': 'KO'})
예제 #7
0
파일: main.py 프로젝트: Emilio1991/API
def get_producto(producto_id):
    if 'id' in session:
        id = session['id']
        try:
            producto = Producto.get(Producto.id == producto_id)
            categoria = Categoria.get(Categoria.id == producto.categoria)
            inventario = Inventario.get((Inventario.id == categoria.inventario)
                                        & (Inventario.usuario == id))
            proveedor = Proveedor.get(Proveedor.id == producto.proveedor)
            return jsonify(
                producto.to_json(categoria.add_ok(), proveedor.to_json()))
        except Producto.DoesNotExist:
            abort(404)
        except Inventario.DoesNotExist:
            abort(404)
    return jsonify({'message': 'KO'})
예제 #8
0
파일: main.py 프로젝트: Emilio1991/API
def post_proveedor():
    if 'id' in session:
        id = session['id']
        if not request.json:
            abort(400)

        nombre = request.json.get('nombre')
        descripcion = request.json.get('descripcion')

        proveedor = Proveedor.new(nombre, descripcion)

        if proveedor is None:
            abort(422)

        if proveedor == "error":
            abort(406)

        return jsonify(proveedor.to_json())
    return jsonify({'message': 'KO'})
예제 #9
0
파일: main.py 프로젝트: Emilio1991/API
def get_productos():
    if 'id' in session:
        id = session['id']
        productos = Producto.select().join(Categoria).join(Inventario).where(
            Inventario.usuario == id)
        productos = [
            Producto.to_json(
                Categoria.get(Categoria.id == Producto.categoria).add_ok(),
                Proveedor.get(Proveedor.id == Producto.proveedor).to_json())
            for Producto in productos
        ]
        identificador = Producto.select().join(Categoria).join(
            Inventario).where(Inventario.usuario == id)
        identificador = [Producto.iden() for Producto in identificador]

        diccionario = {}
        for x in range(len(productos)):
            diccionario[identificador[x]] = productos[x]

        return jsonify(diccionario)
    return jsonify({'message': 'KO'})
예제 #10
0
파일: main.py 프로젝트: Emilio1991/API
def post_producto():
    if 'id' in session:
        id = session['id']
        if not request.json:
            abort(400)

        nombre = request.json.get('nombre')
        descripcion = request.json.get('descripcion')
        categoria = request.json.get('categoria')
        proveedor = request.json.get('proveedor')

        producto = Producto.new(nombre, descripcion, categoria, proveedor)

        if producto is None:
            abort(422)

        if producto == "error":
            abort(406)

        categoria = Categoria.get(Categoria.id == producto.categoria)
        proveedor = Proveedor.get(Proveedor.id == producto.proveedor)
        return jsonify(
            producto.to_json(categoria.add_ok(), proveedor.to_json()))
    return jsonify({'message': 'KO'})