[FIX] sale_order_dates: date_to_datetime fixed

bzr revid: qdp-launchpad@openerp.com-20140414161229-f4s43qt5c5t3gedl
This commit is contained in:
Quentin (OpenERP) 2014-04-14 18:12:29 +02:00
parent 35d08a8e4c
commit 613901196b
2 changed files with 8 additions and 16 deletions

View File

@ -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:

View File

@ -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"