Defect #1204
closedEnd of contract exclusion doesn't automatically enable identity
100%
Description
Version 8.1.2.
Situation:
1) The identity had valid contract in HR -> identity was enabled
2) The contract was excluded in HR -> synchronization set the contract state to Excluded -> the identity was disabled by HR processes
3) The contract was removed from exclusion in HR -> synchronization set the contract state to null -> HR processes did nothing to the identity
Expected behaviour: Contract has state null, identity is enabled.
Real behaviour: Contract has state null, identity is disabled.
I guess there is some problem with the implementation of HrEnableContractProcess. It remembers the contract of the identity from enabling in the step 1, so it doesn't handle it again in the step 3. When I manually remove the contract from the HrEnableContractProcess queue, then the contract is processed and the identity is enabled correctly.
Manual changing of the contract state works fine, the issue is only with automatic processes.
Related issues
Updated by Alena Peterová over 6 years ago
- Subject changed from End of contract exclusion doesn't enable identity to End of contract exclusion doesn't automatically enable identity
- Description updated (diff)
Updated by Radek Tomiška over 6 years ago
- Tracker changed from Task to Defect
- Target version set to Malachite (9.0.0)
Updated by Radek Tomiška over 6 years ago
- Related to Task #1212: New identity is created with state 'CREATED' added
Updated by Radek Tomiška over 6 years ago
- Status changed from New to In Progress
Updated by Radek Tomiška over 6 years ago
- Status changed from In Progress to Needs feedback
- Assignee changed from Radek Tomiška to Vít Švanda
- % Done changed from 0 to 90
Issue was connected with missing clause for excluded contract in hr task HrEnableContractProcess => excluded contracts was never removed from LRT queue.
I added filter for excluded contract - now will be enabled all valid and not excluded contracts, respectively identities with those contracts (includes UC in description).
Could you do a feedback, pls?
Updated by Vít Švanda over 6 years ago
- Status changed from Needs feedback to Closed
- Assignee changed from Vít Švanda to Radek Tomiška
- % Done changed from 90 to 100
I did review and test. HR lrt works correctly now. Thanks for that.
Updated by Alena Peterová over 6 years ago
- Status changed from Closed to In Progress
- % Done changed from 100 to 80
- the contract is already in the queue of HrEnableContractProcess (because it was enabled in the past)
- we set the contract manually as excluded
- we synchronized the contract from HR, which makes its state null again
- we start HrEnableContractProcess and it doesn't process the contract => the identity stays Inactive
Is there something we missed? Please check the behaviour again.
Updated by Radek Tomiška over 6 years ago
- Assignee changed from Radek Tomiška to Alena Peterová
Yes, you have to delete the queue => simply reschedule (drop and create) the task.
Updated by Alena Peterová over 6 years ago
- Assignee changed from Alena Peterová to Radek Tomiška
I manually deleted the queue and it enabled the identity correctly.
But when I exclude the same contract again and then again remove it from exclusion, it doesn't enable the identity. The identities aren't activated automatically, if it's 2., 3., 4.,... activation. That was the point of our issue.
Of course we could delete the queue every day, but that's workaround.
Updated by Alena Peterová over 6 years ago
Alena Peterová wrote:
But when I exclude the same contract again and then again remove it from exclusion, it doesn't enable the identity. The identities aren't activated automatically, if it's 2., 3., 4.,... activation. That was the point of our issue.
This is nothing strange - the user can have multiple exclusions with some pauses. Typically: 1) work, 2) maternity leave, 3) parental leave, 4) 2 years of work, 5) maternity leave again....
IdM must handle it automatically.
Updated by Alena Peterová over 6 years ago
- Status changed from In Progress to Closed
Resolved after consultation with Radek.
The bugfix works, problem was with the testing, where I missed one step: It's necessary to start HrEnableContractProcess at least once when the contract is excluded - so the LRT removes the contract from its queue.
When installing this new version, it's necessary to delete HrEnableContractProcess at once, because there can be some inactive contracts. After that, the LRT queue is cleared/created automatically and correctly.