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 @@ +