Name
global.ProblemUtilsClientSNC
Description
No description available
Script
var ProblemUtilsClientSNC = Class.create();
ProblemUtilsClientSNC.prototype = Object.extendsObject(AbstractAjaxProcessor, {
submitForm: function() {
var tableName = this.getParameter('sysparm_record_type');
var pTaskExts = new TableUtils("problem_task").getAllExtensions();
if(tableName == 'problem' || pTaskExts.indexOf(tableName) !== -1) {
var sys_id = this.getParameter('sysparm_sys_id');
var fieldsToBeUpdated = JSON.parse(this.getParameter('sysparm_fields'));
var recordGr = new GlideRecord(tableName);
recordGr.get(sys_id);
if (recordGr.isValidRecord() && recordGr.canWrite()) {
for (var field in fieldsToBeUpdated) {
recordGr[field + ""] = fieldsToBeUpdated[field];
}
if (recordGr.update())
return true;
}
return false;
}
else {
gs.error("Invalid Record Type");
return false;
}
},
isDisplayBackgroundMoveMessage: function() {
var problemUtil = new ProblemV2Util();
var recordsToMove = gs.getProperty("problem.duplicate.records_to_move");
var recordsMap = problemUtil.dotCommaToMap(recordsToMove.split(","));
var record;
var gr;
for (record in recordsMap) {
gr = new GlideRecord(record);
if(gr.isValid()) {
gr.addQuery(recordsMap[record], this.getParameter('sysparm_srcPrbSysId'));
gr.setLimit(1);
gr.query();
// Even if one record exist with parent as the Source Problem return true.
if (gr.hasNext())
return true;
}
}
return false;
},
isDisplayWarningTaskMove: function() {
var recordsToMove = gs.getProperty("problem.duplicate.records_to_move");
// If Moving of PTASKs is specified
if (recordsToMove && recordsToMove.split(",").indexOf('problem_task.problem') !== -1) {
// If Cascade closure of PTASK is enabled
if (gs.getProperty("problem.closed.cancel_open_tasks") === 'true') {
// If The target PRB is Closed
var targetProbRecord = new GlideRecord('problem');
targetProbRecord.get(this.getParameter('sysparm_trgtPrbSysId'));
// If target PRB is Closed
if (targetProbRecord.isValidRecord() && targetProbRecord.state + "" === ProblemState.STATES.CLOSED) {
var grPTask = new GlideRecord('problem_task');
if (grPTask.isValid()) {
grPTask.addQuery('problem', this.getParameter('sysparm_srcPrbSysId'));
grPTask.query();
while (grPTask.hasNext()) {
grPTask.next();
// If source Problem's Ptask are OPEN
if (grPTask.state != ProblemTaskState.States.CLOSED) {
return true;
}
}
}
}
}
}
// If any of 4 conditions are not met simple return false.
return false;
},
isDisplayReassesInfoForClosedPrb: function() {
var ptaskGr = new GlideRecord("problem_task");
if (ptaskGr.get(this.getParameter('sysparm_ptaskSysId'))) {
var ptaskStateUtil = new ProblemTaskStateUtils();
return (ptaskStateUtil.canReassessPtask(ptaskGr) && !ptaskStateUtil.canReassesPtaskForClosedPrb(ptaskGr));
}
return false;
},
type: 'ProblemUtilsClientSNC'
});
Sys ID
76bf6f7487a12300c386d61e36cb0b2d