fix the bugs when confirm sales order

This commit is contained in:
Suherdy Yacob 2026-01-12 11:14:51 +07:00
parent 45accc9e48
commit cdc0f6b2da
7 changed files with 22 additions and 1 deletions

View File

@ -16,7 +16,7 @@
""",
'category': 'Extra Tools',
'author': 'Suherdy Yacob',
'depends': ['base', 'stock', 'mrp', 'approvals', 'stock_account'],
'depends': ['base', 'stock', 'mrp', 'approvals', 'stock_account', 'sale'],
'data': [
'security/ir.model.access.csv',
'security/ir_rule.xml',

View File

@ -1,2 +1,4 @@
from . import res_users
from . import restricted_models
from . import sale_order

Binary file not shown.

View File

@ -15,6 +15,8 @@ class StockWarehouse(models.Model):
@api.model
def _search(self, domain, offset=0, limit=None, order=None):
if self.env.context.get('bypass_user_restriction'):
return super()._search(domain, offset=offset, limit=limit, order=order)
if not self.env.su and not self.env.user.has_group('base.group_system'):
allowed_ids = get_allowed_ids(self.env, 'res_users_stock_warehouse_rel', 'warehouse_id', self.env.user.id)
if allowed_ids:
@ -26,6 +28,8 @@ class StockPickingType(models.Model):
@api.model
def _search(self, domain, offset=0, limit=None, order=None):
if self.env.context.get('bypass_user_restriction'):
return super()._search(domain, offset=offset, limit=limit, order=order)
if not self.env.su and not self.env.user.has_group('base.group_system'):
allowed_ids = get_allowed_ids(self.env, 'res_users_stock_picking_type_rel', 'picking_type_id', self.env.user.id)
if allowed_ids:
@ -37,6 +41,8 @@ class StockLocation(models.Model):
@api.model
def _search(self, domain, offset=0, limit=None, order=None):
if self.env.context.get('bypass_user_restriction'):
return super()._search(domain, offset=offset, limit=limit, order=order)
if not self.env.su and not self.env.user.has_group('base.group_system'):
allowed_ids = get_allowed_ids(self.env, 'res_users_stock_location_rel', 'location_id', self.env.user.id)
if allowed_ids:
@ -54,6 +60,8 @@ class MrpWorkcenter(models.Model):
@api.model
def _search(self, domain, offset=0, limit=None, order=None):
if self.env.context.get('bypass_user_restriction'):
return super()._search(domain, offset=offset, limit=limit, order=order)
if not self.env.su and not self.env.user.has_group('base.group_system'):
allowed_ids = get_allowed_ids(self.env, 'res_users_mrp_workcenter_rel', 'workcenter_id', self.env.user.id)
if allowed_ids:
@ -65,6 +73,8 @@ class ApprovalCategory(models.Model):
@api.model
def _search(self, domain, offset=0, limit=None, order=None):
if self.env.context.get('bypass_user_restriction'):
return super()._search(domain, offset=offset, limit=limit, order=order)
if not self.env.su and not self.env.user.has_group('base.group_system'):
allowed_ids = get_allowed_ids(self.env, 'res_users_approval_category_rel', 'category_id', self.env.user.id)
if allowed_ids:
@ -76,6 +86,8 @@ class ApprovalRequest(models.Model):
@api.model
def _search(self, domain, offset=0, limit=None, order=None):
if self.env.context.get('bypass_user_restriction'):
return super()._search(domain, offset=offset, limit=limit, order=order)
if not self.env.su and not self.env.user.has_group('base.group_system'):
allowed_category_ids = get_allowed_ids(self.env, 'res_users_approval_category_rel', 'category_id', self.env.user.id)
if allowed_category_ids:

7
models/sale_order.py Normal file
View File

@ -0,0 +1,7 @@
from odoo import models
class SaleOrder(models.Model):
_inherit = 'sale.order'
def action_confirm(self):
return super(SaleOrder, self.with_context(bypass_user_restriction=True)).action_confirm()