| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 534 |
| Technical Name |
dynamic_access_rules |
| License | LGPL-3 |
| Versions | 17.0 18.0 19.0 |
What is it?
An Odoo 18 module that adds a flexible, UI-level access control layer. Define rules that hide or make readonly fields and buttons, or disable Create/Delete actions—without modifying record rules or ACLs. Rules are managed dynamically from the interface—no need to modify XML views or deploy custom code.
Field Invisible
Hide fields for specific users or groups
Field Readonly
Make fields read-only based on conditions
Button Invisible
Hide action buttons
Button Disable
Disable buttons (prevents click)
Create Disable
Hide or disable the Create button in list and form views
Delete Disable
Hide or disable the Delete action
Conditions
Rules can be restricted by:
- User – Apply to selected users
- Group – Apply to users in selected groups
- Company – Apply only in a given company (multi-company)
- Domain – Odoo domain syntax, e.g. [('state', '=', 'draft')]
Use Cases
- Hide sensitive fields (margin, cost) from non-managers
- Make fields readonly in certain states (e.g. confirmed orders)
- Restrict Create/Delete for specific models or user groups
- Different UI per company in multi-company setups
- Hide or disable buttons based on record state
Technical
- Compatible with Odoo 18 (OWL framework)
- Works with form, list, and kanban views
- Supports nested views (e.g. sale.order.line inside sale.order)
- Safe caching, multi-worker compatible
- Does not replace or modify native ACL or record rules
- Deterministic rule priority system (sequence-based resolution)
License and Support
License: LGPL-3
Compatible: Odoo 18.0 Community & Enterprise
Support: sanadsoft98@gmail.com
Please log in to comment on this module