Name

global.PlannedTaskCustomConsole

Description

Decorator on Planned task custom console

Script

var PlannedTaskCustomConsole = Class.create();

PlannedTaskCustomConsole.prototype = {
  initialize: function(id) {
  	if ( JSUtil.nil(id) )
          this.gr = new GlideRecord('planned_task_custom_console');
      else {          
          this.gr = new GlideRecord('planned_task_custom_console');
          this.gr.get(id);            
      }  
  },
  
  table: function() {
      return this.gr.getValue('table');
  },
  
  filter: function() {
      return this.gr.getValue('filter');
  },
  
  name: function() {
      return this.gr.getValue('name');
  },
  
  recordLimit: function() {
      if ( JSUtil.nil(this.gr.getValue('record_limit')) )
          return 50;
      else
          return this.gr.getValue('record_limit');
  },
  
  tableInstanceOf: function(table) {
  	if(JSUtil.nil(this.table()))
  		return false;
      var gr = new GlideRecord(this.table());
      return gr.instanceOf(table);
  },
  
  matchingRecordIds: function() {
      var ids = [];
      var gr = new GlideRecord(this.table());
      gr.addQuery("sys_class_name", this.table());
      if ( JSUtil.notNil(this.filter()) )
          gr.addEncodedQuery(this.filter());
      gr.setLimit(this.recordLimit());
      gr.query();
      while ( gr.next() ){
  		if(gr.canRead())
  			ids.push({sys_id: gr.getValue('sys_id'), parent: gr.getValue('parent')});
  	}
      return ids;
  },
  
  id: function() {
      return this.gr.getValue('sys_id');
  },
  
  members: function() {
      var members = new GlideRecord('planned_task_custom_console_member');
      members.addQuery('console', this.id());
      members.query();
      return members;
  },
  
  owner: function() {
  	return this.gr.getValue('owner');
  },
  
  addMember: function(userId) {
      var member = new GlideRecord('planned_task_custom_console_member');
      member.initialize();
      member.setValue('console', this.id());
      member.setValue('user', userId);
      return member.insert();
  },
  
  removeMember: function(userId) {
      var member = new GlideRecord('planned_task_custom_console_member');
      member.addQuery('user', userId);
      member.addQuery('console', this.id());
      member.query();
      if ( member.next() )
          return member.deleteRecord();
      else
          return false;
  },

  memberExists: function(memberId) {
      gs.info("memberExists -> " + memberId);
      if(JSUtil.notNil(memberId)) {
          var members = new GlideRecord('planned_task_custom_console_member');
          members.addQuery('console', this.id());
          members.addQuery("user", memberId);
          members.query();
          gs.info("memberExists query -> " + members.getRowCount() + " | " + members.getEncodedQuery());
          if(members.next())
              return true;
      }
      return false;
  },
  
  isValid: function() {
  	return this.gr.isValidRecord();
  },

  type: 'PlannedTaskCustomConsole'    
};

Sys ID

eb11354037330200455726877e41f1bd

Offical Documentation

Official Docs: