Name

global.PortalBoardFactory

Description

No description available

Script

var PortalBoardFactory = Class.create();
PortalBoardFactory.prototype = {
  initialize: function() {
  },

  type: 'PortalBoardFactory'
};

PortalBoardFactory.getBoardsDetails = function(sysId) {
  var boardDetails = {};
  var board = new PortalBoard(sysId);
  if(board.isValid()){
  	boardDetails.entities = board.getEntities();
  	boardDetails.sys_id = sysId;
  	boardDetails.name = board.name();
  	boardDetails.owner = board.owner();
  	boardDetails.isOwner = board.owner() === gs.getUserID() || gs.hasRole('admin'),
  	boardDetails.preferences = board.getPreferences();
  	boardDetails.hasShared = board.hasShared();
  	/* Being used to get breakdown columns fp groups */
  	var timeFrame = JSON.parse((new SNC.ProjectFinancialsScriptable()).getBoardTimeFrame(sysId));
  	boardDetails.cost_plan_start_date = timeFrame.start;
  	boardDetails.cost_plan_end_date = timeFrame.end;
  	boardDetails.group_type = board.groupType();
  }
  return boardDetails;
}

PortalBoardFactory.getPreferences = function(sysId) {
  var preferences;
  var board = new PortalBoard(sysId);
  if(board.isValid()){
  	preferences = board.getPreferences();
  }
  return preferences;
} 

PortalBoardFactory.savePreferences = function(sysId, preferences) {
  var board = new PortalBoard(sysId);
  Object.keys(preferences).forEach(function(key){
  	board.setPreference(key, preferences[key]);
  });
  board.update();
}

Sys ID

b50ac32c937413003706dfa5e57ffbc0

Offical Documentation

Official Docs: