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
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
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
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