diff --git a/multi_branch_base/__manifest__.py b/multi_branch_base/__manifest__.py index 6855fa0d5..5e9f1ffd0 100644 --- a/multi_branch_base/__manifest__.py +++ b/multi_branch_base/__manifest__.py @@ -22,7 +22,7 @@ { 'name': "Multi Branch Operations", - 'version': "14.0.1.0.1", + 'version': "14.0.1.1.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_product_template.py b/multi_branch_base/models/branch_product_template.py index e4fa7e603..4070543c3 100644 --- a/multi_branch_base/models/branch_product_template.py +++ b/multi_branch_base/models/branch_product_template.py @@ -27,21 +27,15 @@ class ProductTemplate(models.Model): """inherited product""" _inherit = 'product.template' - - branch_id = fields.Many2one("res.branch", string='Branch', store=True, - readonly=False, - compute="_compute_branch") + help='Leave this field empty if this product is' + ' shared between all branches' + ) + allowed_branch_ids = fields.Many2many('res.branch', store=True, + string="Allowed Branches", + compute='_compute_allowed_branch_ids') @api.depends('company_id') - def _compute_branch(self): - for order in self: - company = self.env.company - so_company = order.company_id if order.company_id else self.env.company - branch_ids = self.env.user.branch_ids - branch = branch_ids.filtered( - lambda branch: branch.company_id == so_company) - if branch: - order.branch_id = branch.ids[0] - else: - order.branch_id = False + def _compute_allowed_branch_ids(self): + for po in self: + po.allowed_branch_ids = self.env.user.branch_ids.ids diff --git a/multi_branch_base/models/branch_res_partner.py b/multi_branch_base/models/branch_res_partner.py index 7ca4f3ba0..0bce4d036 100644 --- a/multi_branch_base/models/branch_res_partner.py +++ b/multi_branch_base/models/branch_res_partner.py @@ -28,21 +28,17 @@ class BranchPartner(models.Model): _inherit = "res.partner" branch_id = fields.Many2one("res.branch", string='Branch', store=True, - readonly=False, - compute="_compute_branch") + help='Leave this field empty if the partner is' + ' shared between all branches' + ) + allowed_branch_ids = fields.Many2many('res.branch', store=True, + string="Branches", + compute='_compute_allowed_branch_ids') @api.depends('company_id') - def _compute_branch(self): - for order in self: - company = self.env.company - so_company = order.company_id if order.company_id else self.env.company - branch_ids = self.env.user.branch_ids - branch = branch_ids.filtered( - lambda branch: branch.company_id == so_company) - if branch: - order.branch_id = branch.ids[0] - else: - order.branch_id = False + def _compute_allowed_branch_ids(self): + for po in self: + po.allowed_branch_ids = self.env.user.branch_ids.ids @api.model def default_get(self, default_fields): diff --git a/multi_branch_base/views/branch_product_template_views.xml b/multi_branch_base/views/branch_product_template_views.xml index f7930a371..76a8936e6 100644 --- a/multi_branch_base/views/branch_product_template_views.xml +++ b/multi_branch_base/views/branch_product_template_views.xml @@ -7,7 +7,8 @@ - + + diff --git a/multi_branch_base/views/branch_res_partner_views.xml b/multi_branch_base/views/branch_res_partner_views.xml index a140aceaa..0b613a4a1 100644 --- a/multi_branch_base/views/branch_res_partner_views.xml +++ b/multi_branch_base/views/branch_res_partner_views.xml @@ -7,8 +7,9 @@ - +