how can we set vip flag based on users band with out using vip check box on user field

Not applicable

Hello,

 

we have a requirement to set vip flag on caller field based on users band. on user table we have reference field band if users band is b or b+ then we have to set vip flag on incident caller field

i tried with the below script it is checking for users band and alert test 3 is populating but not setting the flag in incident caller field please help me to fix it.

 

client script

function onLoad() {
    var viuser = g_form.getValue('caller_id');
    //alert("employee"+user);
       
    var fBand = new GlideAjax('global.incidentvipcaller');
    fBand.addParam('sysparm_name', 'incvipBand');
    fBand.addParam('sysparm_val', viuser);
    fBand.getXML(getResponse);
}
 
function getResponse(response) {
    var answer = response.responseXML.documentElement.getAttribute('answer');
    alert('t2');
    if (answer.toLowerCase() == 'B' || answer.toLowerCase() == 'B+' || answer == 'B' || answer == 'B+') {
        alert("test3");
        if (document.documentElement.getAttribute('data-doctype') == 'true')
            alert('t4');
        var callerlabel = $('label.incident.caller_id').down('label');
        var callerfield = $('sys_display.incident.caller_id');
        var bgPosition = "95% 55%";
        bgPosition = "5% 45%";
        callerlabel.setStyle({
            backgroundImage: "url(images/icons/vip.gif)",
            backgroundRepeat: "no-repeat",
            backgroundPosition: bgPosition,
            backgroundSize: "20px",
            paddingLeft: '30px'
        });
        callerfield.setStyle({
            color: "red"
        });
    }
}

script include:_

var incidentvipcaller = Class.create();
incidentvipcaller.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
incvipBand : function(){
        var userId = this.getParameter('sysparm_val');
        var getUserBand = new GlideRecord('sys_user');
        getUserBand.addQuery('sys_id',userId);
        getUserBand.query();
        if(getUserBand.next())
            {
                return getUserBand.u_band.u_approval_level.toString();
            }
    },
    type: 'incidentvipcaller'
});