From 688aaff712172f20fed0cad13cb33422b9951bd6 Mon Sep 17 00:00:00 2001 From: Benoit Guillot Date: Tue, 20 Dec 2011 10:41:10 +0100 Subject: [PATCH] [REF] refactor date_planned bzr revid: benoit.guillot@akretion.com.br-20111220094110-bay12ed4v850h0q6 --- addons/sale/sale.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/addons/sale/sale.py b/addons/sale/sale.py index e2487d7c1cf..e56aa7d0968 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -771,6 +771,11 @@ class sale_order(osv.osv): self.pool.get('procurement.order').write(cr, uid, [proc_id], {'product_qty': mov.product_qty, 'product_uos_qty': mov.product_uos_qty}) return True + def _get_date_planned(self, cr, uid, order, line, start_date, *args): + date_planned = datetime.strptime(start_date, DEFAULT_SERVER_DATE_FORMAT) + relativedelta(days=line.delay or 0.0) + date_planned = (date_planned - timedelta(days=order.company_id.security_lead)).strftime(DEFAULT_SERVER_DATETIME_FORMAT) + return date_planned + def _create_pickings_and_procurements(self, cr, uid, order, order_lines, picking_id=False, *args): """Create the required procurements to supply sale order lines, also connecting the procurements to appropriate stock moves in order to bring the goods to the @@ -799,8 +804,7 @@ class sale_order(osv.osv): if line.state == 'done': continue - date_planned = datetime.strptime(order.date_order, DEFAULT_SERVER_DATE_FORMAT) + relativedelta(days=line.delay or 0.0) - date_planned = (date_planned - timedelta(days=order.company_id.security_lead)).strftime(DEFAULT_SERVER_DATETIME_FORMAT) + date_planned = self._get_date_planned(cr, uid, order, line, order.date_order, *args) if line.product_id: if line.product_id.product_tmpl_id.type in ('product', 'consu'):