Reference Qualifier

Jenjoe12
Tera Contributor

Hi All,

I am trying to show up only members of a particular group to be selected in the reference variable in portal

Below is script include I'm calling from Reference qual but it is not working. Have tried passing the sys_id of the group

Please help

Script Include

getGroupMembers: function(groupID) {
if (groupID == "")
return '';

var result = '';
var userIDs = [];
var userGR = new GlideRecord('sys_user_grmember');
userGR.addQuery("group", groupID);
userGR.query();
while (userGR.next()) {
userIDs.push(userGR.user.toString());
}
result = 'sys_idIN' + userIDs.join(',');
return result;
},

Reference qual = javascript: 'sys_idIN'+new global.HCFUtils().getGroupMembers(current);

1 REPLY 1

Mark Manders
Mega Patron

Try this as client callable script include:

var HCFUtils = Class.create();
HCFUtils.prototype = {
    initialize: function() {},

    getGroupMembers: function(groupID) {
        if (groupID == "")
            return '';

        var userIDs = [];
        var userGR = new GlideRecord('sys_user_grmember');
        userGR.addQuery('group', groupID);
        userGR.query();
        while (userGR.next()) {
            userIDs.push(userGR.user.toString());
        }
        return userIDs.join(',');
    },

    type: 'HCFUtils'
};


Create a GlideAjax Client script:

var ga = new GlideAjax('HCFUtils');
ga.addParam('sys_id', g_form.getValue('group')); // Assuming you have a 'group' field in your form
ga.getXMLAnswer(function(response) {
    var userIDs = response.responseXML.documentElement.getAttribute("answer");
    g_form.setValue('your_reference_field', 'sys_idIN' + userIDs);
});

 

And make this your reference qualifier:

javascript: 'sys_idIN' + new global.HCFUtils().getGroupMembers(current.group);


Validate on all scripts if your fields are correctly in there.
 


Please mark any helpful or correct solutions as such. That helps others find their solutions.
Mark