Skip to Content
Menu
This question has been flagged
1948 Views

Odoo 14, Community edition,

I need to make `Hierarchical Access Rights Control` (HARC), managed as a tree
e.g. on the highest level I have `Domain`, then `Sub-Domain`, then `Project`, then `Sub-Project`.

So that a user in a specific level (node) of the tree can access data in all sub-branches.


Example:

Domain: Community, 

Sub-Domain: Children

Project: WonderWell Preschool 

Sub-Project: Yoga


A user that is assigned to  Community can access all data in Community and its sub branches, e.g. Children, WonderWell Preschool,  Yoga
But a user 
that is assigned to `WonderWell Preschool` can access only `WonderWell Preschool` and `Yoga`

The purpose is to hide data that is not relevant for a specific user, for efficiency and privacy reasons.


I couldn't find a way to do it with odoo:
I looked at modules Project, Security (
Access Rights), and Accounting.

I saw that in Groups I can set `Inherited` but

1. I need inheritance to be set automatically on the tree sub branches

2. It seems that I can only set Access right for a module/menu but not on a specific instance


I need each data instance in the system to be assign to a specific node in the HARC tree, so that if a user that is assign to a specific node create the data, the data will automatically have the same HARC node.
When the data is displayed it will be automatically filter according to the HARC tree aub branches.

I couldn't find any way to do it in odoo, please correct me if I'm wrong
I would like to implement it myself, for the following modules: Accounting, CRM, Project, Attendance, Expenses, Calendar.

I'm a very capable developer, and did similar development on other open-source projects (prestashop, wordpress), but I'm relatively new to odoo.


My questions are:

1. How difficult it is to implement such a change for a very capable developer that is new to odoo in terms of time.

2. Can someone suggest on the best way to approach this problem

3. Is there any similar hierarchical structure in Odoo that I can use to learn how it should be done?

Note: I'm well aware that odoo was not design in such a way, and making such a change might break other modules, and can cause unexpected bugs, but still I would like to estimate the work, and understand how I should approach this.

I will appreciate any help or insight on the matter.



Avatar
Discard
Related Posts Replies Views Activity
0
Oct 24
110
2
Apr 23
22982
2
Jun 20
15728
0
Dec 18
1939
0
Aug 16
1876