Trying to get the group names in Assignment group variable which requested for belongs to

raj99918
Tera Contributor

Hi ,

 

Get list of groups thats Requested for belongs to in a catalog form variable called Assignment group I have written script include and onChnage catalog client as below but some how it's not setting the values in the refernce variable  and also am able to get the sys_ids's of all the groups from script include but its not setting it in the reference variable

 

Note: This is in scoped application not in Global scope

 

 

Script include:

 

var GroupsMembership = Class.create();
GroupsMembership.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {

    getGroups: function() {
        var groups = [];
        var user = this.getParameter('sysparm_userID');
        var gr = new GlideRecord('sys_user_grmember');
        gr.addQuery('user', user);
        gr.query();
        while (gr.next()) {
           groups.push(gr.group.sys_id);
        }
return 'sys_idIN' + groups;
    },

    type: 'GroupsMembership'
});
 ------------------------------------------
Onchange catalog client script:
 
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
    if (isLoading || newValue === '') {
        return;
    }
    var gajax = new GlideAjax('GroupsMembership');
    gajax.addParam('sysparm_name','getGroups');
    gajax.addParam('sysparm_userID', newValue);
    gajax.getXML(getResults);
}
function getResults(response){
    var answer = response.responseXML.documentElement.getAttribute("answer");
var req = g_form.getValue('requested_for');
if(req !=''){
alert(answer);
   g_form.setValue('assignment_group', answer);
}
}
22 REPLIES 22

Hi @Vrushali Kolte  Sorry again still the same issue it's pulling all the group names

 

@raj99918 

 

Can you add a space as well while using reference qualifier as below:

 

 

javascript&colon: new scriptincludename().yourfunctionname(current.variables.requested_for+"");

 

 

 

 

And update the script as below

getGroups: function(user) {
        var groups = [];
        //var user = this.getParameter('sysparm_userID');
        var gr = new GlideRecord('sys_user_grmember');
        gr.addQuery('user', user);
        gr.query();
        while (gr.next()) {
           groups.push(gr.group.sys_id);
        }
return 'sys_idIN' + groups;
    },

 

 

 

Hi @Vrushali Kolte  Sorry still the same