diff --git a/multi_branch_base/__manifest__.py b/multi_branch_base/__manifest__.py
index 449aaad2f..e0ce76443 100644
--- a/multi_branch_base/__manifest__.py
+++ b/multi_branch_base/__manifest__.py
@@ -22,7 +22,7 @@
{
'name': "Multi Branch Operations",
- 'version': "16.0.1.0.0",
+ 'version': "16.0.1.0.1",
'summary': """ Multiple Branch Unit Operation Setup for All
Modules In Odoo""",
'description': """Multiple Branch Unit Operation Setup for All
diff --git a/multi_branch_base/models/branch_res_partner.py b/multi_branch_base/models/branch_res_partner.py
index 0bce4d036..959a1b8f5 100644
--- a/multi_branch_base/models/branch_res_partner.py
+++ b/multi_branch_base/models/branch_res_partner.py
@@ -29,16 +29,39 @@ class BranchPartner(models.Model):
branch_id = fields.Many2one("res.branch", string='Branch', store=True,
help='Leave this field empty if the partner is'
- ' shared between all branches'
+ ' shared between all branches',
+ domain="[('id', 'in', allowed_branch_ids)]",
)
allowed_branch_ids = fields.Many2many('res.branch', store=True,
string="Branches",
- compute='_compute_allowed_branch_ids')
+ compute="_compute_allowed_branch_ids")
+ is_multiple_company = fields.Boolean(string="Multi Company",
+ compute='_compute_is_multiple_company')
@api.depends('company_id')
def _compute_allowed_branch_ids(self):
for po in self:
- po.allowed_branch_ids = self.env.user.branch_ids.ids
+ if po.is_multiple_company:
+ if po.company_id:
+ branch_ids = []
+ for rec in po.env.user.branch_ids:
+ if rec.company_id == po.company_id:
+ branch_ids.append(rec.id)
+ po.allowed_branch_ids = branch_ids
+ else:
+ po.allowed_branch_ids = po.env.user.branch_ids.ids
+ else:
+ po.allowed_branch_ids = po.env.user.branch_ids.ids
+
+ @api.depends('company_id')
+ def _compute_is_multiple_company(self):
+ """checking is this multi company or not"""
+ for rec in self:
+ rec.is_multiple_company = False
+ company_count = self.env['res.company'].search_count([])
+ if company_count > 1:
+ rec.is_multiple_company = True
+
@api.model
def default_get(self, default_fields):
diff --git a/multi_branch_base/views/branch_res_partner_views.xml b/multi_branch_base/views/branch_res_partner_views.xml
index 0b613a4a1..40e58371e 100644
--- a/multi_branch_base/views/branch_res_partner_views.xml
+++ b/multi_branch_base/views/branch_res_partner_views.xml
@@ -7,11 +7,13 @@
-
+
-
\ No newline at end of file
+