def save_price_sheet(self): inputs = self.getInput() print inputs try: if inputs.has_key('add'): return web.seeother(self.makeUrl('/wap/categories', {'parent': 1, 'order': int(inputs['id'])})) order = Orders.get(Orders.id == int(inputs['id'])) attrs = {} for k, v in inputs.items(): try: attr, oid = k.split('_') except Exception, e: continue if not attrs.has_key(oid): attrs[oid] = {} attrs[oid][attr] = v if not inputs['customer'] or not inputs['description']: raise Exception("询价方或备注不能为空!") order.customer = inputs['customer'] order.description = inputs['description'] order.owner = Users.get(Users.name == self.isLogin()) order.save() for k, v in attrs.items(): #import pdb;pdb.set_trace() import traceback if not v['count'] or not v['ratio']: raise Exception("数量或利润率不能为空!") nameform = v['name'] diameterform = v['diameter'] oldinput= v['can'] name, diameter = oldinput.split(' ') details = OrderDetails.get(OrderDetails.id == int(k)) details.name = oldinput flag = v['bool'] if flag.find("True")>=0: details.flag=True elif details.name!=(details.product.category.name+' '+details.product.diameter): details.flag=True else: details.flag=False try: product = Products().get(Products.name==name,Products.diameter == diameter) except Exception,e: details.price = float(v['input']) details.count = v['count'] details.ratio = float(v['ratio'])/100.0 details.save() details.price = float(v['input']) details.count = v['count'] details.ratio = float(v['ratio'])/100.0 details.save()
def delete_order_details(self): inputs = self.getInput() try: details = OrderDetails.get(OrderDetails.id == int(inputs['id'])) details.delete_instance() return web.seeother(self.makeUrl('/wap/edit_price_sheet', {'id': details.order.id})) except Exceptions, e: return self.error(msg='删除订单失败!')