Beispiel #1
0
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")
Beispiel #2
0
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')
Beispiel #3
0
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())
Beispiel #4
0
    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
Beispiel #5
0
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"))
Beispiel #6
0
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'))
Beispiel #7
0
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'))