Name
sn_hr_mobile.MobileInputFormScreenAndSignatureMigrationTools
Description
No description available
Script
var MobileInputFormScreenAndSignatureMigrationTools = Class.create();
MobileInputFormScreenAndSignatureMigrationTools.prototype = {
TABLE: {
SYS_SG_BUTTON_INSTANCE: "sys_sg_button_instance",
SYS_SG_UI_PARAMETER: "sys_sg_ui_parameter",
SYS_SG_ITEM_PARAMETER: "sys_sg_item_parameter",
SYS_SG_ACTION_PARAM_MAP: "sys_sg_action_param_map"
},
FIELD: {
ACTIVE: "active",
PARAMETER_TYPE: "parameter_type",
BUTTON: "button",
PARENT_TABLE: "parent_table",
PARENT: "parent"
},
SYS_SG_BUTTON_INSTANCE_MAP: {
"a7311f7273bb23005788e1e54cf6a74f": {
"new_instance": "79c25256eb111110ec17bed059522802",
"label": "Approve & Comment",
"parent": "2723bab2737b23005788e1e54cf6a73f"
},
"2181411d730c33005788e1e54cf6a781": {
"new_instance": "ec48d296eb111110ec17bed059522848",
"label": "Accept & Comment",
"parent": "9e5e9595733323005788e1e54cf6a761"
},
"caeacfbe737b23005788e1e54cf6a738": {
"new_instance": "2d8a92dbb8515110f8777f6a2d15cc99",
"label": "Reject",
"parent": "2723bab2737b23005788e1e54cf6a73f"
},
"7631cdd9730c33005788e1e54cf6a724": {
"new_instance": "9f48da5bb8515110f8777f6a2d15cc0b",
"label": "Reject",
"parent": "9e5e9595733323005788e1e54cf6a761"
},
"2c487d66730300105788e1e54cf6a7b4": {
"new_instance": "8fe21ed3b8515110f8777f6a2d15cc92",
"label": "Reject resolution",
"parent": "a2d674e373b200105788e1e54cf6a709"
},
"978043f2730300105788e1e54cf6a7c8": {
"new_instance": "ff055297b8515110f8777f6a2d15cc06",
"label": "Reject resolution",
"parent": "67a27c2373b200105788e1e54cf6a7f5"
},
"741e3cae53c720101fb2ddeeff7b12cf": {
"new_instance": "bd5a0c306b59111024ca2421ee44af93",
"label": "Add a delegate",
"parent": "f45e9242536723000ad0ddeeff7b12fe"
},
"01eae316534720101fb2ddeeff7b1256": {
"new_instance": "a953c9286bd5111024ca2421ee44aff0",
"label": "Add a delegate",
"parent": "270ab11f53722010d493ddeeff7b1249"
},
"2c36a24ae7832010809a268b03f6a91b": {
"new_instance": "aa0405686bd5111024ca2421ee44af9d",
"label": "Add a delegate",
"parent": "17c0a8be53ab23000ad0ddeeff7b12ad"
},
"32e827d2534720101fb2ddeeff7b126c": {
"new_instance": "6ea48d686bd5111024ca2421ee44af21",
"label": "Add a delegate",
"parent": "0a07e05553ac33004d1dddeeff7b12c8"
},
"6ec8e3d2534720101fb2ddeeff7b1244": {
"new_instance": "fad441a86bd5111024ca2421ee44afd2",
"label": "Add a delegate",
"parent": "9208a08177bb23005c4204389a1061e5"
},
"7938a392534720101fb2ddeeff7b1217": {
"new_instance": "d50505a86bd5111024ca2421ee44af94",
"label": "Add a delegate",
"parent": "024760c1537723004d1dddeeff7b12b0"
},
"a859e7d2534720101fb2ddeeff7b121e": {
"new_instance": "af5585a86bd5111024ca2421ee44af42",
"label": "Add a delegate",
"parent": "99760a15737723002204e2596bf6a711"
},
"bb1967d2534720101fb2ddeeff7b120d": {
"new_instance": "ed85c9a86bd5111024ca2421ee44af89",
"label": "Add a delegate",
"parent": "989ea9a453113300ea67ddeeff7b12da"
},
"c3b9abd2534720101fb2ddeeff7b12a5": {
"new_instance": "57a54da86bd5111024ca2421ee44afd2",
"label": "Add a delegate",
"parent": "8e518987532323000ad0ddeeff7b120a"
},
"ca39e7d2534720101fb2ddeeff7b1218": {
"new_instance": "ddd5cda86bd5111024ca2421ee44afeb",
"label": "Add a delegate",
"parent": "f9836507732323005788e1e54cf6a7cb"
},
"ded92fd2534720101fb2ddeeff7b12ba": {
"new_instance": "c7f581e86bd5111024ca2421ee44af38",
"label": "Add a delegate",
"parent": "0e060615737723002204e2596bf6a7ae"
},
"e93622a8532320101fb2ddeeff7b128e": {
"new_instance": "5326c1e86bd5111024ca2421ee44af57",
"label": "Add a delegate",
"parent": "a3d8a98653a323000ad0ddeeff7b127b"
}, // signature buttons
"cd16041a530833004d1dddeeff7b12d4": { // Do e-signature (old) for managed document
"new_instance": "4e8adf15eb031110c3fc2c148f5228eb",
"label": "Sign",
"parent": "163a0a95737723002204e2596bf6a7ee"
},
"a0910b9d53193300ea67ddeeff7b12f6": { // Do e-signature(old) for HR template
"new_instance": "220ad715eb031110c3fc2c148f5228d8",
"label": "Sign",
"parent": "687ee5a453113300ea67ddeeff7b12dd"
},
"8e4238dd53ac33004d1dddeeff7b129b": { // Do e-signature(old) for HR template
"new_instance": "75e95715eb031110c3fc2c148f52289a",
"label": "Sign",
"parent": "6987685553ac33004d1dddeeff7b1246"
},
"30775bf5536033004d1dddeeff7b12ac": { // Do e-signature(new) for knowledge article
"new_instance": "5e3b2607eb321110c3fc2c148f52286f",
"label": "Sign",
"parent": "a828e4c1537723004d1dddeeff7b12a0"
},
"559e15d153a073004d1dddeeff7b12f6": { // Do e-signature(new) for managed document
"new_instance": "067c1ea9ebb21110c3fc2c148f5228b9",
"label": "Sign",
"parent": "163a0a95737723002204e2596bf6a7ee"
},
"6118f555532033004d1dddeeff7b129a": { // Do e-signature(new) for HR template
"new_instance": "1343a51deb721110c3fc2c148f5228f1",
"label": "Sign",
"parent": "6987685553ac33004d1dddeeff7b1246"
},
"2aa18b9d53193300ea67ddeeff7b1246": { // Do e-signature(new) for HR template
"new_instance": "4de83095ebb21110c3fc2c148f5228e9",
"label": "Sign",
"parent": "687ee5a453113300ea67ddeeff7b12dd"
}
},
initialize: function() {
this.mobileUtahUpgradeCommonTool = new sn_hr_mobile.MobileUtahUpgradeCommonTools();
},
cleanUpgrade: function() {
this.cleanUpgradeButtonInstances(this.SYS_SG_BUTTON_INSTANCE_MAP);
},
cleanUpgradeButtonInstances: function(instanceMap) {
for (var oldInstance in instanceMap) {
if (gs.nil(instanceMap[oldInstance].new_instance)) {
gs.info("MobileInputFormScreenAndSignatureMigrationTools: cleanUpgrade: Skipping upgrade for {0} as no new sys_sg_button_instance mapped", oldInstance);
} else {
var oldInstanceGr = this.mobileUtahUpgradeCommonTool.getGlideRecord(this.TABLE.SYS_SG_BUTTON_INSTANCE, oldInstance);
var newInstanceGr = this.mobileUtahUpgradeCommonTool.getGlideRecord(this.TABLE.SYS_SG_BUTTON_INSTANCE, instanceMap[oldInstance].new_instance);
if (!newInstanceGr || !newInstanceGr.isValidRecord()) {
gs.info("MobileInputFormScreenAndSignatureMigrationTools: cleanUpgrade: Skipping upgrade as new sys_sg_button_instance Record {0} not found", newInstanceGr.getUniqueValue());
} else if (!oldInstanceGr || !oldInstanceGr.isValidRecord()) {
gs.info("MobileInputFormScreenAndSignatureMigrationTools: cleanUpgrade: Skipping upgrade as sys_sg_button_instance Record {0} not found", oldInstance);
} else if (this.isButtonInstanceFlowCustom(oldInstanceGr)) {
this.deActivateRecord(newInstanceGr);
} else {
this.deActivateRecord(oldInstanceGr);
}
}
}
},
isButtonInstanceFlowCustom: function(buttonInstanceGr) {
if (!this.mobileUtahUpgradeCommonTool.isRecordCustomized(buttonInstanceGr.getValue("sys_update_name"))) {
var buttonGr = buttonInstanceGr.button.getRefRecord();
if (!buttonGr || !buttonGr.isValidRecord()) {
gs.info("MobileInputFormScreenAndSignatureMigrationTools: isButtonInstanceFlowCustom: Skipping upgrade because sys_sg_button Record for instance {0} not found", buttonInstanceGr.getUniqueValue);
return true;
}
if (!this.mobileUtahUpgradeCommonTool.isRecordCustomized(buttonGr.getValue("sys_update_name"))) {
var actionItemGr = buttonGr.write_back_action_item.getRefRecord();
if (!actionItemGr || !actionItemGr.isValidRecord()) {
gs.info("MobileInputFormScreenAndSignatureMigrationTools: isButtonInstanceFlowCustom: Skipping upgrade because sys_sg_action_item Record for instance {0} not found", buttonInstanceGr.getUniqueValue);
return true;
}
if (!this.mobileUtahUpgradeCommonTool.isRecordCustomized(actionItemGr.getValue("sys_update_name"))) {
return this.hasCustomizedUIParam(buttonGr) || this.hasCustomizedItemParam(actionItemGr) || this.hasCustomizedActionParamMap(buttonGr);
}
}
}
return true;
},
hasCustomizedUIParam: function(buttonGr) {
var gr = new GlideRecord(this.TABLE.SYS_SG_UI_PARAMETER);
gr.addQuery(this.FIELD.PARAMETER_TYPE, "button");
gr.addQuery(this.FIELD.BUTTON, buttonGr.getUniqueValue());
gr.query();
while (gr.next()) {
if (this.mobileUtahUpgradeCommonTool.isRecordCustomized(gr.getValue("sys_update_name")))
return true;
}
return false;
},
hasCustomizedItemParam: function(actionItemGr) {
var gr = new GlideRecord(this.TABLE.SYS_SG_ITEM_PARAMETER);
gr.addQuery(this.FIELD.PARENT_TABLE, actionItemGr.getTableName());
gr.addQuery(this.FIELD.PARENT, actionItemGr.getUniqueValue());
gr.query();
while (gr.next()) {
if (this.mobileUtahUpgradeCommonTool.isRecordCustomized(gr.getValue("sys_update_name")))
return true;
}
return false;
},
hasCustomizedActionParamMap: function(buttonGr) {
var gr = new GlideRecord(this.TABLE.SYS_SG_ACTION_PARAM_MAP);
gr.addQuery(this.FIELD.BUTTON, buttonGr.getUniqueValue());
gr.query();
while (gr.next()) {
if (this.mobileUtahUpgradeCommonTool.isRecordCustomized(gr.getValue("sys_update_name")))
return true;
}
return false;
},
deActivateRecord: function(gr) {
if (gr && gr.isValidRecord() && gr.getValue(this.FIELD.ACTIVE) == 1 && !this.mobileUtahUpgradeCommonTool.isRecordCustomized(gr.getValue("sys_update_name"))) {
gr.setValue(this.FIELD.ACTIVE, 0);
gr.update();
gs.info("MobileInputFormScreenAndSignatureMigrationTools: deActivateRecord: sys_sg_button_instance Record {0} deactivated", gr.getUniqueValue());
} else {
gs.info("MobileInputFormScreenAndSignatureMigrationTools: deActivateRecord: Skipped deactivation because sys_sg_button_instance Record {0} not found or already deactivated", gr.getUniqueValue());
}
},
type: 'MobileInputFormScreenAndSignatureMigrationTools'
};
Sys ID
732dce4f53cb111024caddeeff7b1271