Name
global.ConsoleDomainHelper
Description
No description available
Script
var ConsoleDomainHelper = Class.create();
ConsoleDomainHelper.prototype = {
initialize: function() {
},
isSysDefaults: function(elementName) {
if(elementName.startsWith("sys_"))
return true;
var defaults = ['number'];
return defaults.indexOf(elementName) > -1;
},
handleDisplayColumnOverride: function(displayColumn) {
var consoleId = displayColumn.pm_console;
var consoleTableRecord = new GlideRecord('pm_console_table');
consoleTableRecord.addQuery('pm_console', consoleId);
consoleTableRecord.query();
while(consoleTableRecord.next()) {
var consoleColumnRecord = new GlideRecord('pm_console_column');
consoleColumnRecord.addQuery('pm_console_table',consoleTableRecord.sys_id);
consoleColumnRecord.addQuery('pm_console_display_column',displayColumn.sys_overrides);
consoleColumnRecord.query();
while(consoleColumnRecord.next()) {
var newConsoleColumnRecord = new GlideRecord('pm_console_column');
newConsoleColumnRecord.initialize();
var skipFields = ['pm_console_display_column'];
this.cloneRecord(consoleColumnRecord, newConsoleColumnRecord, skipFields);
newConsoleColumnRecord.pm_console_display_column = displayColumn.sys_id;
var newConsoleColumnId = newConsoleColumnRecord.insert();
if(consoleColumnRecord.getValue("advanced") == 'true' || consoleColumnRecord.getValue("advanced") == '1')
this.createConsoleAdvancedColumn(consoleColumnRecord.sys_id, newConsoleColumnId);
}
}
},
handleConsoleColumnOverride: function(consoleColumn) {
if(consoleColumn.getValue("advanced") == 'true' || consoleColumn.getValue("advanced") == '1')
this.createConsoleAdvancedColumn(consoleColumn.sys_overrides, consoleColumn.sys_id);
},
isColumnAggregate: function(consoleColumnGr){
var gr,table,type,currencyField = true;
var consoleColumn = new GlideRecord('pm_console_column');
consoleColumn.addQuery('pm_console_display_column',consoleColumnGr.getValue('pm_console_display_column'));
consoleColumn.query();
while(consoleColumn.next()){
table = consoleColumn.getValue('table');
if(table){
gr = new GlideRecord(table);
type = gr.getElement(consoleColumn.getValue('column')).getED().getInternalType();
if(type != 'currency' && type != 'decimal' && type != 'number'){
currencyField = false;
break;
}
}
}
return currencyField;
},
createConsoleAdvancedColumn: function(consoleColumnId, newConsoleColumnId) {
var consoleAdvancedColumn = new GlideRecord('pm_console_column_advanced');
consoleAdvancedColumn.get('pm_console_column',consoleColumnId);
while(consoleAdvancedColumn.isValidRecord()) {
var newAdvancedConsoleColumn = new GlideRecord('pm_console_column_advanced');
newAdvancedConsoleColumn.initialize();
var skipFields = ['pm_console_column'];
this.cloneRecord(consoleAdvancedColumn, newAdvancedConsoleColumn, skipFields);
newAdvancedConsoleColumn.pm_console_column = newConsoleColumnId;
return newAdvancedConsoleColumn.insert();
}
},
cloneRecord: function(record, cloneRecord, skipFields) {
var elements = record.getElements();
for (var i = 0; i < elements.size(); ++i) {
var element = elements.get(i);
var elementName = element.getName();
if(!this.isSysDefaults(elementName) && skipFields.indexOf(elementName) == -1) {
cloneRecord[elementName] = record.getValue(elementName);
}
}
return cloneRecord;
},
type: 'ConsoleDomainHelper'
};
Sys ID
71bf90ed0b223200a6acc93563673ae0