Exemple #1
0
    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()
Exemple #2
0
 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='删除订单失败!')