Пример #1
0
def deliver():
    """
        this function presents just a deliver button, used when the checkout
        users cant deliver products.

        args: [sale_id]
    """

    sale = db.sale(request.args(0))
    if not sale:
        raise HTTP(404)
    # find all the sold items whose purchase had serial numbers
    bag_items = db(db.bag_item.id_bag == sale.id_bag.id).iterselect()
    resume = DIV()
    for bag_item in bag_items:
        resume.append(
            bag_item.product_name + str(DQ(bag_item.quantity, True)) + " x $" + str(DQ(bag_item.sale_price, True))
        )

    form = SQLFORM.factory(submit_button=T("Deliver"))
    form[0].insert(0, sqlform_field("", "", resume))

    if form.process().accepted:
        sale_utils.deliver(sale)

    return locals()
Пример #2
0
def deliver():
    """
        this function presents just a deliver button, used when the checkout
        users cant deliver products.

        args: [sale_id]
    """

    sale = db.sale(request.args(0))
    if not sale:
        raise HTTP(404)
    # find all the sold items whose purchase had serial numbers
    bag_items = db(db.bag_item.id_bag == sale.id_bag.id).iterselect()
    resume = DIV()
    for bag_item in bag_items:
        resume.append(bag_item.product_name +
                      str(DQ(bag_item.quantity, True)) + ' x $' +
                      str(DQ(bag_item.sale_price, True)))

    form = SQLFORM.factory(submit_button=T("Deliver"))
    form[0].insert(0, sqlform_field("", "", resume))

    if form.process().accepted:
        sale_utils.deliver(sale)

    return locals()
Пример #3
0
def complete():
    """
        args: [id_sale]
    """

    from cp_errors import CP_PaymentError, CP_OutOfStockError

    sale = db.sale(request.args(0))
    valid_sale(sale)

    try:
        sale_utils.complete(sale)
    except (CP_PaymentError, CP_OutOfStockError) as e:
        session.info = str(e)
        redirect(URL('update', args=sale.id))

    session.info = INFO(T("Sale created"), T("undo"), URL('undo',
                                                          args=sale.id))
    #TODO check company workflow
    if not auth.has_membership('Sales delivery'):
        redirect(URL('scan_ticket'))
    # deliver sale
    else:
        sale_utils.deliver(sale)
        redirect(
            URL('ticket',
                'get',
                vars=dict(id_sale=sale.id,
                          next_url=URL('default', 'index'),
                          _print=True)))
Пример #4
0
def complete():
    """
        args: [id_sale]
    """

    from cp_errors import CP_PaymentError, CP_OutOfStockError

    sale = db.sale(request.args(0))
    valid_sale(sale)

    try:
        sale_utils.complete(sale)
    except (CP_PaymentError, CP_OutOfStockError) as e:
        session.info = str(e)
        redirect(URL("update", args=sale.id))

    session.info = INFO(T("Sale created"), T("undo"), URL("undo", args=sale.id))
    # TODO check company workflow
    if not auth.has_membership("Sales delivery"):
        redirect(URL("scan_ticket"))
    # deliver sale
    else:
        sale_utils.deliver(sale)
        redirect(URL("ticket", "get", vars=dict(id_sale=sale.id, next_url=URL("default", "index"), _print=True)))