feat: add system group user exemption to access restriction checks in _search methods.

This commit is contained in:
Suherdy Yacob 2026-01-06 09:29:40 +07:00
parent 023fa4d544
commit 895dc077ec

View File

@ -6,7 +6,7 @@ class StockWarehouse(models.Model):
@api.model @api.model
def _search(self, domain, offset=0, limit=None, order=None): def _search(self, domain, offset=0, limit=None, order=None):
if not self.env.su: if not self.env.su and not self.env.user.has_group('base.group_system'):
domain = expression.AND([domain or [], [('id', 'in', self.env.user.allowed_warehouse_ids.ids)]]) domain = expression.AND([domain or [], [('id', 'in', self.env.user.allowed_warehouse_ids.ids)]])
return super()._search(domain, offset=offset, limit=limit, order=order) return super()._search(domain, offset=offset, limit=limit, order=order)
@ -15,7 +15,7 @@ class StockPickingType(models.Model):
@api.model @api.model
def _search(self, domain, offset=0, limit=None, order=None): def _search(self, domain, offset=0, limit=None, order=None):
if not self.env.su: if not self.env.su and not self.env.user.has_group('base.group_system'):
domain = expression.AND([domain or [], [('id', 'in', self.env.user.allowed_picking_type_ids.ids)]]) domain = expression.AND([domain or [], [('id', 'in', self.env.user.allowed_picking_type_ids.ids)]])
return super()._search(domain, offset=offset, limit=limit, order=order) return super()._search(domain, offset=offset, limit=limit, order=order)
@ -24,7 +24,7 @@ class StockLocation(models.Model):
@api.model @api.model
def _search(self, domain, offset=0, limit=None, order=None): def _search(self, domain, offset=0, limit=None, order=None):
if not self.env.su: if not self.env.su and not self.env.user.has_group('base.group_system'):
domain = expression.AND([domain or [], [('id', 'in', self.env.user.allowed_location_ids.ids)]]) domain = expression.AND([domain or [], [('id', 'in', self.env.user.allowed_location_ids.ids)]])
return super()._search(domain, offset=offset, limit=limit, order=order) return super()._search(domain, offset=offset, limit=limit, order=order)
@ -33,7 +33,7 @@ class MrpWorkcenter(models.Model):
@api.model @api.model
def _search(self, domain, offset=0, limit=None, order=None): def _search(self, domain, offset=0, limit=None, order=None):
if not self.env.su: if not self.env.su and not self.env.user.has_group('base.group_system'):
domain = expression.AND([domain or [], [('id', 'in', self.env.user.allowed_workcenter_ids.ids)]]) domain = expression.AND([domain or [], [('id', 'in', self.env.user.allowed_workcenter_ids.ids)]])
return super()._search(domain, offset=offset, limit=limit, order=order) return super()._search(domain, offset=offset, limit=limit, order=order)
@ -42,6 +42,6 @@ class ApprovalCategory(models.Model):
@api.model @api.model
def _search(self, domain, offset=0, limit=None, order=None): def _search(self, domain, offset=0, limit=None, order=None):
if not self.env.su: if not self.env.su and not self.env.user.has_group('base.group_system'):
domain = expression.AND([domain or [], [('id', 'in', self.env.user.allowed_approval_category_ids.ids)]]) domain = expression.AND([domain or [], [('id', 'in', self.env.user.allowed_approval_category_ids.ids)]])
return super()._search(domain, offset=offset, limit=limit, order=order) return super()._search(domain, offset=offset, limit=limit, order=order)