Client Script


<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><

Make all fields read-only

function onLoad() {

    var fields = g_form.getEditableFields();    

    var skippedFields = [

        'sys_created_on',

        'sys_created_by',

        'sys_updated_on',

        'sys_updated_by',

    ];

    for (var i = 0; i < fields.length; i++) {

        var field = fields[i];

        // Skip fields in the designated array

        if (skippedFields.indexOf(field) !== -1) {

            continue;

        }

        g_form.setMandatory(fields[i], false);

        g_form.setReadOnly(fields[i], true);

    }

}


The user wants to hide the checkbox when a new record form gets loaded (Before creating the record in the database)

function onLoad() {

   if (g_form.isNewRecord()) {

        g_form.setVisible('u_aml_kyc_compliance_review', false);

                }

}

###################################################################################

The target Date Shouldn't be greater than 3Months

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

    if (isLoading || newValue === '') {

        return;

    }

   

    var logged = g_user.userID;

    var rel = new GlideAjax("sn_compliance.ORM_SOPClientCalUtility");

    rel.addParam('sysparm_name', 'checkORMadmin');

    rel.addParam('sysparm_user', logged);

    rel.getXML(getUser);

 

    function getUser(response) {

        var answer = response.responseXML.documentElement.getAttribute("answer");

        if (answer == 'false' || answer == false) {

             var gdt = new Date(newValue);

            var currentDate = new Date();

            currentDate.setDate(currentDate.getDate() + 91);

            if (gdt > currentDate) {

                alert("You cannot select the date after 3 months");

                g_form.clearValue('u_target_date');

            }

       

        }

    }

}

  

 

function onCellEdit(sysIDs, table, oldValues, newValue, callback) {

    var saveAndClose = true;

    var logged = g_user.userID;

    //g_form.addInfoMessage("User" +logged);

    var rel = new GlideAjax("sn_compliance.ORM_SOPClientCalUtility");

    rel.addParam('sysparm_name', 'checkORMadmin');

    rel.addParam('sysparm_user', logged);

    rel.getXML(getUser);

 

    function getUser(response) {

        var answer = response.responseXML.documentElement.getAttribute("answer");

 

        if (answer == 'false' || answer == false) {

            var gdt = new Date(newValue);

            var currentDate = new Date();

            currentDate.setDate(currentDate.getDate() + 91);

            if (gdt > currentDate) {

                alert("You cannot select the date after 3 months");

                saveAndClose = false;

            } else {

                callback(saveAndClose);

            }

        }

    }

}

 

 

checkORMadmin: function() {

        var user = this.getParameter('sysparm_user');

        //   var grp = this.getParameter('sysparm_grp');

        var gr = new GlideRecord('sys_user_grmember');

        gr.addQuery('user', user);

        gr.addQuery('group', 'ORM Admin');

        gr.query();

        if (gr.next()) {

            return true;

        }

        return false;

    },

###################################################################################

Restrict to change the value from the list view

function onCellEdit(sysIDs, table, oldValues, newValue, callback) {

    var saveAndClose = true;

    alert("You cannot change the Change of Type value from List View ");

    saveAndClose = false;

}

##########################################################################

Select any date after 5 days from the current date

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

    if (isLoading || newValue === '') {

        return;

    }

    var ga_busRev = new GlideAjax('sn_compliance.date_validation');

    ga_busRev.addParam('sysparm_name', 'getFiveDaysAhead');

    ga_busRev.addParam('sysparm_businessReviewDate', newValue);

    ga_busRev.getXML(getResponse); 

    function getResponse(response) {

        var answer = response.responseXML.documentElement.getAttribute("answer");   

    if (answer == "no") {

        g_form.clearValue('u_business_date');

        g_form.showFieldMsg('u_business_date', 'select any date after 5 days', 'error');

    }

}} 

Script Include:

getFiveDaysAhead: function() {

                                var todayDate = new GlideDate();

                                todayDate.addDaysLocalTime(5);

                                var businessReviewDate = this.getParameter('sysparm_businessReviewDate');

                                var _selectedValue = new GlideDate();

                                _selectedValue.setDisplayValue(businessReviewDate);

                                _selectedValue = _selectedValue.getByFormat("yyyy-MM-dd");

                                if (_selectedValue > todayDate) {

                                                return 'yes';

                                } else {

                                                return 'no';

                                } 

                },

###################################################################################

Auto-populate multiple fields based on the selected reference field

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

var ga = new GlideAjax('sn_compliance.ORM_SOPClientCalUtility');

