From 613901196b798897ab20e263abfe82f08b4a9224 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Mon, 14 Apr 2014 18:12:29 +0200 Subject: [PATCH] [FIX] sale_order_dates: date_to_datetime fixed bzr revid: qdp-launchpad@openerp.com-20140414161229-f4s43qt5c5t3gedl --- addons/sale_order_dates/sale_order_dates.py | 16 +++++----------- addons/sale_order_dates/test/requested_date.yml | 8 +++----- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/addons/sale_order_dates/sale_order_dates.py b/addons/sale_order_dates/sale_order_dates.py index f3ff971be9f..aa7fc5c998b 100644 --- a/addons/sale_order_dates/sale_order_dates.py +++ b/addons/sale_order_dates/sale_order_dates.py @@ -35,18 +35,16 @@ class sale_order_dates(osv.osv): return super(sale_order_dates, self).copy(cr, uid, id, default=default, context=context) - def _get_date_planned(self, cr, uid, order, line, start_date, context=None): + def _get_date_planned(self, cr, uid, order, line, start_date, context=None): """Compute the expected date from the requested date, not the order date""" if order and order.requested_date: - planned_str = self.date_to_datetime(cr, uid, - order.requested_date, context) - date_planned = datetime.strptime(planned_str, - DEFAULT_SERVER_DATETIME_FORMAT) + planned_str = fields.date.date_to_datetime(cr, uid, order.requested_date, context) + date_planned = datetime.strptime(planned_str, DEFAULT_SERVER_DATETIME_FORMAT) date_planned -= timedelta(days=order.company_id.security_lead) return date_planned.strftime(DEFAULT_SERVER_DATETIME_FORMAT) return super(sale_order_dates, self)._get_date_planned( cr, uid, order, line, start_date, context=context) - + def _get_effective_date(self, cr, uid, ids, name, arg, context=None): """Read the shipping date from the related packings""" # TODO: would be better if it returned the date the picking was processed? @@ -67,13 +65,9 @@ class sale_order_dates(osv.osv): res = {} dates_list = [] for order in self.browse(cr, uid, ids, context=context): - order_datetime_str = self.date_to_datetime(cr, uid, order.date_order, - context) - order_datetime = datetime.strptime(order_datetime_str, - DEFAULT_SERVER_DATETIME_FORMAT) dates_list = [] for line in order.order_line: - dt = order_datetime + timedelta(days=line.delay or 0.0) + dt = order.date_order + timedelta(days=line.delay or 0.0) dt_s = dt.strftime(DEFAULT_SERVER_DATE_FORMAT) dates_list.append(dt_s) if dates_list: diff --git a/addons/sale_order_dates/test/requested_date.yml b/addons/sale_order_dates/test/requested_date.yml index d05191a4d99..72d3a67bcc2 100644 --- a/addons/sale_order_dates/test/requested_date.yml +++ b/addons/sale_order_dates/test/requested_date.yml @@ -18,14 +18,12 @@ !python {model: sale.order}: | from datetime import datetime, timedelta from openerp.tools import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT + from openerp.fields import date so = self.browse(cr, uid, ref("sale.sale_order_6")) security_delay = timedelta(days=so.company_id.security_lead) - requested_date = datetime.strptime( - self.date_to_datetime(cr, uid, so.requested_date), - DEFAULT_SERVER_DATETIME_FORMAT) - right_date = (requested_date - security_delay).strftime( - DEFAULT_SERVER_DATETIME_FORMAT) + requested_date = datetime.strptime(date.date_to_datetime(cr, uid, so.requested_date), DEFAULT_SERVER_DATETIME_FORMAT) + right_date = (requested_date - security_delay).strftime(DEFAULT_SERVER_DATETIME_FORMAT) for line in so.order_line: assert line.procurement_id, "No Procurement was created" assert line.procurement_id.date_planned == right_date, "The planned date for the Procurement Order is wrong"