# 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