Name
global.CloneCollisionHelper
Description
Helper methods for Change Collision detection
Script
var CloneCollisionHelper = Class.create();
/**
* Gets any conflicts that overlap the period defined by startDate and endDate
* @instanceId
* @param startDate
* @param endDate
* @return <object> conflicts
*/
CloneCollisionHelper.getConflictsByDate = function(instanceId, startDate, endDate) {
var dcConflicts = {};
var dcCalendarUtil = new DCCalendarRestEndPoint();
//Check given dates are null or end date is greater than start date.
if (!gs.nil(startDate) && !gs.nil(endDate)) {
var startDateTimeInUTC = new GlideDateTime(startDate);
var endDateTimeInUTC = new GlideDateTime(endDate);
if (startDateTimeInUTC.after(endDateTimeInUTC))
return {
status: "error",
message: "Given startDate : " + startDate + " is after endDate : " + endDate
};
} else {
return {
status: "error",
message: "Given startDate : " + startDate + " or endDate is empty : " + endDate
};
}
var result = dcCalendarUtil.requestToGetConflictsRest(startDateTimeInUTC, endDateTimeInUTC, instanceId);
if ((!gs.nil(result.stcdResult.status)) && result.stcdResult.status == "error") {
dcConflicts.status = result.stcdResult.status;
dcConflicts.message = result.stcdResult.errorMessage;
} else {
dcConflicts.blackoutConflicts = result.stcdResult.blackoutConflicts;
dcConflicts.maintenanceConflicts = result.stcdResult.maintenanceConflicts;
dcConflicts.status = result.stcdResult.status;
}
return dcConflicts;
};
Sys ID
b717b2c0898691d0c377442b9a194a0a