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