diff --git a/addons/sale/report/order.rml b/addons/sale/report/order.rml index 7f5b1a87c58..66b71453bcf 100644 --- a/addons/sale/report/order.rml +++ b/addons/sale/report/order.rml @@ -145,7 +145,7 @@ Applicable Taxes - Date Promised + Delay Qty @@ -172,7 +172,7 @@ [[ ', '.join(map(lambda x: x.name, line.tax_id))]] - [[ time.strftime('%d/%m/%Y', time.strptime( line.date_planned, '%Y-%m-%d')) ]] + [[ line.delay ]] [[ line.product_uos_qty or line.product_uom_qty ]] [[ line.product_uos and line.product_uos.name or line.product_uom.name ]] diff --git a/addons/sale/sale.py b/addons/sale/sale.py index fddbc5a7adb..483b3de4685 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -332,6 +332,7 @@ class sale_order(osv.osv): picking_id = False for line in order.order_line: proc_id=False + date_planned = (DateTime.now() + DateTime.RelativeDateTime(days=line.delay or 0.0)).strftime('%Y-%m-%d') if line.state == 'done': continue if line.product_id and line.product_id.product_tmpl_id.type in ('product', 'consu'): @@ -355,7 +356,7 @@ class sale_order(osv.osv): 'name':'SO:'+order.name, 'picking_id': picking_id, 'product_id': line.product_id.id, - 'date_planned': line.date_planned, + 'date_planned': date_planned, 'product_qty': line.product_uom_qty, 'product_uom': line.product_uom.id, 'product_uos_qty': line.product_uos_qty, @@ -372,7 +373,7 @@ class sale_order(osv.osv): proc_id = self.pool.get('mrp.procurement').create(cr, uid, { 'name': order.name, 'origin': order.name, - 'date_planned': line.date_planned, + 'date_planned': date_planned, 'product_id': line.product_id.id, 'product_qty': line.product_uom_qty, 'product_uom': line.product_uom.id, @@ -387,7 +388,7 @@ class sale_order(osv.osv): proc_id = self.pool.get('mrp.procurement').create(cr, uid, { 'name': line.name, 'origin': order.name, - 'date_planned': line.date_planned, + 'date_planned': date_planned, 'product_id': line.product_id.id, 'product_qty': line.product_uom_qty, 'product_uom': line.product_uom.id, @@ -487,7 +488,7 @@ class sale_order_line(osv.osv): 'order_id': fields.many2one('sale.order', 'Order Ref', required=True, ondelete='cascade', select=True), 'name': fields.char('Description', size=256, required=True, select=True), 'sequence': fields.integer('Sequence'), - 'date_planned': fields.date('Date Promised', required=True), + 'delay': fields.float('Delay', required=True), 'product_id': fields.many2one('product.product', 'Product', domain=[('sale_ok','=',True)], change_default=True, relate=True), 'invoice_lines': fields.many2many('account.invoice.line', 'sale_order_line_invoice_rel', 'order_line_id','invoice_id', 'Invoice Lines', readonly=True), 'invoiced': fields.boolean('Paid', readonly=True, select=True), @@ -516,7 +517,7 @@ class sale_order_line(osv.osv): _order = 'sequence' _defaults = { 'discount': lambda *a: 0.0, - 'date_planned': lambda *a: time.strftime('%Y-%m-%d'), + 'delay': lambda *a: 0.0, 'product_uom_qty': lambda *a: 1, 'product_uos_qty': lambda *a: 1, 'sequence': lambda *a: 10, @@ -598,9 +599,9 @@ class sale_order_line(osv.osv): if price is False: raise osv.except_osv('No valid pricelist line found !', "Couldn't find a pricelist line matching this product and quantity.\nYou have to change either the product, the quantity or the pricelist.") res = self.pool.get('product.product').read(cr, uid, [product], context=context)[0] - dt = (DateTime.now() + DateTime.RelativeDateTime(days=res['sale_delay'] or 0.0)).strftime('%Y-%m-%d') +# dt = (DateTime.now() + DateTime.RelativeDateTime(days=res['sale_delay'] or 0.0)).strftime('%Y-%m-%d') - result = {'price_unit': price, 'type':res['procure_method'], 'date_planned':dt, 'notes':res['description_sale']} + result = {'price_unit': price, 'type':res['procure_method'], 'delay':(res['sale_delay'] or 0.0), 'notes':res['description_sale']} taxes = self.pool.get('account.tax').browse(cr, uid, res['taxes_id']) taxep = self.pool.get('res.partner').browse(cr, uid, partner_id).property_account_tax diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml index f236d1deca0..5040e418860 100644 --- a/addons/sale/sale_view.xml +++ b/addons/sale/sale_view.xml @@ -86,7 +86,7 @@ - + @@ -350,7 +350,7 @@ - + @@ -377,7 +377,7 @@ - +