diff --git a/base_external_dbsource/__manifest__.py b/base_external_dbsource/__manifest__.py
index 7621ddc7..51c5640d 100644
--- a/base_external_dbsource/__manifest__.py
+++ b/base_external_dbsource/__manifest__.py
@@ -10,7 +10,11 @@
"license": "LGPL-3",
"images": ["images/screenshot01.png"],
"depends": ["base"],
- "data": ["views/base_external_dbsource.xml", "security/ir.model.access.csv"],
+ "data": [
+ "views/base_external_dbsource.xml",
+ "security/ir.model.access.csv",
+ "security/base_external_dbsource_security.xml",
+ ],
"demo": ["demo/base_external_dbsource.xml"],
"installable": True,
}
diff --git a/base_external_dbsource/models/base_external_dbsource.py b/base_external_dbsource/models/base_external_dbsource.py
index fd6dc0d3..f0e96662 100644
--- a/base_external_dbsource/models/base_external_dbsource.py
+++ b/base_external_dbsource/models/base_external_dbsource.py
@@ -57,6 +57,11 @@ class BaseExternalDbsource(models.Model):
- Elasticsearch: https://user:%s@localhost:9200
""",
)
+ company_id = fields.Many2one(
+ comodel_name="res.company",
+ string="Company",
+ default=lambda self: self.env.user.company_id,
+ )
conn_string_full = fields.Text(readonly=True, compute="_compute_conn_string_full")
password = fields.Char("Password")
client_cert = fields.Text()
diff --git a/base_external_dbsource/security/base_external_dbsource_security.xml b/base_external_dbsource/security/base_external_dbsource_security.xml
new file mode 100644
index 00000000..a02093c4
--- /dev/null
+++ b/base_external_dbsource/security/base_external_dbsource_security.xml
@@ -0,0 +1,11 @@
+
+
+
+ External Database Source Multicompany
+
+
+ ['|', ('company_id', '=', False), ('company_id', 'in', company_ids)]
+
+
diff --git a/base_external_dbsource/views/base_external_dbsource.xml b/base_external_dbsource/views/base_external_dbsource.xml
index bad90c02..aaa7d2e8 100644
--- a/base_external_dbsource/views/base_external_dbsource.xml
+++ b/base_external_dbsource/views/base_external_dbsource.xml
@@ -22,6 +22,11 @@
+