コード例 #1
0
ファイル: referer.py プロジェクト: XinMa1/work
 def confirm_select_order(self):
     inputs = self.getInput()
     try:
         product = Products.get(Products.id == int(inputs['product']))
         user =Users.get(Users.name == self.isLogin())
         price = inputs['price']
         if inputs.has_key('add'):
             order = Orders.create(
                 owner = user,
                 price = price,
                 description = product.category.name,
             )
         else:
             if not inputs.has_key('selected'):
                 return self.orders_list()
             order = Orders.get(Orders.id == int(inputs['selected']))
         
         details = OrderDetails.create(
             name = product.category.name + "   "+product.diameter,
             product = product,
             count = user,
             price = price,
             ratio = 0.0,
             order = order,
         )
         return web.seeother(self.makeUrl('/wap/edit_price_sheet', {'id': order.id}))
     except Exception, e:
         print 'exc',e
         return self.error(msg='保存订单失败!')
コード例 #2
0
ファイル: referer.py プロジェクト: XinMa1/work
    def export_price_sheet(self):
        inputParams = self.getInput()
        try:
            order = Orders.get(Orders.id == int(inputParams['id']))
            details = OrderDetails.select().where(OrderDetails.order == order).order_by(OrderDetails.id.desc())
            self.privData['ORDER'] = order
            self.privData['DETAILS'] = details
            import pdfcrowd
            # create an API client instance
            client = pdfcrowd.Client("luo_brian", "8fee9a05739553c92673004a3ec80201")

            # convert an HTML string and save the result to a file
            import os
            import config
            import utils
           
            tmpFile = os.path.join(config.UPLOAD_DIR, 'temp', '%s.pdf' % utils.uuidgen())
            ofile = open(tmpFile, 'wb')
            html = self.display('price-sheet-details-pdf')
            #html="<head></head><body>我的转换</body>"
            client.convertHtml(html, ofile)
            ofile.close()
            buf = open(tmpFile).read()
            os.unlink(tmpFile)
            web.header('Content-Type', 'application/pdf') 
            return buf
        except Exception, e:
            print e
            return self.error(msg='获取订单详情失败!')
コード例 #3
0
ファイル: referer.py プロジェクト: XinMa1/work
    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()
コード例 #4
0
ファイル: referer.py プロジェクト: XinMa1/work
 def delete_price_sheet(self):
     inputs = self.getInput()
     try:
         order = Orders.get(Orders.id == int(inputs['id']))
         order.delete_instance()
         return self.orders_list()
     except Exceptions, e:
         return self.error(msg='删除订单失败!')
コード例 #5
0
ファイル: referer.py プロジェクト: XinMa1/work
    def delete(self):
        inputParams = self.getInput()

        try:
            order = Orders.get(Orders.id == int(inputParams['id']))
            order.delete_instance()
        except Exception, e:
            return self.error(msg = '删除失败: %s' % e, url=self.makeUrl('/admin/orders/list'))
コード例 #6
0
ファイル: referer.py プロジェクト: XinMa1/work
 def price_sheet_details(self):
     inputParams = self.getInput()
     try:
         #import pdb;pdb.set_trace();
         order = Orders.get(Orders.id == int(inputParams['id']))
         details = OrderDetails.select().where(OrderDetails.order == order).order_by(OrderDetails.id.desc())
         for od in details:
             print od.product.diameter
         self.privData['ORDER'] = order
         self.privData['DETAILS'] = details
         return self.display('price-sheet-details')
     except Exception, e:
         print e
         return self.error(msg='获取订单详情失败!')
コード例 #7
0
ファイル: referer.py プロジェクト: XinMa1/work
 def edit_price_sheet(self):
     inputs = self.getInput()
     try:
         #import pdb; pdb.set_trace()
         order = Orders.get(Orders.id == int(inputs['id']))
         details = OrderDetails.select().where(OrderDetails.order == order).order_by(OrderDetails.id.desc())
         for each_d in details:
             print each_d.name
             print each_d.flag
         self.privData['ORDER'] = order
         self.privData['DETAILS'] = details
         return self.display('edit-price-sheet')
     except Exception,e:
         print e
         return self.error(msg='获取报价单详情信息失败!')