Feature #1145
closedSupport multiple organizations for one contract
100%
Description
One contracted position can have 0 or 1 link to the organizations structure now.
We want to make use of multiple organization structures and be able to place one contract:- to multiple org. structures
- to multiple positions in one org. structure
The contracts are imported from HR for both cases. Manual creation of contracts is definitely not wanted.
- one structure is "Systemized positions", the second structure is "Locations". Placing in "Systemized positions" is imported from HR and it's used for computing automatic roles and/or managers. Placing in "Locations" is processed manually by the administrator, who knows where the users really "sit". This placement is used for putting users in Active Directory structure.
- the structure is "Departments", the user has contract in one department, but sometimes needs to help in some other department (a doctor helps in different hospitals)
Related issues
Updated by Radek Tomiška over 6 years ago
- Status changed from New to In Progress
- Target version set to Moonstone (9.1.0)
- % Done changed from 0 to 20
Updated by Radek Tomiška over 6 years ago
- Status changed from In Progress to Needs feedback
- Assignee changed from Radek Tomiška to Ondřej Kopr
- % Done changed from 20 to 90
Other contract positions and automatic roles by this new positions are implemented.
Doc:
https://wiki.czechidm.com/devel/documentation/roles#automatically_assigned_roles_by_organization_structure
https://wiki.czechidm.com/devel/documentation/architecture/dev/events#contractpositionautomaticroleprocessor
https://wiki.czechidm.com/devel/documentation/security/dev/authorization#contractpositionbyidentitycontractevaluator
https://wiki.czechidm.com/devel/documentation/synchronization/dev/relation-sync#other_positions_field
Commit:
https://github.com/bcvsolutions/CzechIdMng/commit/5f33632c0b86723fe30db5aeafdbbcf38defdb4c
Could you do a feedback, pls?
Updated by Ondřej Kopr over 6 years ago
I made part of review:
- implement IdmContractPositionService as script enable is good idea, thank you,
- when I synchronize positions is propagate provisioning for each add role (all automatic roles has system) the ticket #1043 must be probably finally solved in this version :D is my responsibility,
- automatic role recalculation works perfectly, I was not able to break the behavior with recalculation and I really tried :),
- it is possible create automatic role by attribute with equals to "Next positions (IdmTreeNode - List of ids or codes)" this doesnt work, but is necessary create automatic role by attribute to equals to this attribute? Probably not,
- many of projects synchronize contract slices and probably next positions will be synchronize in this synchronization -> but create new next position for contract controlled by slices is possible, so I can create script for update next positions in the synchronization.
For now I didnt find bugs or strange behavior for next positions. I will continue with feedback tomorrow, now I'm tired.
Updated by Ondřej Kopr over 6 years ago
- Status changed from Needs feedback to Resolved
- Assignee changed from Ondřej Kopr to Radek Tomiška
- % Done changed from 90 to 100
I made last test, I didnt find problem with the feature, main purpose of the feature is two position for one contract with all automatic role and this works perfectly. Thank you.
Updated by Radek Tomiška over 6 years ago
- Status changed from Resolved to Closed
Thx for feedback:
- i removed next positions from automatic roles by attributes. I removed 'guarantees' attribute too, it's correct (they are unimplemented too i think)? https://github.com/bcvsolutions/CzechIdMng/commit/2e505b2fd87f4c3b5c3e9d3cfe56c2bdd8917e1b
- slices and next positions - next positions are not included in slices, they work separately => the same behavior as other eav definitions. I added 'ScriptEnabled' annotation to 'IdmContractPositionService' so is possible to work with them manually in script if needed, as you says.
Updated by Radek Tomiška over 5 years ago
- Related to Task #779: Contractual relationship - More relations on organizations added
Updated by Radek Tomiška over 4 years ago
- Related to Task #732: Recalculate automatic roles after move some nodes added