Name
global.TriggerRuleUtilSNC
Description
No description available
Script
var TriggerRuleUtilSNC = Class.create();
TriggerRuleUtilSNC.LOG_PROPERTY = 'com.snc.trigger_rules.log.level';
TriggerRuleUtilSNC.prototype = {
initialize: function() {
this._log = new GSLog(TriggerRuleUtilSNC.LOG_PROPERTY, this.type);
if (this._log.atLevel(GSLog.DEBUG))
this._log.debug("[initialize] initialize: " + this.type);
},
TRIGGER_RULE_TABLE_CFG: 'trigger_rule_table_cfg',
GROUP_FIELD: 'group_field',
USER_FIELD: 'user_field',
TASK: 'task',
ASSIGNMENT_GROUP: 'assignment_group',
ASSIGNED_TO: 'assigned_to',
TABLE: 'table',
getDefaultGroupField: function(tablename) {
if (this._extendsTask(tablename))
return this.ASSIGNMENT_GROUP;
return tablename ? this._getFieldName(tablename, this.GROUP_FIELD) : this.ASSIGNMENT_GROUP;
},
getDefaultUserField: function(tablename) {
if (this._extendsTask(tablename))
return this.ASSIGNED_TO;
return tablename ? this._getFieldName(tablename, this.USER_FIELD) : this.ASSIGNED_TO;
},
getTriggerConfigSysId: function(tablename) {
var gr = this._getTriggerConfigGr(tablename);
if (gr && gr.next())
return gr.getUniqueValue();
return null;
},
_extendsTask: function(tablename) {
return (tablename && GlideDBObjectManager.get().isInstanceOf(tablename, this.TASK));
},
_getFieldName: function(tablename, field) {
if (this._log.atLevel(GSLog.DEBUG))
this._log.debug("[getDefaultGroupField] tablename: " + tablename + " field: " + field);
if (!tablename)
return null;
var fieldName;
var gr = this._getTriggerConfigGr(tablename);
if (gr && gr.next())
fieldName = gr.getValue(field);
if (this._log.atLevel(GSLog.DEBUG))
this._log.debug("[_getFieldName] fieldName: " + fieldName);
return fieldName;
},
_getTriggerConfigGr: function(tablename) {
if (this._log.atLevel(GSLog.DEBUG))
this._log.debug("[_getTriggerConfigGr] tablename: " + tablename);
if (!tablename)
return null;
var gr = new GlideRecord(this.TRIGGER_RULE_TABLE_CFG);
gr.addQuery(this.TABLE, tablename);
gr.addActiveQuery();
gr.query();
return gr;
},
getTriggerScriptAnnotation: function() {
return gs.getMessage("Please contact System Administrator to modify Trigger script");
},
type: 'TriggerRuleUtilSNC'
};
Sys ID
4fdf8f67531220100999ddeeff7b1228