Interested in a ServiceNow event built for developers? Registration for now[dev]26 is officially open!

Record Producer User Criteria not working

Supriya25
Tera Guru

Hi All,

I'm not sure what's wrong with this user criteria , please help me 
use case : get True or false

Supriya25_3-1789663739254.png

 

 

Supriya25_4-1789663766960.png

 

Supriya25_2-1789663673546.png

My humble request kindly help me on this , I tried with different ways too
String(user_id) or user_id or gs.getUserID()


script :

gs.addInfoMessage("VC Details 2 ");
gs.info("VC Details 2 ");
var vc = new global.TestVC();
answer = vc.userCriteria(String(user_id));


script Include :
var TestVC = Class.create();
TestVC.prototype = {
initialize: function() {},

userCriteria: function(userid) {
gs.addInfoMessage('VC Details');
gs.info('VC Details');
if (!userid) {
return false;
}
return true;
},

type: 'TestVC'
};


why info messages not coming, if this comes I have to design my major functionality 

with combinaiton of System Property and User Role Check
if (system property==true)
{
if(check user role is at least one ){
answer=true;
else
answer=false;
}

}

 

6 REPLIES 6

Thanks you, you are right , I was checking with admin id's . thanks for making me correct .



Thanks for your suggestions 
very wired thing is , from same Group , I have selected 4 peoples 
I flipped property value True to False vice versa .

Property :
1.FALSE :
impersonated with user AAA : catalog item restricted and got info message also (Success)
2.TRUE :
Impersonated with. same user AAA: Catalog item still restricted 
But immediately I Impersonated with BBB user, catalog item is appearing .

I did property change again 
FALSE again : 
immediately I Impersonated with BBB user, catalog item is disappearing .(GOOD)
TRUE : 
immediately I Impersonated with BBB user, catalog item still disappearing .

making changes in system property and If I impersonated with same person again and again result not changing as per system property . 

WHY like this ? any suggestions please 

User Criteria 

gs.addInfoMessage("Result : "+new VisibilityCondition().userCriteria(user_id)); 
var vc = new VisibilityCondition(); 
answer = vc.userCriteria(user_id);


Script Include:

userCriteria: function(userID) {
    // 1. Fail early if no userID is provided
    if (!userID) {
        return false;
    }

    // 2. Fetch system configuration property
    var isLoggingEnabled = gs.getProperty('trunOn_Off') === 'true';
    if (!isLoggingEnabled) {
        return false;
    }

    // 3. Define target roles
    var Roles = [
        'issues_user', 
        'wealth_user', 
        'tracker_user'
    ];

    // 4. Perform an efficient check using GlideRecord
    var userRoleGR = new GlideRecord('sys_user_has_role');
    userRoleGR.addQuery('user', userID);
    userRoleGR.addQuery('role.name', 'IN', Roles.join(','));
    userRoleGR.setLimit(1);
    userRoleGR.query();

    // Returns true if a record exists, false otherwise
    return userRoleGR.hasNext();
},

 

glideFather
Tera Patron

ahoy @Supriya25,

 

there's User Criteria Diagnostics - one for Knowledge bases and articles and another for Service Catalog (catalog items and rec producers).

 

The both checks the same user criteria but against different tables.

 

So ensure that you are accessing the right module and it gives you insights of the user criteria and how it is evaluated. Select a user and catalog item or category and you will see the results.


✂-----Cutting-out-the---✦AI-noise✦---All-replies-written-and-vouched-for-by-GlideFather---