Name

global.StateFlowAJAX

Description

No description available

Script

var StateFlowAJAX = Class.create();
StateFlowAJAX.prototype = Object.extendsObject(AbstractAjaxProcessor, {
  
  getValidStates: function() {
  	var sys_class = this.getParameter('sysparm_sys_class');
  	var table = this.getParameter('sysparm_table');
  	var state = this.getParameter('sysparm_state');
  	
  	//Security check on table
  	if(gs.nil(table)) {
  		return;
  	}
  	var gr_table = new GlideRecord(table);
  	if(!gr_table.isValid() || !gr_table.canRead()) {
  		return;
  	}
  	
  	//Security check on sys_class
  	if(gs.nil(sys_class)) {
  		return;
  	}
  	var gr_class = new GlideRecord(sys_class);
  	if(!gr_class.isValid() || !gr_class.canRead()) {
  		return;
  	}
  	var resultset = (new StateFlow()).getValidStates(sys_class, table, state);
  	
  	var result = this.newItem("result");
  	result.setAttribute("values", resultset.values);
  	result.setAttribute("labels", resultset.labels);
  	result.setAttribute("sequence", resultset.sequence);
  	result.setAttribute("mandatory", resultset.mandatory);
  	result.setAttribute("readonly", resultset.readonly);
  	result.setAttribute("visible", resultset.visible);
  	result.setAttribute("notmandatory", resultset.notmandatory);
  	result.setAttribute("notreadonly", resultset.notreadonly);
  	result.setAttribute("notvisible", resultset.notvisible);
  },	
  
  getFieldRequirements: function() {
  	var sys_class = this.getParameter('sysparm_sys_class');
  	var table = this.getParameter('sysparm_table');
  	var state = this.getParameter('sysparm_state');
  	var oldState = this.getParameter('sysparm_old_state');
  	
  	//Security check on table
  	if(gs.nil(table)) {
  		return;
  	}
  	var gr_table = new GlideRecord(table);
  	if(!gr_table.isValid() || !gr_table.canRead()) {
  		return;
  	}
  	
  	//Security check on sys_class
  	if(gs.nil(sys_class)) {
  		return;
  	}
  	var gr_class = new GlideRecord(sys_class);
  	if(!gr_class.isValid() || !gr_class.canRead()) {
  		return;
  	}
  	var resultset = (new StateFlow()).getFieldRequirements(sys_class, table, state, oldState);
  	
  	var result = this.newItem("result");
  	result.setAttribute("mandatory", resultset.mandatory);
  	result.setAttribute("readonly", resultset.readonly);
  	result.setAttribute("visible", resultset.visible);
  	result.setAttribute("notmandatory", resultset.notmandatory);
  	result.setAttribute("notreadonly", resultset.notreadonly);
  	result.setAttribute("notvisible", resultset.notvisible);
  },
});

Sys ID

0c2747ccd7230100fceaa6859e61039a

Offical Documentation

Official Docs: