Name
sn_change_cab.CABAttendeeSNC
Description
ServiceNow logic for CAB Agenda Item
Script
var CABAttendeeSNC = Class.create();
CABAttendeeSNC.prototype = Object.extendsObject(sn_change_cab.CAB, {
joinedMeeting: function() {
if (!this._gr)
return;
// If it's already set, don't set it again.
if (this._gr.joined_at + "" !== "")
return;
this._gr.setValue("joined_at", new GlideDateTime());
this._gr.setValue("attendance", "attending");
},
updateAttendingForTasks: function(updates) {
if (!this._gr || !updates || updates.length == 0)
return;
var attendingForTasks = (this._gr.attending_for_tasks.nil() ? [] : this._gr.attending_for_tasks.split(","));
for (var i = 0; i < updates.length; i++) {
var action = updates[i].action;
var taskId = updates[i].taskId;
if (action == "add" && attendingForTasks.indexOf(taskId) < 0)
attendingForTasks.push(taskId);
else if (action == "remove") {
var j = attendingForTasks.indexOf(taskId);
if (j >= 0)
attendingForTasks.splice(j, 1);
}
}
this._gr.attending_for_tasks = attendingForTasks.join(",");
},
canBeDeleted: function() {
if (this._gr.getValue("reason") == CAB.REASON.ATTENDEE &&
this._gr.getValue("added") == "auto" &&
this._gr.attending_for_tasks.nil())
return true;
return false;
},
createCABDelegateNotifyEvent: function() {
if (!this._gr || !this._gr.getUniqueValue())
return;
gs.eventQueue("sn_change_cab.meeting.attendees.delegate", this._gr);
},
type: 'CABAttendeeSNC'
});
CABAttendeeSNC.newAttendee = function(user) {
var aGr = new GlideRecord(sn_change_cab.CAB.ATTENDEE);
// Check if we have a string (sys_id) or GlideRecord object
if (typeof user == "string")
aGr.attendee = user;
else if (user && typeof user.getRowCount == "function")
aGr.attendee = user.getUniqueValue();
return new sn_change_cab.CABAttendee(aGr);
};
Sys ID
f218bb64eb2022002a7a666cd206fee4