diff --git a/ir_config_parameter_multi_company/models/__init__.py b/ir_config_parameter_multi_company/models/__init__.py index bd3aa9f1063..d7cb9bfda73 100644 --- a/ir_config_parameter_multi_company/models/__init__.py +++ b/ir_config_parameter_multi_company/models/__init__.py @@ -1 +1,2 @@ from . import ir_config_parameter +from . import ir_model diff --git a/ir_config_parameter_multi_company/models/ir_model.py b/ir_config_parameter_multi_company/models/ir_model.py new file mode 100644 index 00000000000..1b951191492 --- /dev/null +++ b/ir_config_parameter_multi_company/models/ir_model.py @@ -0,0 +1,14 @@ +from odoo import models + + +class BaseModel(models.AbstractModel): + _inherit = "base" + + def get_base_url(self): + if "company_id" in self._fields: + company = self.company_id + else: + company = self.env.company + return super( + BaseModel, self.with_context(force_config_parameter_company=company) + ).get_base_url() diff --git a/ir_config_parameter_multi_company/tests/test_ir_config_parameter_multi_company.py b/ir_config_parameter_multi_company/tests/test_ir_config_parameter_multi_company.py index a4d53247287..37e7a026131 100644 --- a/ir_config_parameter_multi_company/tests/test_ir_config_parameter_multi_company.py +++ b/ir_config_parameter_multi_company/tests/test_ir_config_parameter_multi_company.py @@ -50,3 +50,26 @@ def test_get_params_by_company(self): .get_param("mail.catchall.alias_test") ) self.assertEqual(value, "testValue") + + def test_get_base_url_by_company(self): + testCompany1 = self.env["res.company"].browse(1) + testCompany2 = self.env["res.company"].create({"name": "TestCompany2"}) + self.user.company_ids += testCompany2 + parameter1 = ( + self.env["ir.config_parameter"] + .with_user(self.user.id) + .search([("key", "=", "web.base.url")]) + ) + parameter1.write({"value": "TestCompany1", "company_id": testCompany1.id}) + self.env["ir.config_parameter"].create( + { + "key": "web.base.url", + "value": "TestCompany2", + "company_id": testCompany2.id, + } + ) + value = self.user.get_base_url() + self.assertEqual(value, "TestCompany1") + self.user.company_id = testCompany2.id + value = self.user.get_base_url() + self.assertEqual(value, "TestCompany2")