Project

General

Profile

Task #3082

Updated by Alena Peterová almost 3 years ago

We want to improve the notification - the start of identity's contract (ContractStartNotificationTask, https://wiki.czechidm.com/tutorial/adm/notification_-_identity_s_contract_is_starting) so that the number of days before/after start will be handled as "equals or before", and so it will not skip any valid contract. Example use case: 
 * The notification is set to "number of days before start" = 3 and runs every day after HR synchronization 
 * Contract A starts on 1.4. and it exists in IdM for several weeks. 
 * Contract B starts on 1.4., but it's created in IdM on 31.3. 
 * Contract C starts on 1.4., but it's created in IdM on 2.4. 
 All three contracts comply complies with the additional filters of the notification since their beginning. 
 * Contract D starts on 1.4., it exists in IdM long before that, but it complies with the additional filter later (e.g.: System=AD and the AD account for the user is not created until 5.4.) 

 Now: 
 * The notification is sent only for the contract A on 29.3. 
 * The contract is in the queue of the LRT only once; it's deleted during the run of the LRT the next day. 

 Requested behavior: 
 * The notification is sent for all 4 contracts once: A on 29.3., for all the others as soon as possible (= B: 31.3., C: 2.4., D: 5.4.) 
 ** Note: this means that the first run of the LRT will process all valid contracts - the administrator must be careful 
 * The queue of LRT contains all 4 contracts with the date when the notification was sent. 
 * Only if the contract ends (valid till < now), remove it from the queue. So if the contract was restarted in the future, the notification would be sent again for this contract.

Back