Beispiel #1
0
def filter_sessions():
    if request.method == "GET":
        cashiers = Cashier.read(Cashier)

        cashier = request.args["cashier"]
        _from = request.args["from"]
        to = request.args["to"]

        if _from:
            _from = utils.convert_date_from_html(_from)
        else:
            _from = datetime.datetime(2000, 1, 1)
        if to:
            to = utils.convert_date_from_html(to)
        else:
            to = datetime.datetime(3000, 1, 1)

        sessions = Session.filter(Session, cashier, _from, to)

        # Avoid error on changing str to int
        if cashier == "":
            cashier = 0

        return render_template("manager/cashier-session.html",
                               mod=module,
                               sessions=sessions,
                               cashiers=cashiers,
                               cashier_id=int(cashier),
                               today=_from,
                               tomorrow=to)
def filter_food():
    if request.method == "GET":
        cashiers = Cashier.read(Cashier)
        waiters = Waiter.read(Waiter)
        items = Food.read(Food)

        item = request.args["item"]
        cashier = request.args["cashier"]
        waiter = request.args["waiter"]
        _from = request.args["from"]
        to = request.args["to"]

        if _from:
            _from = utils.convert_date_from_html(_from)
        else:
            _from = datetime.datetime(2000, 1, 1)
        if to:
            to = utils.convert_date_from_html(to)
        else:
            to = datetime.datetime(3000, 1, 1)

        if item == '0':
            return redirect(url_for('sale.get_food_sales'))

        sales = Sale.filter(Sale, item, cashier, waiter, _from, to)
        total_sales = utils.compute_sales(sales)

        # Avoid error on changing str to int
        if cashier == "":
            cashier = 0
        if waiter == "":
            waiter = 0

        return render_template("chef/food-sales.html",
                               mod=module,
                               sales=sales,
                               total_sales=total_sales,
                               cashiers=cashiers,
                               waiters=waiters,
                               items=items,
                               today=_from,
                               tomorrow=to,
                               item_id=item,
                               cashier_id=int(cashier),
                               waiter_id=int(waiter))
def filter():
    if request.method == "GET":
        item = request.args.get("item")
        chef = request.args.get("chef")
        _from = request.args.get("from")
        to = request.args.get("to")

        if not item: item = ""
        if not chef: chef = ""

        if _from:
            _from = utils.convert_date_from_html(_from)
        else:
            _from = datetime.datetime(2000, 1, 1)
        if to:
            to = utils.convert_date_from_html(to)
        else:
            to = datetime.datetime(3000, 1, 1)

        kitchen_stock_purchases = KitchenStockPurchase.filter(
            KitchenStockPurchase, item, chef, _from, to)
        chefs = Chef.read(Chef)
        kitchen_items = KitchenStock.read(KitchenStock)

        if current_user.manager:
            return render_template("manager/kitchen-stock-purchase.html",
                                   mod=module,
                                   purchases=kitchen_stock_purchases,
                                   chefs=chefs,
                                   kitchen_items=kitchen_items,
                                   chef_id=chef,
                                   item_id=item,
                                   today=_from,
                                   tomorrow=to)
        elif current_user.chef:
            return render_template("chef/kitchen-stock-purchase.html",
                                   mod=module,
                                   purchases=kitchen_stock_purchases,
                                   chefs=chefs,
                                   kitchen_items=kitchen_items,
                                   chef_id=chef,
                                   item_id=item,
                                   today=_from,
                                   tomorrow=to)
Beispiel #4
0
def filter_orders():
    if request.method == "GET":
        cashiers = Cashier.read(Cashier)
        waiters = Waiter.read(Waiter)
        
        cashier = request.args.get("cashier")
        if not cashier and current_user.cashier:
            cashier = str(current_user.cashier.id)
        elif not cashier and not current_user.cashier:
            cashier = ""

        open = request.args.get("open")

        waiter = request.args.get("waiter")
        if not waiter:
            waiter = ""
        _from = request.args["from"]
        to = request.args["to"]

        if _from:
            _from = utils.convert_date_from_html(_from)
        else:
            _from = datetime.datetime(2000,1,1)
        if to:
            to = utils.convert_date_from_html(to)
        else:
            to = datetime.datetime(3000,1,1)

        orders = Order.filter(Order, open, cashier, waiter, _from, to)

        # Avoid error on changing str to int
        if cashier == "":
            cashier = 0
        if waiter == "":
            waiter = 0

        total_bill, total_paid = utils.compute_total_bill_and_total_paid_from_orders(orders)

        if current_user.manager:  
            return render_template("manager/orders.html", mod=module, orders=orders, total_bill=total_bill, total_paid=total_paid, cashiers=cashiers, waiters=waiters, cashier_id=int(cashier), waiter_id=int(waiter), today=_from, tomorrow=to)
        elif current_user.cashier:
            return render_template("cashier/orders.html", mod=module, orders=orders, total_bill=total_bill, total_paid=total_paid, cashiers=cashiers, waiters=waiters, cashier_id=int(cashier), waiter_id=int(waiter), today=_from, tomorrow=to)
Beispiel #5
0
def filter():
    if request.method == "GET":
        kitchen_items = KitchenStock.read(KitchenStock)
        drink_items = Brand.read(Brand)

        kitchen_purchases = []
        brand_purchases = []

        item = request.args.get("item")
        _from = request.args.get("from")
        to = request.args.get("to")
        place = request.args.get("place")
        filter_kitchen, filter_bar = True, True
        if place == "kitchen": filter_bar = False
        elif place == "bar": filter_kitchen = False

        if _from:
            _from = utils.convert_date_from_html(_from)
        else:
            _from = datetime.datetime(2000, 1, 1)
        if to:
            to = utils.convert_date_from_html(to)
        else:
            to = datetime.datetime(3000, 1, 1)

        if item:
            item_type, id = item.split("-")
            if item_type == "kitchen":
                kitchen_purchases = KitchenStockPurchase.filter2(KitchenStockPurchase, id, _from, to, filter_kitchen)
            elif item_type == "drink":
                brand_purchases = Purchase.filter(Purchase, id, _from, to, filter_bar)
        else:
            kitchen_purchases = KitchenStockPurchase.filter2(KitchenStockPurchase, "", _from, to, filter_kitchen)
            brand_purchases = Purchase.filter(Purchase, "", _from, to, filter_bar)

        print(">>>>>>>>>>>>>>>>>", kitchen_purchases, brand_purchases)

        total_purchases = KitchenStockPurchase.get_total_price(KitchenStockPurchase, purchases=kitchen_purchases) + Purchase.get_total_price(Purchase, purchases=brand_purchases)

        return render_template("manager/purchases.html", mod=module, kitchen_purchases=kitchen_purchases, total_purchases=total_purchases, kitchen_items=kitchen_items, drink_items=drink_items, item_id=item, brand_purchases=brand_purchases, tomorrow=to, today=_from)