def NuevoPedido(dniuser, new): if new == "q": return render_template("Nuevos.html", usuario=dniuser, productos=Productos.query.all()) else: items=[] totalpedido=0 for i in request.form: if i != "Mesa" and i != "observaciones": producto=Productos.query.filter_by(Nombre=i).first() items.append(ItemsPedidos(Estado="Pendiente", NumProducto=producto.NumProducto, Precio=producto.PrecioUnitario)) totalpedido += float(producto.PrecioUnitario) pedido=Pedidos(Fecha=datetime.datetime.today(), Mesa=request.form["Mesa"], DNIMozo=dniuser, Cobrado=False, Observacion= request.form["observaciones"], Total = totalpedido) db.session.add(pedido) db.session.commit() numpedido=Pedidos.query.all()[-1].NumPedido #Ultimo pedido agregado for item in items: item.NumPedido=numpedido db.session.add(item) db.session.commit() return render_template("Nuevos.html", usuario=dniuser, productos=Productos.query.all(), message="Pedido añadido")
def Registropedidos(): if 'DNI' in session: if session.get('Tipo') == 'Mozo': if request.method == 'POST': valores = list(dict(request.form).keys()) if 'NumPedido' in valores: pedido = Pedidos.query.filter_by( NumPedido=request.form['NumPedido']).first() if request.form['Observaciones'] != pedido.Observacion: pedido.Observacion = request.form['Observaciones'] if 'Mesa' in valores: nummesa = int(request.form['Mesa']) pedido = Pedidos(Fecha=datetime.date.today(), Total=0.0, Cobrado=False, Observacion='', DNIMozo=session.get('DNI'), Mesa=nummesa) db.session.add(pedido) db.session.commit() return render_template('registropedido.html', products=Productos.query.all(), Pedido=pedido) elif 'Finalizar' in valores: items = list(pedido.Item) if len(items) == 0: return render_template( 'registropedido.html', products=Productos.query.all(), Pedido=pedido, error='No se selecciono ningun elemento de la lista' ) else: return redirect(url_for('Menu')) else: numprod = valores[1] prod = Productos.query.filter_by( NumProducto=numprod).first() item = ItemsPedidos(NumPedido=pedido.NumPedido, NumProducto=prod.NumProducto, Precio=prod.PrecioUnitario, Estado='Pendiente') pedido.Total += int(prod.PrecioUnitario) db.session.add(item) db.session.commit() return render_template('registropedido.html', products=Productos.query.all(), Pedido=pedido) else: return render_template('registropedido.html', Mesaoc=True) else: return redirect(url_for('VerPedidos')) else: return render_template('Error.html', error='No se inicio sesión')
def nuevo_pedido(usuarioDNI): if request.method == 'POST': if request.form['item'] != 'Terminar Pedido': if request.form['item'] != 'Confirmar': producto = Productos.query.filter_by( NumProducto=request.form['item']).first() item = ItemsPedidos(Estado='Pendiente', NumProducto=producto.NumProducto, Precio=producto.PrecioUnitario) db.session.add(item) db.session.commit() return render_template( 'nuevo_pedido.html', usuario=usuarioDNI, productos=Productos.query.all(), pedido=ItemsPedidos.query.filter_by(NumPedido=None).all(), mesa=request.form['Mesa']) else: total_compra = 0 items = ItemsPedidos.query.filter_by(NumPedido=None).all() for item_pedidos in items: total_compra += float(item_pedidos.Precio) pedido = Pedidos(Fecha=datetime.today(), Mesa=request.form["Mesa"], DNIMozo=usuarioDNI, Cobrado='False', Total=total_compra) db.session.add(pedido) db.session.commit() id = Pedidos.query.all()[-1].NumPedido items = ItemsPedidos.query.filter_by(NumPedido=None).all() for item_pedidos in items: item_pedidos.NumPedido = id db.session.add(item_pedidos) db.session.commit() return render_template('agregar_observacion.html', usuario=usuarioDNI) else: pedido_final = Pedidos.query.all()[-1] pedido_final.Observacion = request.form['observaciones'] db.session.add(pedido_final) db.session.commit() return render_template('funciones_mozo.html', usuario=usuarioDNI) else: return render_template('nuevo_pedido.html', usuario=usuarioDNI, productos=Productos.query.all())
def post(self): parser.add_argument('mesa') parser.add_argument('andar') parser.add_argument('pedidos', type=str, action='append', default=[]) parser.add_argument('valor_pedidos', type=str, action='append', default=[]) parser.add_argument('data') parser.add_argument('hora') args = parser.parse_args() _pedidos = args['pedidos'][0].split(',') _valor_pedidos = args['valor_pedidos'][0].split(',') #print(valor_pedidos) if len(_pedidos) == len(_valor_pedidos): ret_pedidos = Pedidos(mesa=args['mesa'], andar=args['andar'], pedidos=args['pedidos'][0], valor_pedidos=args['valor_pedidos'][0], data=args['data'], hora=args['hora']) session.add(ret_pedidos) session.commit() res = {} res['mesa'] = ret_pedidos.mesa res['andar'] = ret_pedidos.andar res['pedidos'] = ret_pedidos.pedidos res['valor_pedidos'] = ret_pedidos.valor_pedidos res['data'] = ret_pedidos.data res['hora'] = ret_pedidos.hora #ret_pedidos.save() return res #print(args) else: return { 'erro': 'lista com valor dos pedidos e lista de pedidos nao condizem em tamanho.' } return args
def handlePedido(): if "dni" in session and "tipo" in session: if escape(session['tipo']) == "Mozo": if request.method == 'POST': items_pedidos = request.form['items'] items_pedidos = items_pedidos.split(',') nuevo_pedido = Pedidos(fecha=datetime.date.today(), total=float(request.form['total']), cobrado=False, observacion=request.form['observacion'], mesa=int(request.form['mesa']), dnimozo=int(escape(session['dni']))) db.session.add(nuevo_pedido) db.session.commit() for item in items_pedidos: producto = Productos.query.filter_by( numProducto="{}".format(int(item))).first() if producto is None: flash('Error al cargar los items.') return redirect(url_for('registrarPedido')) else: nuevo_item = ItemsPedidos( numPedido=nuevo_pedido.numPedido, numProducto=item, precio=producto.preciounitario, estado='Pendiente') db.session.add(nuevo_item) db.session.commit() flash('Registro exitoso.') return redirect(url_for('registrarPedido')) else: flash('Algo no ha salido bien. Reintenta el pedido.') return redirect(url_for('registrarPedido')) elif escape(session['tipo']) == "Cocinero": pass else: return redirect("logout") else: flash("Tip: Deberías Iniciar Sesión antes de realizar pedidos ;)") return redirect(url_for("login"))
def Nuevopedido(): if request.method == "POST": if "DNI" in session and "Tipo" in session: if session["Tipo"] == 'Mozo': total = 0 for i in range(len(listaprecios)): total += listaprecios[i] p = basedatos.session.query( Pedidos).count() #Numero de pedidos p += 1 #Auto incremento de Numero de pedidos pedido_nuevo = Pedidos(NumPedido="{}".format(int(p)), Fecha=datetime.date.today(), Total=total, Cobrado='False', Observacion=request.form['observacion'], Mesa=request.form['Mesa'], DniMozo=escape(session["DNI"])) basedatos.session.add(pedido_nuevo) basedatos.session.commit() for item in listapedidos: q = basedatos.session.query( ItemsPedidos).count() #Numero de Items q += 1 #Auto incremento de Numero de item producto = Productos.query.filter_by(Nombre=item).first() nuevo_item = ItemsPedidos(NumItem="{}".format(int(q)), NumPedido=pedido_nuevo.NumPedido, NumProducto="{}".format( int(producto.NumProducto)), Precio=producto.PrecioUnitario, Estado="Pendiente") basedatos.session.add(nuevo_item) basedatos.session.commit() del listapedidos[:] del listaprecios[:] return redirect(url_for('registarPedido')) else: return redirect(url_for('login'))
def Nuevopedido(): if request.method == "POST": if "DNI" in session and "Tipo" in session: if session["Tipo"] == 'Mozo': #Observacion = request.form['items'] #Observacion = Observacion.split(",") total = 0 for i in range(len(listaprecios)): total += listaprecios[i] p = basedatos.session.query(Pedidos).count() p += 2 pedido_nuevo = Pedidos(NumPedido="{}".format(int(p)), Fecha=datetime.date.today(), Total=total, Cobrado='False', Observacion=request.form['observacion'], Mesa=request.form['Mesa'], DniMozo=escape(session["DNI"])) basedatos.session.add(pedido_nuevo) basedatos.session.commit() #print(pedido_nuevo.NumPedido) #q = basedatos.session.query(ItemsPedidos).count() #print(q) for item in range(len(listapedidos)): q = basedatos.session.query(ItemsPedidos).count() q += 2 if listapedidos[item] == "Pizza Muzarrella": producto = Productos.query.filter_by( Nombre="Pizza Muzarrella").first() nuevo_item = ItemsPedidos( NumItem="{}".format(int(q)), NumPedido=pedido_nuevo.NumPedido, NumProducto="{}".format(int(1)), Precio=producto.PrecioUnitario, Estado="Pendiente") basedatos.session.add(nuevo_item) else: if listapedidos[item] == "Gaseosa": producto = Productos.query.filter_by( Nombre="Gaseosa").first() nuevo_item = ItemsPedidos( NumItem="{}".format(int(q)), NumPedido=pedido_nuevo.NumPedido, NumProducto="{}".format(int(2)), Precio=producto.PrecioUnitario, Estado="Pendiente") basedatos.session.add(nuevo_item) else: if listapedidos[item] == "Cerveza": producto = Productos.query.filter_by( Nombre="Cerveza").first() nuevo_item = ItemsPedidos( NumItem="{}".format(int(q)), NumPedido=pedido_nuevo.NumPedido, NumProducto="{}".format(int(3)), Precio=producto.PrecioUnitario, Estado="Pendiente") basedatos.session.add(nuevo_item) else: if listapedidos[item] == "Lomo": producto = Productos.query.filter_by( Nombre="Lomo").first() nuevo_item = ItemsPedidos( NumItem="{}".format(int(q)), NumPedido=pedido_nuevo.NumPedido, NumProducto="{}".format(int(4)), Precio=producto.PrecioUnitario, Estado="Pendiente") basedatos.session.add(nuevo_item) basedatos.session.commit() del listapedidos[:] del listaprecios[:] return redirect(url_for('registarPedido')) else: return redirect(url_for('login'))