Name

global.ScrumAjaxAddReleaseTeamMembers2Processor

Description

ScrumAjaxAddReleaseTeamMembers2Processor

Script

var ScrumAjaxAddReleaseTeamMembers2Processor = Class.create();

ScrumAjaxAddReleaseTeamMembers2Processor.prototype = Object.extendsObject(AbstractAjaxProcessor, {

 insertTeamMembers: function (fromTeamSysId, intoTeamSysId) {
    //gs.log ("[DEBUG] fromTeamSysId = " + fromTeamSysId);
    //gs.log ("[DEBUG] intoTeamSysId = " + intoTeamSysId);

    var recIntoTeamMember = new GlideRecord ("scrum_pp_release_team_member");
    var recFromTeamMember = new GlideRecord ("scrum_pp_release_team_member");
    recFromTeamMember.addQuery ("team", fromTeamSysId);
    recFromTeamMember.query ();

    var mapExclusions = this.getExclusions (intoTeamSysId);
    while (recFromTeamMember.next ()) {
       if (!mapExclusions[recFromTeamMember.name.sys_id + ""]) {
          //gs.log ("[DEBUG] Adding = " + recFromTeamMember.name);
          recIntoTeamMember.initialize ();
          recIntoTeamMember.name = recFromTeamMember.name;
          recIntoTeamMember.default_sprint_points = recFromTeamMember.default_sprint_points;
          recIntoTeamMember.team = intoTeamSysId;
          recIntoTeamMember.generated_by = recFromTeamMember.generated_by;
          recIntoTeamMember.sys_domain = this.getTeamsDomain(intoTeamSysId);
          recIntoTeamMember.insert ();
       }
    }
 },

 getTeamsDomain: function (strReleaseTeamSysId) {
    var recScrumReleaseTeam = new GlideRecord("scrum_pp_team");
    recScrumReleaseTeam.get(strReleaseTeamSysId);
    return recScrumReleaseTeam.getValue('sys_domain');
 },

 createReleaseTeamMembers: function () {
    var strIntoTeamSysId = this.getParameter ("sysparm_sys_id");
    var arrFromTeamSysId = this.getParameter("sysparm_teams").split(",");
    for (var nSlot = 0; nSlot < arrFromTeamSysId.length; ++nSlot) {
       this.insertTeamMembers (arrFromTeamSysId[nSlot], strIntoTeamSysId);
    }
 },

 getExclusions: function (intoTeamSysId) {
    var mapExclude = {};
    var recTeamMember = new GlideRecord ("scrum_pp_release_team_member");
    recTeamMember.addQuery ("team", intoTeamSysId);
    recTeamMember.query ();
    while (recTeamMember.next ()) {
       var strSysId = recTeamMember.name.sys_id + "";
       mapExclude[strSysId] = strSysId;
    }
    return mapExclude;
 },
  
  /**
   * Prevent public access to this processor
   */
  isPublic: function() {
  	return false;
  }

});

Sys ID

d8fc3f79ef81200099620fa3f8225642

Offical Documentation

Official Docs: