Script include

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

 

    getEnvironmentOwner: function() {

 

        var groupId = this.getParameter('sysparm_group_id');

 

        if (!groupId)
            return '';

 

        var gr = new GlideRecord('u_environment_groups');

 

        if (!gr.get(groupId))
            return '';

 

        var desc = gr.getValue('u_description');

 

        if (!desc)
            return '';

 

        return desc.replace('Environment Access for ', '').trim();
    },

 

    type: 'EnvironmentUtil'
});



Client script

function onChange(control, oldValue, newValue, isLoading) {

 

    if (isLoading || !newValue)
        return;

 

    if (g_form.getValue('request_type') != 'existing_environment_access')
        return;

 

    g_form.setDisplay('group_name', true);
    g_form.setMandatory('group_name', true);
    g_form.setValue(
        'group_name',
        g_form.getDisplayValue('existing_environment')
    );
    g_form.setReadOnly('group_name', true);

 

    g_form.setDisplay('environment_owner', true);
    g_form.setReadOnly('environment_owner', true);

 

    var ga = new GlideAjax('EnvironmentUtil');
    ga.addParam('sysparm_name', 'getEnvironmentOwner');
    ga.addParam('sysparm_group_id', newValue);

 

    ga.getXMLAnswer(function(answer) {

 

        if (answer) {
            g_form.setValue('environment_owner', answer);
        } else {
            g_form.clearValue('environment_owner');
        }

 

        g_form.setReadOnly('environment_owner', true);

 

        setTimeout(function() {
            g_form.setMandatory('environment_owner', true);
        }, 100);

 

    });

 

}