Catalog item Available For script.

ryliem_
Kilo Explorer

I'm trying to make a form show up in the service portal for only certain users. I have used an Available For group, which has worked perfectly for one half of my requirements. The other half is to show up only for supervisors. In my case, all supervisors will have u_user_has_direct_reports == true, and this is how I want to tell if an individual is a supervisor.

function answer(){

var gr = new GlideRecord('sys_user');

gr.addQuery('u_user_has_direct_reports','true');

gr.query();

var users = [];

while (gr.next){

users.push(gr.getValue('sys_id'));

}

return users;

}

This is what I have so far, but am having troubles make it work correctly.

1 ACCEPTED SOLUTION

dhasselquist
Mega Guru

The Advanced portion of "Available for" returns true or false, not a query string or collection of sys_id's.



I did a brief test, and you'll want to do something more along the lines of:



getAnswer();



function getAnswer(){


        var gr = new GlideRecord('sys_user');


        gr.get('sys_id',gs.getUserID());


        if (gr.u_user_has_direct_reports == true)


                  return true;


        else


                  return false;


}


View solution in original post

11 REPLIES 11

checkCondition();
function checkCondition(){
var user = new GlideRecord('sys_user');
var retval;
user.query('sys_id',gs.getUserID());
user.query('u_business','CET');
user.query();
if(user.next()){
retval = true;
}
else
{
retval = false;
}

return retval;
}

 

I made the above query but its not working...... any idea?

 

 

guill3
Giga Contributor

I did the same and worked, now they requested to Put a Message , so for example you want to hide "Report an issue" from Service portal for certain groups, when User criteria match condition, the "Report an Issue" form got hidden, but the link at the portal is still there, they want to display a Message instead of an empty space, is there a way to do this?

find_real_file.png