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