Name
global.ScrumAjaxAddReleaseTeamMembersProcessor
Description
ScrumAjaxAddReleaseTeamMembersProcessor
Script
var ScrumAjaxAddReleaseTeamMembersProcessor = Class.create();
ScrumAjaxAddReleaseTeamMembersProcessor.prototype = Object.extendsObject(AbstractAjaxProcessor, {
insertTeamMembers: function (arrUserSysIds, strReleaseTeamSysId) {
var recScrumReleaseTeamMember = new GlideRecord ("scrum_pp_release_team_member");
for (var nSlot = 0; nSlot < arrUserSysIds.length; ++nSlot) {
recScrumReleaseTeamMember.initialize ();
recScrumReleaseTeamMember.name = arrUserSysIds[nSlot];
recScrumReleaseTeamMember.default_sprint_points = 0;
recScrumReleaseTeamMember.team = strReleaseTeamSysId;
recScrumReleaseTeamMember.generated_by = "System";
recScrumReleaseTeamMember.sys_domain = this.getTeamsDomain(strReleaseTeamSysId);
recScrumReleaseTeamMember.insert ();
}
},
getTeamsDomain: function (strReleaseTeamSysId) {
var recScrumReleaseTeam = new GlideRecord("scrum_pp_team");
recScrumReleaseTeam.get(strReleaseTeamSysId);
return recScrumReleaseTeam.getValue('sys_domain');
},
getUserSysIdsFromGroup: function (strGroupSysId) {
var arrUserSysIds = [];
var recSysUserGrMember = new GlideRecord("sys_user_grmember");
recSysUserGrMember.addQuery("group", strGroupSysId);
recSysUserGrMember.query();
while (recSysUserGrMember.next()) {
arrUserSysIds.push (recSysUserGrMember.user + "");
}
return arrUserSysIds;
},
getUserSysIdsFromTeam: function (strReleaseTeamSysId) {
var arrUserSysIds = [];
var recScrumReleaseTeamMember = new GlideRecord ("scrum_pp_release_team_member");
recScrumReleaseTeamMember.addQuery ("team", strReleaseTeamSysId);
recScrumReleaseTeamMember.query ();
while (recScrumReleaseTeamMember.next ()) {
arrUserSysIds.push (recScrumReleaseTeamMember.name + "");
}
return arrUserSysIds;
},
createReleaseTeamMembers: function () {
var strTeamSysId = this.getParameter ("sysparm_sys_id");
var arrGroupSysIds = this.getParameter("sysparm_groups").split(",");
var arrUserSysIdsFromTeam = this.getUserSysIdsFromTeam (strTeamSysId);
for (var nSlot = 0; nSlot < arrGroupSysIds.length; ++nSlot) {
var strGroupSysId = arrGroupSysIds[nSlot];
var arrUserSysIdsFromGroup = this.getUserSysIdsFromGroup (strGroupSysId);
var arrUserSysIds = new ArrayUtil().diff (arrUserSysIdsFromGroup, arrUserSysIdsFromTeam);
this.insertTeamMembers (arrUserSysIds, strTeamSysId);
}
},
/**
* Prevent public access to this processor
*/
isPublic: function() {
return false;
}
});
Sys ID
5f6bd922ef202000a7450fa3f8225680