Project

General

Profile

Actions

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.

Status:
Closed
Priority:
Normal
Assignee:
Radek Tomiška
Category:
Contractual relationship
Target version:
Start date:
08/06/2018
Due date:
% Done:

100%

Estimated time:
Affected versions:
Owner:

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

Related to IdStory Identity Manager - Task #1212: New identity is created with state 'CREATED' NewPetr Michal08/14/2018

Actions
Actions #1

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)
Actions #2

Updated by Radek Tomiška over 6 years ago

  • Tracker changed from Task to Defect
  • Target version set to Malachite (9.0.0)
Actions #3

Updated by Radek Tomiška over 6 years ago

  • Related to Task #1212: New identity is created with state 'CREATED' added
Actions #4

Updated by Radek Tomiška over 6 years ago

  • Status changed from New to In Progress
Actions #5

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).

Commit:
https://github.com/bcvsolutions/CzechIdMng/commit/fdfcc75e2e4c36833d4c7954f46becc30dd802d2#diff-180054d7c4b0b59ddb6e74d51a075826

Could you do a feedback, pls?

Actions #6

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.

Actions #7

Updated by Alena Peterová over 6 years ago

  • 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.

Actions #8

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.

Actions #9

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.

Actions #10

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.

Actions #11

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.

Actions #12

Updated by Alena Peterová over 6 years ago

  • % Done changed from 80 to 100
Actions

Also available in: Atom PDF