diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 3655b3a8184..99a8e875f77 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -252,7 +252,7 @@ class sale_order(osv.osv): 'company_id': fields.related('shop_id','company_id',type='many2one',relation='res.company',string='Company',store=True,readonly=True) } _defaults = { - 'date_order': fields.date.context_today, + 'date_order': lambda *args: datetime.now().strftime(DEFAULT_SERVER_DATE_FORMAT), 'order_policy': 'manual', 'state': 'draft', 'user_id': lambda obj, cr, uid, context: uid, diff --git a/addons/sale_stock/sale_stock.py b/addons/sale_stock/sale_stock.py index 1b5ddefbe74..04289abb294 100644 --- a/addons/sale_stock/sale_stock.py +++ b/addons/sale_stock/sale_stock.py @@ -20,7 +20,7 @@ # ############################################################################## from datetime import datetime, timedelta -from openerp.tools import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT, DATETIME_FORMATS_MAP, float_compare +from openerp.tools import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT, DATETIME_FORMATS_MAP, float_compare, DEFAULT_SERVER_TIME_FORMAT from dateutil.relativedelta import relativedelta from openerp.osv import fields, osv from openerp import netsvc @@ -232,6 +232,10 @@ class sale_order(osv.osv): res.append(line.procurement_id.id) return res + def _get_gmtdatetime(self, cr, uid, utcdate, context=None): + nowutctime = datetime.utcnow().strftime(DEFAULT_SERVER_TIME_FORMAT) + return "%s %s"%(utcdate, nowutctime) + # if mode == 'finished': # returns True if all lines are done, False otherwise # if mode == 'canceled': @@ -314,7 +318,7 @@ class sale_order(osv.osv): return { 'name': pick_name, 'origin': order.name, - 'date': order.date_order, + 'date': self._get_gmtdatetime(cr, uid, order.date_order, context), 'type': 'out', 'state': 'auto', 'move_type': order.picking_policy, @@ -348,7 +352,8 @@ class sale_order(osv.osv): return True def _get_date_planned(self, cr, uid, order, line, start_date, context=None): - date_planned = datetime.strptime(start_date, DEFAULT_SERVER_DATE_FORMAT) + relativedelta(days=line.delay or 0.0) + start_date = self._get_gmtdatetime(cr, uid, start_date, context) + date_planned = datetime.strptime(start_date, DEFAULT_SERVER_DATETIME_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