Name
sn_sow_on_call.OCEscalationPathUtilSOWSNC
Description
No description available
Script
var OCEscalationPathUtilSOWSNC = Class.create();
OCEscalationPathUtilSOWSNC.LOG_PROPERTY = 'com.snc.on_call_rotation.log.level';
OCEscalationPathUtilSOWSNC.prototype = {
initialize: function () {
this._log = new global.GSLog(OCEscalationPathUtilSOWSNC.LOG_PROPERTY, this.type);
global.OCEscalationPathUtil.prototype._getOnCallShiftDetails = OCEscalationPathUtilSOWSNC.methods._getOnCallShiftDetails.bind(this);
global.OCEscalationPathUtil.prototype._getGroupDetails = OCEscalationPathUtilSOWSNC.methods._getGroupDetails.bind(this);
this._escalationPathUtil = new global.OCEscalationPathUtil();
},
getOnCallEscalationShift: function(groupId, rotaId, gdt, escalationSetSysId, taskTable, taskSysId) {
var response = this._escalationPathUtil.getOnCallEscalationShift(groupId, rotaId, gdt, escalationSetSysId, taskTable, taskSysId);
var onCallRotation = new OnCallRotationSow();
var currentRota = response.curRotaDetails;
var request = {
'start': currentRota.startDisplayValue,
'end': currentRota.endDisplayValue
};
currentRota.formattedDateTime = {
"default": onCallRotation._getRotaDetailsMsg(request),
"humanized": onCallRotation._getRotaHumanizedDetailsMsg(request)
};
return response;
},
_buildDataModel: function(result, filter, groupId, rotaId) {
return this._escalationPathUtil._buildDataModel(result, filter, groupId, rotaId);
},
_toJS: function(gr, requiredFields, skipACL) {
return this._escalationPathUtil._toJS(gr, requiredFields, skipACL);
},
type: 'OCEscalationPathUtilSOWSNC'
};
OCEscalationPathUtilSOWSNC.methods = {
_getGroupDetails: function (groupId) {
if(global.JSUtil.nil(groupId))
return;
var gr = new GlideRecord('sys_user_group');
var groupDetails;
if(gr.get(groupId)); {
groupDetails = this._toJS(gr, ["name", "manager"], false);
var onCallRotation = new OnCallRotationSow();
var managerDetails = onCallRotation._getUsers([groupDetails.manager.value]);
groupDetails.manager.managerDetails = managerDetails[groupDetails.manager.value];
return groupDetails;
}
},
_getOnCallShiftDetails: function (groupId, rotaId, gdt, overlappingRotas) {
var ocRotation = new global.OCRotationV2();
var groupsData = ocRotation.getIndividualGroupData(groupId);
var onCallRotation = new OnCallRotationSow();
if (overlappingRotas)
onCallRotation.simulateEscalationToAllRotas(true);
var onCallMembersData = onCallRotation.processIndividualOCData(groupsData, gdt);
if (!onCallMembersData || (onCallMembersData.onCallData && onCallMembersData.onCallData.length == 0))
return [];
return this._buildDataModel(onCallMembersData, "all", groupId, rotaId);
}
};
Sys ID
7a39d97a007bb410f877f4fb60521b2d