import cherrypy from turbogatewaydemos.model import Pizza, PizzaOrder from sqlobject import AND from flashticle.remoting import recordset class PizzaService(object): @cherrypy.expose() def order(self, name, orders): order = PizzaOrder(name=name).id for o in orders: Pizza( pizza_order=order, details=o.details, quantity=int(o.quantity), ) @cherrypy.expose() def cancelOrder(self, orderId): PizzaOrder.get(orderId).status = 0 @cherrypy.expose() def getOrderList(self): def _fetch(res): for p in res: o = p.pizza_order yield o.id, o.status, o.name, p.id, p.details, p.quantity pizzas = Pizza.select( AND( Pizza.q.pizza_orderID == PizzaOrder.q.id, PizzaOrder.q.status == 1, ), orderBy=PizzaOrder.q.order_time, ) cols = "orderid", "status", "name", "pizzaid", "details", "quantity" return recordset(cols, _fetch(pizzas)) @cherrypy.expose() def orderStatus(self, orderId): return PizzaOrder.get(orderId).status