From ce8c3af3a962ecace21a35cb33656c663f9842f7 Mon Sep 17 00:00:00 2001 From: Nicolas Martinelli Date: Wed, 2 Aug 2017 13:04:16 +0200 Subject: [PATCH] [FIX] base: default company on rate - Activate multi-company - Company B is parent of Company A - Admin is in Company A - Demo is in Company B - Create a rate with Demo The rate is recorded on Company A, not Company B as expected. This is because we call: `self.env.user._get_company()` which would be equivalent to `self.env.user.env.user.company_id`. Since the user is browsed as `sudo`, it returns the company of the Admin. opw-753139 --- odoo/addons/base/res/res_currency.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/odoo/addons/base/res/res_currency.py b/odoo/addons/base/res/res_currency.py index aef7bb97866..538db04f455 100644 --- a/odoo/addons/base/res/res_currency.py +++ b/odoo/addons/base/res/res_currency.py @@ -208,7 +208,7 @@ class CurrencyRate(models.Model): rate = fields.Float(digits=(12, 6), help='The rate of the currency to the currency of rate 1') currency_id = fields.Many2one('res.currency', string='Currency', readonly=True) company_id = fields.Many2one('res.company', string='Company', - default=lambda self: self.env.user._get_company()) + default=lambda self: self.env.user.company_id) @api.model def name_search(self, name, args=None, operator='ilike', limit=80):