Defect #1204
closed
End of contract exclusion doesn't automatically enable identity
Added by Alena Peterová over 6 years ago.
Updated over 6 years ago.
Category:
Contractual relationship
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.
- Subject changed from End of contract exclusion doesn't enable identity to End of contract exclusion doesn't automatically enable identity
- Description updated (diff)
- Tracker changed from Task to Defect
- Target version set to Malachite (9.0.0)
- Related to Task #1212: New identity is created with state 'CREATED' added
- Status changed from New to In Progress
- Status changed from In Progress to Needs feedback
- Assignee changed from Radek Tomiška to Vít Švanda
- % Done changed from 0 to 90
- 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.
- Status changed from Closed to In Progress
- % Done changed from 100 to 80
We tested this as hotfix on 8.1.5 and it didn't fix our issue:
- 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.
- Assignee changed from Radek Tomiška to Alena Peterová
Yes, you have to delete the queue => simply reschedule (drop and create) the task.
- 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.
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.
- 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.
- % Done changed from 80 to 100
Also available in: Atom
PDF