[FIX] sale: ensure properties are read with the correct company.
This commit is contained in:
@@ -360,6 +360,8 @@ class SaleOrder(models.Model):
|
||||
})
|
||||
return
|
||||
|
||||
self = self.with_company(self.company_id)
|
||||
|
||||
addr = self.partner_id.address_get(['delivery', 'invoice'])
|
||||
partner_user = self.partner_id.user_id or self.partner_id.commercial_partner_id.user_id
|
||||
values = {
|
||||
@@ -452,15 +454,13 @@ class SaleOrder(models.Model):
|
||||
|
||||
@api.model
|
||||
def create(self, vals):
|
||||
if 'company_id' in vals:
|
||||
self = self.with_company(vals['company_id'])
|
||||
if vals.get('name', _('New')) == _('New'):
|
||||
seq_date = None
|
||||
if 'date_order' in vals:
|
||||
seq_date = fields.Datetime.context_timestamp(self, fields.Datetime.to_datetime(vals['date_order']))
|
||||
if 'company_id' in vals:
|
||||
vals['name'] = self.env['ir.sequence'].with_company(vals['company_id']).next_by_code(
|
||||
'sale.order', sequence_date=seq_date) or _('New')
|
||||
else:
|
||||
vals['name'] = self.env['ir.sequence'].next_by_code('sale.order', sequence_date=seq_date) or _('New')
|
||||
vals['name'] = self.env['ir.sequence'].next_by_code('sale.order', sequence_date=seq_date) or _('New')
|
||||
|
||||
# Makes sure partner_invoice_id', 'partner_shipping_id' and 'pricelist_id' are defined
|
||||
if any(f not in vals for f in ['partner_invoice_id', 'partner_shipping_id', 'pricelist_id']):
|
||||
@@ -468,7 +468,7 @@ class SaleOrder(models.Model):
|
||||
addr = partner.address_get(['delivery', 'invoice'])
|
||||
vals['partner_invoice_id'] = vals.setdefault('partner_invoice_id', addr['invoice'])
|
||||
vals['partner_shipping_id'] = vals.setdefault('partner_shipping_id', addr['delivery'])
|
||||
vals['pricelist_id'] = vals.setdefault('pricelist_id', partner.property_product_pricelist and partner.property_product_pricelist.id)
|
||||
vals['pricelist_id'] = vals.setdefault('pricelist_id', partner.property_product_pricelist.id)
|
||||
result = super(SaleOrder, self).create(vals)
|
||||
return result
|
||||
|
||||
|
||||
Reference in New Issue
Block a user