[FIX] sale_order_dates: date_to_datetime fixed
bzr revid: qdp-launchpad@openerp.com-20140414161229-f4s43qt5c5t3gedl
This commit is contained in:
parent
35d08a8e4c
commit
613901196b
|
@ -35,18 +35,16 @@ class sale_order_dates(osv.osv):
|
||||||
return super(sale_order_dates, self).copy(cr, uid, id, default=default,
|
return super(sale_order_dates, self).copy(cr, uid, id, default=default,
|
||||||
context=context)
|
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"""
|
"""Compute the expected date from the requested date, not the order date"""
|
||||||
if order and order.requested_date:
|
if order and order.requested_date:
|
||||||
planned_str = self.date_to_datetime(cr, uid,
|
planned_str = fields.date.date_to_datetime(cr, uid, order.requested_date, context)
|
||||||
order.requested_date, context)
|
date_planned = datetime.strptime(planned_str, DEFAULT_SERVER_DATETIME_FORMAT)
|
||||||
date_planned = datetime.strptime(planned_str,
|
|
||||||
DEFAULT_SERVER_DATETIME_FORMAT)
|
|
||||||
date_planned -= timedelta(days=order.company_id.security_lead)
|
date_planned -= timedelta(days=order.company_id.security_lead)
|
||||||
return date_planned.strftime(DEFAULT_SERVER_DATETIME_FORMAT)
|
return date_planned.strftime(DEFAULT_SERVER_DATETIME_FORMAT)
|
||||||
return super(sale_order_dates, self)._get_date_planned(
|
return super(sale_order_dates, self)._get_date_planned(
|
||||||
cr, uid, order, line, start_date, context=context)
|
cr, uid, order, line, start_date, context=context)
|
||||||
|
|
||||||
def _get_effective_date(self, cr, uid, ids, name, arg, context=None):
|
def _get_effective_date(self, cr, uid, ids, name, arg, context=None):
|
||||||
"""Read the shipping date from the related packings"""
|
"""Read the shipping date from the related packings"""
|
||||||
# TODO: would be better if it returned the date the picking was processed?
|
# TODO: would be better if it returned the date the picking was processed?
|
||||||
|
@ -67,13 +65,9 @@ class sale_order_dates(osv.osv):
|
||||||
res = {}
|
res = {}
|
||||||
dates_list = []
|
dates_list = []
|
||||||
for order in self.browse(cr, uid, ids, context=context):
|
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 = []
|
dates_list = []
|
||||||
for line in order.order_line:
|
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)
|
dt_s = dt.strftime(DEFAULT_SERVER_DATE_FORMAT)
|
||||||
dates_list.append(dt_s)
|
dates_list.append(dt_s)
|
||||||
if dates_list:
|
if dates_list:
|
||||||
|
|
|
@ -18,14 +18,12 @@
|
||||||
!python {model: sale.order}: |
|
!python {model: sale.order}: |
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
from openerp.tools import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT
|
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"))
|
so = self.browse(cr, uid, ref("sale.sale_order_6"))
|
||||||
security_delay = timedelta(days=so.company_id.security_lead)
|
security_delay = timedelta(days=so.company_id.security_lead)
|
||||||
requested_date = datetime.strptime(
|
requested_date = datetime.strptime(date.date_to_datetime(cr, uid, so.requested_date), DEFAULT_SERVER_DATETIME_FORMAT)
|
||||||
self.date_to_datetime(cr, uid, so.requested_date),
|
right_date = (requested_date - security_delay).strftime(DEFAULT_SERVER_DATETIME_FORMAT)
|
||||||
DEFAULT_SERVER_DATETIME_FORMAT)
|
|
||||||
right_date = (requested_date - security_delay).strftime(
|
|
||||||
DEFAULT_SERVER_DATETIME_FORMAT)
|
|
||||||
for line in so.order_line:
|
for line in so.order_line:
|
||||||
assert line.procurement_id, "No Procurement was created"
|
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"
|
assert line.procurement_id.date_planned == right_date, "The planned date for the Procurement Order is wrong"
|
||||||
|
|
Loading…
Reference in New Issue