48 lines
1.9 KiB
Python
48 lines
1.9 KiB
Python
from odoo import models, api
|
|
from odoo.osv import expression
|
|
|
|
class StockWarehouse(models.Model):
|
|
_inherit = 'stock.warehouse'
|
|
|
|
@api.model
|
|
def _search(self, domain, offset=0, limit=None, order=None):
|
|
if not self.env.su:
|
|
domain = expression.AND([domain or [], [('id', 'in', self.env.user.allowed_warehouse_ids.ids)]])
|
|
return super()._search(domain, offset=offset, limit=limit, order=order)
|
|
|
|
class StockPickingType(models.Model):
|
|
_inherit = 'stock.picking.type'
|
|
|
|
@api.model
|
|
def _search(self, domain, offset=0, limit=None, order=None):
|
|
if not self.env.su:
|
|
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)
|
|
|
|
class StockLocation(models.Model):
|
|
_inherit = 'stock.location'
|
|
|
|
@api.model
|
|
def _search(self, domain, offset=0, limit=None, order=None):
|
|
if not self.env.su:
|
|
domain = expression.AND([domain or [], [('id', 'in', self.env.user.allowed_location_ids.ids)]])
|
|
return super()._search(domain, offset=offset, limit=limit, order=order)
|
|
|
|
class MrpWorkcenter(models.Model):
|
|
_inherit = 'mrp.workcenter'
|
|
|
|
@api.model
|
|
def _search(self, domain, offset=0, limit=None, order=None):
|
|
if not self.env.su:
|
|
domain = expression.AND([domain or [], [('id', 'in', self.env.user.allowed_workcenter_ids.ids)]])
|
|
return super()._search(domain, offset=offset, limit=limit, order=order)
|
|
|
|
class ApprovalCategory(models.Model):
|
|
_inherit = 'approval.category'
|
|
|
|
@api.model
|
|
def _search(self, domain, offset=0, limit=None, order=None):
|
|
if not self.env.su:
|
|
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)
|