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

Offical Documentation

Official Docs: