Auto remove sn_hr_core.hrsm_new_hire role when a user has snc_internal role
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-07-2024 08:16 PM
Hi everyone,
We need to remove sn_hr_core.hrsm_new_hire if the user already have the snc_internal. Here is the business rule we used but is not working:
(function executeRule(current, previous /*null when async*/) {
// Add your code here
var hrp = new GlideRecord('sn_hr_core_profile');
hrp.addQuery('active',true);
hrp.query();
while(hrp.next())
{
if(hrp.user.hasRole('snc_internal') && hrp.user.hasRole('sn_hr_core.hrsm_new_hire'))
{
var hrp_role = new GlideRecord('sys_user_has_role');
hrp_role.addQuery('user', hrp.user.sys_id);
hrp_role.query();
if (hrp_role.next()) {
hrp.setLimit(2);
hrp_role.deleteRecord();
}
}
}
})(current, previous);
Is there anything that we missed?
Appreciate any help we can get.
1 REPLY 1
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-07-2024 08:31 PM
(function executeRule(current, previous /*null when async*/) {
// Add your code here
var hrp = new GlideRecord('sn_hr_core_profile');
hrp.addQuery('active', true);
hrp.query();
while (hrp.next()) {
if (hrp.user.hasRole('snc_internal') && hrp.user.hasRole('sn_hr_core.hrsm_new_hire')) {
var hrp_role = new GlideRecord('sys_user_has_role');
hrp_role.addQuery('user', hrp.user.sys_id);
hrp_role.addQuery('role', 'sn_hr_core.hrsm_new_hire');
hrp_role.query();
hrp_role.setLimit(1);
if (hrp_role.next()) {
hrp_role.deleteRecord();
}
}
}
})(current, previous);
Please Mark ✅Correct if this solves your query and also mark 👍Helpful if you find my response worthy based on the impact.
Thanks