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

On change of requested for change check group member and remove other variable choice value

vinnus
Tera Contributor

If the requested for user is a member of a group then only show one choice value of variable if not remove the choice.

My script working on change but needs do the same onload as well because we setting requested for is current logged in user by default it is not working for onload the requested for already sets to current logged in user.

On change client script:

 

function onChange(control, oldValue, newValue, isLoading) {
    if ( newValue == '') {
        return;
    }
    var ga = new GlideAjax('x_jj_dfit.DFITUtilsAjax');
    ga.addParam('sysparm_name', 'isMemberOfMockclose');
    ga.addParam('sysparm_user', newValue);
    //ga.addParam('sysparm_user', oldValue);
    ga.getXMLAnswer(processResponse);

    function processResponse(response) {
   //var Usr = g_form.getValue('requested_for_dti');
   
if (response == 'true') {
    g_form.addOption('planning_version', 'SIM-ACT', 'Mock Close (Actuals)');
    } else {  
     g_form.removeOption('planning_version', 'SIM-ACT','Mock Close (Actuals)');
   
    }
    }
  }
 
Script include:

    isMemberOfMockclose: function() {
        // check if user is a member of the group
        var group = gs.getProperty('x_jj_dfit.SMF.Mock.Close.Non-agents');
        var user = this.getParameter("sysparm_user");
        //var group = this.getParameter("sysparm_grp");
        var gr = new GlideRecord('sys_user_grmember');
        gr.addQuery('user', user);
        gr.addQuery('group', group);
        gr.query();
        if (gr.next()) {
            return true;
        } else {
            return false;
        }
 
1 REPLY 1

vinnus
Tera Contributor

vinnus_0-1720416716864.png