- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-17-2018 12:25 PM
I am trying to show an "Implement" UI Action button on a Change request to either an admin, the user that is the current assigned to, or a user who is the delegate of the current assigned to. I tried using the getMyAssignments() function from the getMyApprovals business rule, but I'm not able to get it to work properly. What do I need to add to this condition statement to allow for delegates to see/invoke the button:
(gs.hasRole('admin') || current.assigned_to == gs.getUserID())
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-23-2018 07:46 AM
The following changes ended up with a workable solution! Here is the UI Action condition: new isDelegate().delegatecheck(current.assigned_to))
Script Include:
var isDelegate = Class.create();
isDelegate.prototype = {
initialize: function() {
},
delegatecheck : function (serOwnrVal){
var grDelegate = new GlideRecord("sys_user_delegate");
grDelegate.addQuery("user", serOwnrVal);
grDelegate.addQuery("delegate", gs.getUserID());
grDelegate.addQuery("assignments", "true");
grDelegate.addQuery("starts", "<=", gs.daysAgo(0));
grDelegate.addQuery("ends", ">=", gs.daysAgo(0));
grDelegate.query();
{
if(grDelegate.next()){
answer = true;
return answer;
}
else{
answer = false;
return answer;
}
}
},
type: 'isDelegate'
};

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-17-2018 12:30 PM
You can create a function in a script include and glide record the delegates from sys_user_delegate table using the current user
And in the condition use the above created function.
Regards,
Sachin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-17-2018 01:01 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-18-2018 05:48 AM
Try adding "new" before "isDelegate"
If that doesn't work, you might want to make a separate method inside the script include.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-18-2018 06:31 AM
Please use below function which returns true if person logged in delegate of current assigned to
you can include this function in script include and call this script include in UI action condition
//This function returns true if the person logged is a delegate of current assigned to
isDelegate : function(serOwnrVal) {
var grDelegate = new GlideRecord('sys_user_delegate');
grDelegate.addQuery('user', serOwnrVal );
grDelegate.addQuery('delegate', gs.getUserID());
grDelegate.addQuery('assignments', true);
grDelegate.query();
if(grDelegate.next()){
return true;
}
else{
return false;
}
},
Regards,
Sachin