ga.addParam('sysparm_name', 'autoPopulateFieldsEntity');

ga.addParam('sysparm_entityId',newValue);   

ga.getXML(setResponseEntity);

function setResponseEntity(response) {

var answer = response.responseXML.documentElement.getAttribute("answer");    

var entityInfo=JSON.parse(answer);

g_form.setValue("u_sop_borm",entityInfo.borm);

g_form.setValue("u_sop_additional_borm",entityInfo.addBorm);

g_form.setValue("u_cxo",entityInfo.cxo);

g_form.setValue("u_business_unit",entityInfo.business_unit);

g_form.setValue("u_business_unit_head",entityInfo.bu_head);

g_form.setValue("u_sop_dept_head",entityInfo.dept_head);

g_form.setValue("u_l3",entityInfo.l3);

}


autoPopulateFieldsEntity: function() {

        var entityId = this.getParameter('sysparm_entityId');

 

        gs.info("obj11 " + entityId);

        var grEntity = new GlideRecord('sn_grc_profile');

        grEntity.addQuery("sys_id", entityId);

        grEntity.query();

        if (grEntity.next()) {

            var obj = {};

            obj.borm = grEntity.u_department.u_borm.toString();

            obj.addBorm = grEntity.u_department.u_additional_borms.toString();

            obj.cxo = grEntity.u_department.u_cxo.toString();

            obj.business_unit = grEntity.u_department.business_unit.toString();

            obj.bu_head = grEntity.u_department.business_unit.bu_head.toString();

            obj.dept_head = grEntity.u_department.dept_head.toString();

                                        obj.l3 = grEntity.u_parent.toString();

            gs.info("obj " + obj);

            return JSON.stringify(obj);

        }

 

    },

###################################################################################

Set Model Sub Category (OnChange)


    g_form.clearOptions('u_model_sub_category');

    if (newValue == "81feb9c137101000deeabfc8bcbe5dc4") { //Laptop

        g_form.clearOptions('u_model_sub_category');

        g_form.addOption('u_model_sub_category', 'desktop', 'Desktop');

        g_form.addOption('u_model_sub_category', 'laptop', 'Laptop');

       }


###################################################################################

Field Color Change for dropdown

function onLoad() {

if (g_form.getValue('u_overall_risk_rating') == 2) { var element = g_form.getElement('u_overall_risk_rating'); element.style.backgroundColor = "yellow"; } else if (g_form.getValue('u_overall_risk_rating') == 3) { var element1 = g_form.getElement('u_overall_risk_rating'); element1.style.backgroundColor = "orange"; } else { var element4 = g_form.getElement('u_overall_risk_rating'); element4.style.backgroundColor = "green"; } }

###################################################################################

Field Color Change for Reference Field

function onChange(control, oldValue, newValue, isLoading) {
    var callerLabel = $('label.incident.caller_id');
    alert(callerLabel);
    var callerField = $('sys_display.incident.caller_id');
    alert(callerField);
    if (!callerLabel || !callerField)
        return; 

    if (!newValue) {
        callerField.style.backgroundColor = "";
        g_form.removeDecoration('caller_id', 'icon-success-circle', 'status', 'color-green');
        g_form.removeDecoration('caller_id', 'icon-error-circle', 'status', 'color-red');
        return;
    }
    g_form.getReference('caller_id', vipCallerCallback);
}

 

function vipCallerCallback(caller) {
    var callerLabel = $('label.incident.caller_id').down('label');
    var callerField = $('sys_display.incident.caller_id');
    if (!callerLabel || !callerField)
        return;
      if (caller.active == 'true') {
        // callerField.setstyle({color: "green"});
        callerField.style.backgroundColor = "lightgreen";
        callerField.style.fontWeight = 'bold';
        //    g_form.addDecoration('contact', 'icon-required', 'status', 'color-red');
        g_form.addDecoration('caller_id', 'icon-success-circle', 'status', 'color-green');
        g_form.removeDecoration('caller_id', 'icon-error-circle', 'status', 'color-red');

     } else if (caller.active == 'false') {

      callerField.style.backgroundColor = "red";

       callerField.style.fontWeight = 'bold';

        //  g_form.addDecoration('contact', 'icon-required', 'status', 'color-red');
        g_form.addDecoration('caller_id', 'icon-error-circle', 'status', 'color-red');
        g_form.removeDecoration('caller_id', 'icon-success-circle', 'status', 'color-green');
    }
}

###################################################################################


Comments

Popular posts from this blog

Interview Questions

Exam Dumps