[FIX] sale: store triggers for related stored `company_id` sale orders

When changing the company of a sales order,
the change was not propagated to the related, stored, company field
of its sale order lines

These triggers makes that happen.

opw-694683
This commit is contained in:
Denis Ledoux 2016-11-24 16:13:27 +01:00
parent 295b96c0b3
commit 456d7b38f1
1 changed files with 10 additions and 1 deletions

View File

@ -910,6 +910,13 @@ class sale_order_line(osv.osv):
res[line.id] = line.price_subtotal / line.product_uom_qty if line.product_uom_qty else 0.0
return res
def _get_sale_order(self, cr, uid, ids, context=None):
result = set()
for order in self.pool['sale.order'].browse(cr, uid, ids, context=context):
for line in order.order_line:
result.add(line.id)
return list(result)
_name = 'sale.order.line'
_description = 'Sales Order Line'
_columns = {
@ -944,7 +951,9 @@ class sale_order_line(osv.osv):
\n* The \'Cancelled\' status is set when a user cancel the sales order related.'),
'order_partner_id': fields.related('order_id', 'partner_id', type='many2one', relation='res.partner', store=True, string='Customer'),
'salesman_id':fields.related('order_id', 'user_id', type='many2one', relation='res.users', store=True, string='Salesperson'),
'company_id': fields.related('order_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True),
'company_id': fields.related('order_id', 'company_id', type='many2one', relation='res.company', string='Company', store={
'sale.order': (_get_sale_order, ['company_id'], 20),
}, readonly=True),
'delay': fields.float('Delivery Lead Time', required=True, help="Number of days between the order confirmation and the shipping of the products to the customer", readonly=True, states={'draft': [('readonly', False)]}),
'procurement_ids': fields.one2many('procurement.order', 'sale_line_id', 'Procurements'),
}