コード例 #1
0
ファイル: app.py プロジェクト: angelopez10/LaTiendaBackEnd
def checkout(id):
    if not request.is_json:
        return jsonify({"msg": "Missing JSON in request"}), 400

    ItemCompradoId = request.json.get('ItemProductoCompradoId', None)
    CantidaProductoComprado = request.json.get('CantidaProductoComprado', None)
    precioProductoSeleccionado = request.json.get('precioProductoSeleccionado',
                                                  None)
    usuario_id = request.json.get('usuario_id', None)
    totalFactura = request.json.get('totalFactura', None)
    totalProductosComprados = request.json.get('totalProductosComprados', None)
    usuarioActual = request.json.get('usuarioActual', None)
    emailTiendaSeleccionada = request.json.get('emailTiendaSeleccionada', None)

    email = Usuario.query.filter_by(id=usuario_id).first().email
    productos = Productos.query.filter(Productos.id.in_(ItemCompradoId)).all()

    usua = Factura()
    usua.usuario_factura_id = usuario_id
    usua.total = totalFactura
    db.session.add(usua)
    db.session.commit()

    factura_id = Factura.query.order_by(Factura.id.desc()).first().id
    print(factura_id)
    i = 0
    for prod in productos:
        usua = Detallefactura()
        usua.productos_comprados = int(CantidaProductoComprado[i])
        usua.factura_id = factura_id
        usua.producto_id = int(ItemCompradoId[i])
        usua.precio = int(precioProductoSeleccionado[i])
        db.session.add(usua)
        db.session.commit()
        i = i + 1

    i = 0
    for prod in productos:

        prod.stock = int(prod.stock) - int(CantidaProductoComprado[i])
        i = i + 1
        db.session.commit()

    html = render_template('email-compraProductos.html',
                           users=totalProductosComprados)
    send_mail("Compra", "*****@*****.**", email, html)
    html = render_template('email-ProductosComprados.html',
                           usuarioactual=usuarioActual,
                           users=totalProductosComprados)
    send_mail("Productos comprados", "*****@*****.**",
              emailTiendaSeleccionada, html)

    datosProductos = Productos.query.filter_by(tienda_id=id).all()
    datosProductos = list(
        map(lambda datosProductos: datosProductos.serialize(), datosProductos))

    return jsonify(datosProductos), 200
コード例 #2
0
def checkout():
    if not request.is_json:
        return jsonify({"msg": "Missing JSON in request"}), 400

    ItemCompradoId = request.json.get('ItemProductoCompradoId', None)
    CantidaProductoComprado = request.json.get('CantidaProductoComprado', None)
    precioProductoSeleccionado = request.json.get('precioProductoSeleccionado',
                                                  None)
    usuario_id = request.json.get('usuario_id', None)
    totalFactura = request.json.get('totalFactura', None)
    usuarioActual = request.json.get('usuarioActual', None)
    email = User.query.filter_by(id=usuario_id).first().email
    usuario = User.query.filter_by(id=usuario_id).first()

    usua = Factura()
    usua.total = totalFactura
    usua.comprador = usuario
    db.session.add(usua)
    db.session.commit()

    #factura_id =Factura.query.filter_by(id = usuario_id).first()
    factura_id = Factura.query.order_by(Factura.id.desc()).first()
    productos = Productos.query.filter(Productos.id.in_(ItemCompradoId)).all()
    i = 0
    for prod in productos:
        usua = Detallefactura()
        usua.productos_comprados = prod
        usua.productos_facturados = factura_id
        usua.cantidad_producto_comprado = int(CantidaProductoComprado[i])
        db.session.add(usua)
        db.session.commit()
        i = i + 1

    listaDetalleFactura = Detallefactura.query.filter_by(
        facturaf_id=factura_id.id).all()
    listaDetalleFactura = list(
        map(lambda listaDetalleFactura: listaDetalleFactura.serialize(),
            listaDetalleFactura))

    html = render_template('email-compraProductos.html',
                           users=listaDetalleFactura)
    send_mail("Compra", "*****@*****.**", email, html)
    html = render_template('email-ProductosComprados.html',
                           usuarioactual=usuarioActual,
                           users=listaDetalleFactura)
    send_mail("Productos comprados", "*****@*****.**",
              "*****@*****.**", html)

    return jsonify({
        'msg':
        'Producto encargados exitamente en breve recibira un email con el detalle'
    }), 200
コード例 #3
0
ファイル: rest_api.py プロジェクト: rdorame/ParcialLabWeb2
 def factura_add(cls, request):
     try:
         token = jwt.decode(request.token, 'secret')  #CHECA EL TOKEN
         user = Usuarios.get_by_id(
             token['user_id']
         )  #obtiene el usuario para poder acceder a los metodos declarados en models.py en la seccion de
         myfactura = Factura()
         if myfactura.factura_m(
                 request, user.empresa_key
         ) == 0:  #llama a la funcion declarada en models.py en la seccion de USUARIOS
             codigo = 1
         else:
             codigo = -3
             #la funcion josue_m puede actualizar e insertar
             #depende de la ENTRADA de este endpoint method
         message = CodeMessage(code=codigo,
                               message='Factura registrada con exito')
     except jwt.DecodeError:
         message = CodeMessage(code=-2, message='Invalid token')
     except jwt.ExpiredSignatureError:
         message = CodeMessage(code=-1, message='Token expired')
     return message
コード例 #4
0
ファイル: rest_api.py プロジェクト: rdorame/ParcialLabWeb2
 def factura_update(cls, request):
     try:
         token = jwt.decode(request.token, 'secret')  #CHECA EL TOKEN
         user = Usuarios.get_by_id(
             token['user_id']
         )  #obtiene el usuario para poder acceder a los metodos declarados en models.py en la seccion de USUARIOS
         empresakey = ndb.Key(urlsafe=user.empresa_key.urlsafe()
                              )  #convierte el string dado a entityKey
         myfactura = Factura()
         if myfactura.factura_m(
                 request, empresakey
         ) == 0:  #llama a la funcion declarada en models.py en la seccion de USUARIOS
             codigo = 1
         else:
             codigo = -3
             #la funcion josue_m puede actualizar e insertar
             #depende de la ENTRADA de este endpoint method
         message = CodeMessage(
             code=1, message='Sus cambios han sido guardados exitosamente')
     except jwt.DecodeError:
         message = CodeMessage(code=-2, message='Invalid token')
     except jwt.ExpiredSignatureError:
         message = CodeMessage(code=-1, message='Token expired')
     return message