Task #386
closedManagers algorithms
100%
Description
Every user contract can have managers. Those managers are either static values - set by admin or synchronization - or dynamically computed everytime the manager is needed.
The goal of this ticket is to implement new algorithm for computing managers, which shloud work as follows:
The org structure (tree structure) is defined as ORG A <- ORG B <- ORG C, ORG B <- ORB D.
Every user always sits only at leafs - e.g. USER A sits on ORG C, USER B sits on ORG D. Nobody sits on ORG A or ORB B.
When we compute the manager of the user, we cannot simply go through the tree, because users A and B sits on the same level in the tree.
So we need other reference attribute that point to the organization that manages it: eg. ORG C - - - > ORG D. Let's call it "MY MANAGER POSITION" reference attribute.
All together: USER B is the manager of USER A
See the picture
note: "Sits" means "has valid contract that is positioned on this node"...
To discuss - "MY MANAGER POSITION" attribute will be extended attribute of treeNode or should it be basic attribute?
Files
Updated by Radek Tomiška about 7 years ago
- Category set to Modularity
- Assignee changed from Radek Tomiška to Ondřej Kopr
- % Done changed from 0 to 90
New alghoritm is implemented by description and nice artistic structural diagram :).
Added feature is dynamic filter registration and configuration, see doc https://proj.bcvsolutions.eu/ngidm/doku.php?id=en:navrh:konfigurace_aplikace#entity_filters:
- custom module could register new filter (e.g. on identities, roles and other dto agendas - BE only for now )
- filter could be overriden too - curretly used implementation could be chosen by configuration service (see doc).
Filter implementation is in rtomiska/identity-dto branch. Will be merged after notification dtos refactoring.
Could you please make a test and review please?
Updated by Ondřej Kopr about 7 years ago
- Status changed from New to Needs feedback
Updated by Ondřej Kopr almost 7 years ago
- % Done changed from 90 to 100
- czech language in code - commentary (EavCodeSubordinatesFilter 70)
Tested EavCodeSubordinatesFilter and DefaultSubordinatesFilter (difficult for setup :)). You can build awesome jpa criteria! Thank you. You can close this ticket.
Updated by Ondřej Kopr almost 7 years ago
- Assignee changed from Ondřej Kopr to Radek Tomiška
Updated by Radek Tomiška almost 7 years ago
- Status changed from Needs feedback to Closed
I've removed forgotten comment, thx :)