- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-18-2020 12:46 AM
Hi
I want a user criteria to both match user group and a location that is on the user.
But this doesn't work. Do I have to script? I am novice at scripting, How would such a script look?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-18-2020 07:48 AM
Hi,
I would encourage to have step by step debug
1) check if member of Hardware is able to access the catalog
Keep Script as: Test with user
answer = gs.getUser().isMemberOf('Hardware');
Next
2) check if user's location condition is satisfied
Keep Script as: Test with user having that location
answer = ifScript();
function ifScript(){
var user = new GlideRecord('sys_user');
user.addQuery('sys_id', gs.getUserID());
user.addQuery('location', '25ab9d720a0a0bb300793d3a6b891f82');
user.query();
var locationValid = user.hasNext();
return locationValid;
}
3) Now combine both the codes and check by adding logs
If my answer solved your issue, please mark my answer as ✅ Correct & 👍Helpful based on the Impact.
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-18-2020 07:07 AM
not working. baah this is driving my crazy and seems crazy hard
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-18-2020 07:48 AM
Hi,
I would encourage to have step by step debug
1) check if member of Hardware is able to access the catalog
Keep Script as: Test with user
answer = gs.getUser().isMemberOf('Hardware');
Next
2) check if user's location condition is satisfied
Keep Script as: Test with user having that location
answer = ifScript();
function ifScript(){
var user = new GlideRecord('sys_user');
user.addQuery('sys_id', gs.getUserID());
user.addQuery('location', '25ab9d720a0a0bb300793d3a6b891f82');
user.query();
var locationValid = user.hasNext();
return locationValid;
}
3) Now combine both the codes and check by adding logs
If my answer solved your issue, please mark my answer as ✅ Correct & 👍Helpful based on the Impact.
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-21-2020 12:16 PM
Thank you. I now tried again and it finally worked

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-18-2020 01:10 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-18-2020 01:22 AM
Yes. I've already made sure.