The CreatorCon Call for Content is officially open! Get started here.

Return false; not working on catalog item

gunishi
Tera Guru

hi all, 

 

I have the following code in a catalog client script, which is designed to check if the 'requested_for' user has a manager. If not then the form submission for the catalog item should be restricted. At the moment this is not working and I've no idea why so any help would be much appreciated.

 

function onSubmit() {

    var req = g_form.getReference('requested_for', managerCheck);

    function managerCheck(req) {

        var manager = req.manager;

        if (manager == '') {

            return false;

        }

    }

}

 

Thank you!

 

 

 

 

1 ACCEPTED SOLUTION

gunishi
Tera Guru

For anyone who has a similar problem, the following code managed to solve it:

 

Thank you @Vishal Birajdar  for some of the solution.

 

Step 1: Client callable Script Include:


Name : UserUtils

//Function within script include

getManager: function (){
var manager;
var user = this.getParameter('sysparm_user');
//Glide record on user table
var grUser = new GlideRecord ('sys_user');
grUser.addQuery('sys_id',user);
grUser.query();
if(grUser.next()){
manager= grUser.getValue('manager');
}

if(manager){
return true;
}else {
return false;
}

}

 

 

Step 2: onSubmit Client script 

function onSumbit(){

var ga = new GlideAjax('UserUtils');

ga.addParam('sysparm_name', 'getManager');
ga.addParam('sysparm_user', g_form.getValue('requested_for'));

ga.getXMLWait();

var result = ga.getAnswer();

var abort;

 

return abort = callbackfunction(result);

}

function callbackfunction(answer) {
if (answer != true) {
g_form.addErrorMessage("Requested for does not have manager");
return false;
} else {
return true;
}

}

View solution in original post

10 REPLIES 10

gunishi
Tera Guru

For anyone who has a similar problem, the following code managed to solve it:

 

Thank you @Vishal Birajdar  for some of the solution.

 

Step 1: Client callable Script Include:


Name : UserUtils

//Function within script include

getManager: function (){
var manager;
var user = this.getParameter('sysparm_user');
//Glide record on user table
var grUser = new GlideRecord ('sys_user');
grUser.addQuery('sys_id',user);
grUser.query();
if(grUser.next()){
manager= grUser.getValue('manager');
}

if(manager){
return true;
}else {
return false;
}

}

 

 

Step 2: onSubmit Client script 

function onSumbit(){

var ga = new GlideAjax('UserUtils');

ga.addParam('sysparm_name', 'getManager');
ga.addParam('sysparm_user', g_form.getValue('requested_for'));

ga.getXMLWait();

var result = ga.getAnswer();

var abort;

 

return abort = callbackfunction(result);

}

function callbackfunction(answer) {
if (answer != true) {
g_form.addErrorMessage("Requested for does not have manager");
return false;
} else {
return true;
}

}