50 lines
2.1 KiB
Markdown
50 lines
2.1 KiB
Markdown
# 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`)
|
|
* **Quality Checks Button** (on Manufacturing Orders and Inventory Transfers)
|
|
|
|
## 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.
|
|
|
|
## Quality Checks Button Restriction
|
|
|
|
The visibility of the "Quality Checks" and "Quality Alert" buttons on **Manufacturing Orders** and **Inventory Transfers** is controlled by a specific user setting.
|
|
|
|
To allow a user to see these buttons:
|
|
1. Navigate to **Settings > Users & Companies > Users**.
|
|
2. Enable the checkbox **"Is Allowed todo Quality Checks?"** in the **Access Restrictions** tab.
|
|
|
|
By default, this setting is unchecked, meaning users will **NOT** see these buttons unless explicitly allowed.
|
|
|
|
## 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
|