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