Notification - the end of identity's last contract
The LRT LastContractEndNotificationTask sends an email notification to holders of a specified role and optionally the manager of a contract that a user's last contract is ending, i. e., the user is leaving. The recipients of the notification can be modified in the LRT setup and the notification template can be modified as well.
There are two different notifications this LRT can send:
- notification sent a specified number of days before the end of identity's last contract
- notification sent the day that identity's last contract ends
Each notification can use a different notification template (and must use a different topic).
This tutorial describes how to prepare this notification.
Prepare templates
The visual part of the notification can be configured since standard templates are used. Extras comes with two basic stub templates which can be used here.
To set it up, go the left panel, choose Notifications>Templates. Look for templates 'ContractEndInFuture' and 'ContractEndNow'. If you see them, you can edit them by clicking the magnifying glass if you want (see below).
If you don't see them, you will have to create them from the xml files with corresponding names. They can easily be found here.
You can create your own template by modifying the stubs. You have these objects available:
- user's full name (first name, last name, login, e. g., "Petra Šťastná, pstasna", String only)
- user's department from tree node (String only)
- the date of the end of the user's contract (String only)
- user's manager (full IdmIdentityDto)
- user (full IdmIdentityDto), since Extras 1.7.0
Configure topics
Next, we have to define the topics for the notification. In the left panel, click Notifications>Configuration and search topics extras:contractEnd and extras:contractEndInXDays.
If you don't find them, click the green button Add and fill them out as shown below:
You can specify additional recipients of the notification in the topic description.
Set up the Long running task (LRT)
Finally, we can set up the LRT. In the left menu, go to Settings>Task scheduler>Scheduled tasks and click the green button Add. Select the task type LastContractEndNotificationTask and specify the configuration of the LRT.
You can specify how many days before the contract's end the notification should be sent. If you set it to 0 the notification will be sent the day the contract ends and the extras:contractEnd topic will be used. If you write a positive integer x (1, 2, …) the notification will be sent x days before the contract ends and the extras:contractEndInXDays topic will be used.
You can select the role that the recipients of the notification will have assigned. You can only select one so if you need multiple ones, you have define multiple LRTs.
And finally, you can check the box and select whether the user's manager is to be notified as well. Only one manager will receive the notification!
Set up the Long running task (LRT) with technical identities
Finally, we can set up the LRT. In the left menu, go to Settings>Task scheduler>Scheduled tasks and click the green button Add. Select the task type LastContractEndNotificationTask and specify the configuration of the LRT.
You can specify how many days before the contract's end the notification should be sent.
- You can select the role that the recipients of the notification will have assigned. You can only select one so if you need multiple ones, you have defined multiple LRTs.
- You can also check the box and select whether the user's manager is to be notified as well. Only one manager will receive the notification!
There is also support for technical identities. There are two options:
- If you provide prefix, then the task will look for username with this prefix (for identity whose contract is going to end). If some are found, then it sends the notification.
- If you select a role in "Code of the role used for technical identities" then it will look if identity with ending contract has some subordinates with this role.
The last option (Send invalid contracts) is if you want to send only valid users or all. The reason for putting this option to this setting is this case: Task did not run a couple of days and some users are already not valid. So it admin can decide if those identities will be sent too.
Run the long running task (LRT)
The last thing remaining is to run the LRT using the green arrow button. You can user CRON to plan when the LRT should be run.