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
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
Post a Comment