Skip to content
Snippets Groups Projects
Commit 4258fc4c authored by Nicolas Martinelli's avatar Nicolas Martinelli
Browse files

[IMP] sale_order_dates: adaptation due to the new Sale module

Major changes:
- Recalculate date planned

Reason: complete rewrite of the Sale module.

Responsible: fp, dbo, nim
parent 54a22b4f
No related branches found
No related tags found
No related merge requests found
......@@ -11,15 +11,6 @@ class sale_order_dates(osv.osv):
"""Add several date fields to Sale Orders, computed or user-entered"""
_inherit = 'sale.order'
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:
date_planned = datetime.strptime(order.requested_date, 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?
......@@ -45,7 +36,7 @@ class sale_order_dates(osv.osv):
for line in order.order_line:
if line.state == 'cancel':
continue
dt = order_datetime + timedelta(days=line.delay or 0.0)
dt = order_datetime + timedelta(days=line.customer_lead or 0.0)
dt_s = dt.strftime(DEFAULT_SERVER_DATETIME_FORMAT)
dates_list.append(dt_s)
if dates_list:
......@@ -87,3 +78,17 @@ class sale_order_dates(osv.osv):
store=True, string='Effective Date',
help="Date on which the first Delivery Order was created."),
}
class SaleOrderLine(osv.osv):
_inherit = 'sale.order.line'
def _prepare_order_line_procurement(self, cr, uid, ids, group_id=False, context=None):
vals = super(SaleOrderLine, self)._prepare_order_line_procurement(cr, uid, ids, group_id=group_id, context=context)
line = self.browse(cr, uid, ids, context=context)
if line.order_id.requested_date:
date_planned = datetime.strptime(line.order_id.requested_date, DEFAULT_SERVER_DATETIME_FORMAT) - timedelta(days=line.order_id.company_id.security_lead)
vals.update({
'date_planned': date_planned.strftime(DEFAULT_SERVER_DATETIME_FORMAT),
})
return vals
......@@ -2,10 +2,10 @@
<openerp>
<data>
<record id="view_sale_orderfor" model="ir.ui.view">
<record id="view_order_form_inherit_sale_stock_inherit_sale_order_dates" model="ir.ui.view">
<field name="name">sale.order.form.inherit5</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale_stock.view_order_form_inherit"/>
<field name="inherit_id" ref="sale_stock.view_order_form_inherit_sale_stock"/>
<field name="arch" type="xml">
<group name="sale_shipping" position="inside">
<field name="requested_date" on_change="onchange_requested_date(requested_date, commitment_date)"/>
......
......@@ -7,10 +7,8 @@
-
I confirm the Sale Order.
-
!workflow {
model: sale.order, action: order_confirm,
ref: sale.sale_order_6
}
!python {model: sale.order}: |
self.action_confirm(cr, uid, ref("sale.sale_order_6"), context=context)
-
I verify that the Procurements and Stock Moves have been generated with the
correct date
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment