Name
global.CustomConsoleAjax
Description
Ajax utility to create custom planned task consoles
Script
var CustomConsoleAjax = Class.create();
CustomConsoleAjax.prototype = Object.extendsObject(AbstractAjaxProcessor, {
createConsole: function() {
var table = this.getParameter('sysparm_table');
var filter = this.getParameter('sysparm_filter');
var filterName = this.getParameter('sysparm_filter_name');
var owner = gs.getUser().getID();
var gr = new GlideRecordSecure('planned_task_custom_console');
gr.addQuery('table', table);
if ( JSUtil.nil(filter) ) {
filter = this.correctEmptyFilter(filter, table);
gr.addQuery('filter',filter);
}
else
gr.addQuery('filter', filter);
gr.addQuery('owner', owner);
gr.query();
if ( gr.next() )
return gr.getValue('sys_id');
filter = this.correctEmptyFilter(filter, table);
gr.initialize();
var sourceTable = new GlideRecord(table);
gr.name = filterName || gs.getMessage("My Gantt");
gr.table = table;
gr.filter = filter;
gr.owner = owner;
var id = gr.insert();
return id;
},
editConsole : function() {
var sysId = this.getParameter('sysparm_sys_id');
var table = this.getParameter('sysparm_table');
var filter = this.getParameter('sysparm_filter');
filter = this.correctEmptyFilter(filter, table);
var filterName = this.getParameter('sysparm_filter_name');
var gr = new GlideRecordSecure('planned_task_custom_console');
if(gr.get(sysId)) {
gr.name = filterName;
gr.table = table;
gr.filter = filter;
var id = gr.update();
return id;
}
},
deleteConsole: function() {
var sysId = this.getParameter('sysparm_sys_id');
var gr = new GlideRecordSecure('planned_task_custom_console');
var isDeleted = false;
if(gr.get(sysId))
isDeleted = gr.deleteRecord();
return isDeleted;
},
correctEmptyFilter: function (filter, table) {
if(!filter || JSUtil.nil(filter)) {
return 'sys_class_name=' + table;
}
return filter;
},
type: 'CustomConsoleAjax'
});
Sys ID
19b70b6537330200455726877e41f1d7