Go to file
2026-01-06 14:27:20 +07:00
__pycache__ first commit 2026-01-05 12:03:16 +07:00
models feat: Implement access restrictions for approval requests and refine domain application, including a fix for 'All Approvals' window action. 2026-01-06 14:27:20 +07:00
security feat: Implement access restrictions for approval requests and refine domain application, including a fix for 'All Approvals' window action. 2026-01-06 14:27:20 +07:00
views first commit 2026-01-05 12:03:16 +07:00
__init__.py first commit 2026-01-05 12:03:16 +07:00
__manifest__.py feat: Implement access restrictions for approval requests and refine domain application, including a fix for 'All Approvals' window action. 2026-01-06 14:27:20 +07:00
README.md first commit 2026-01-05 12:03:16 +07:00

Access Restriction By User

This module allows administrators to restrict user access to specific records in Inventory, Manufacturing, and Approvals without using complex Record Rules.

Features

Restrict visibility of the following records based on User configuration:

  • Warehouses (stock.warehouse)
  • Picking Types (stock.picking.type)
  • Locations (stock.location)
  • Work Centers (mrp.workcenter)
  • Approval Categories (approval.category)

Configuration

  1. Navigate to Settings > Users & Companies > Users.
  2. Select the user you want to restrict.
  3. Go to the Access Restrictions tab.
  4. Add records to the following fields:
    • Allowed Warehouses
    • Allowed Picking Types
    • Allowed Locations
    • Allowed Work Centers
    • Allowed Approvals

Important Usage Notes

  • Empty List = Unrestricted: If an "Allowed" field is left empty for a user, they will have access to ALL records of that type.
  • Populated List = Restricted: If one or more records are added, the user will ONLY see those specific records.
  • Superuser: The Superuser (OdooBot) and administrators bypassing access rights are not affected by these restrictions.

Technical Details

This module overrides the _search method on the target models to apply a domain filter based on the current user's allowed list. This ensures consistency across views (list, kanban, many2one dropdowns) and avoids common issues associated with Record Rules.

Author

Suherdy Yacob