- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-10-2022 07:57 AM
I have a user criteria, which is working fine but when validating using "User Criteria Diagnostics tool " its failing , after some reasearch came to know that we need to use user_if as part of the KB0750243
Below is my user criteria, how do I make this work?
var staffGroup;
var LDAPUser;
var grUser = new GlideRecord('u_private_ldap_user_table');
//grUser.addQuery('u_user_name',gs.getUserName()); //
grUser.addQuery('u_user_name',gs.get(user_id));
grUser.addQuery('u_mbu_standardized','NOT IN',"Hs,Sw,Hw,UPG").addOrCondition('u_mbu_standardized', 'NULL');
grUser.query();
if(grUser.next()) {
LDAPUser = 'true';
}
else{
LDAPUser = 'false';
}
var grGroup = new GlideRecord('sys_user_grmember');
grGroup.addQuery('user',gs.getUserID());
grGroup.addQuery('group','d473b4f6db946304f032f1f51d961905');
grGroup.query();
if(grGroup.next()){
staffGroup = "true";
}
else {
staffGroup = "false";
}
if(LDAPUser== 'true' && staffGroup== 'true' )
{
answer = true;
}
else {
answer = false;
}
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-10-2022 08:19 AM
The following script should work:
var currentUserGr = new GlideRecord('sys_user');
if (currentUserGr.get(user_id)) {
// avoid health-scan get-warnings
}
var staffGroup;
var LDAPUser;
var grUser = new GlideRecord('u_private_ldap_user_table');
//grUser.addQuery('u_user_name',gs.getUserName()); //
grUser.addQuery('u_user_name',currentUserGr.user_name);
grUser.addQuery('u_mbu_standardized','NOT IN',"Hs,Sw,Hw,UPG").addOrCondition('u_mbu_standardized', 'NULL');
grUser.query();
if(grUser.next()) {
LDAPUser = 'true';
}
else{
LDAPUser = 'false';
}
var grGroup = new GlideRecord('sys_user_grmember');
grGroup.addQuery('user',user_id);
grGroup.addQuery('group','d473b4f6db946304f032f1f51d961905');
grGroup.query();
if(grGroup.next()){
staffGroup = "true";
}
else {
staffGroup = "false";
}
if(LDAPUser== 'true' && staffGroup== 'true' )
{
answer = true;
}
else {
answer = false;
}

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-10-2022 08:07 AM
I'm a little confused about your question. Is the user criteria not work or is it just not work in the Diagnostics tool. If it is just not working in the diagnostics tool then I think the KB article explains why. I don't see a problem record associated with this KB so it may be something they think is a low priority. You could put in an enhancement request via the idea port to try and get this fixed.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-10-2022 08:19 AM
The following script should work:
var currentUserGr = new GlideRecord('sys_user');
if (currentUserGr.get(user_id)) {
// avoid health-scan get-warnings
}
var staffGroup;
var LDAPUser;
var grUser = new GlideRecord('u_private_ldap_user_table');
//grUser.addQuery('u_user_name',gs.getUserName()); //
grUser.addQuery('u_user_name',currentUserGr.user_name);
grUser.addQuery('u_mbu_standardized','NOT IN',"Hs,Sw,Hw,UPG").addOrCondition('u_mbu_standardized', 'NULL');
grUser.query();
if(grUser.next()) {
LDAPUser = 'true';
}
else{
LDAPUser = 'false';
}
var grGroup = new GlideRecord('sys_user_grmember');
grGroup.addQuery('user',user_id);
grGroup.addQuery('group','d473b4f6db946304f032f1f51d961905');
grGroup.query();
if(grGroup.next()){
staffGroup = "true";
}
else {
staffGroup = "false";
}
if(LDAPUser== 'true' && staffGroup== 'true' )
{
answer = true;
}
else {
answer = false;
}