Name

sn_chg_soc.SoCDefinitionChildStyleRuleSNC

Description

SNC Class encapsulating SoC Definition style rule functionality

Script

var SoCDefinitionChildStyleRuleSNC = Class.create();
SoCDefinitionChildStyleRuleSNC.prototype = Object.extendsObject(SoC, {
  initialize: function(_gr, _gs) {
  	SoC.prototype.initialize.call(this, _gr, _gs);
  },

  // Delegate security to the parent definition
  canDelete: function() {
  	if (this._gr.chg_soc_definition_child.nil())
  		return false;

  	return new SoCDefinitionChild(this._gr.chg_soc_definition_child.getRefRecord(), this._gs).canDelete();
  },

  canRead: function() {
  	if (this._gr.isNewRecord())
  		return true;

  	if (this._gr.chg_soc_definition_child.nil())
  		return false;

  	return new SoCDefinitionChild(this._gr.chg_soc_definition_child.getRefRecord(), this._gs).canRead();
  },

  canWrite: function() {
  	if (this._gr.isNewRecord())
  		return true;

  	if (this._gr.chg_soc_definition_child.nil())
  		return false;

  	return new SoCDefinitionChild(this._gr.chg_soc_definition_child.getRefRecord(), this._gs).canWrite();
  },

  type: 'SoCDefinitionChildStyleRuleSNC'
});

SoCDefinitionChildStyleRuleSNC.findByDefId = function(defSysId) {
  if (!defSysId)
  	return null;

  var styleRuleGr = new GlideRecord(SoC.DEFINITION_CHILD_STYLE_RULE);
  styleRuleGr.addActiveQuery();
  styleRuleGr.addQuery(SoC.DEFINITION_CHILD, defSysId);
  styleRuleGr.addQuery(SoC.CONDITION, "ISNOTEMPTY", "");
  styleRuleGr.orderBy(SoC.ORDER);
  styleRuleGr.query();
  return styleRuleGr;
};

SoCDefinitionChildStyleRuleSNC.createDefaultRule = function(socChildDefGr) {
  if (!socChildDefGr)
  	return;

  var gr = new GlideRecord(socChildDefGr.getValue(SoC.TABLE_NAME));
  if (!gr.isValid())
  	return;

  var styleRuleGr = new GlideRecord(SoC.DEFINITION_CHILD_STYLE_RULE);
  styleRuleGr.setValue(SoC.DEFINITION_CHILD, socChildDefGr.getUniqueValue());
  styleRuleGr.setValue(SoC.NAME, "Active " + gr.getED().getPlural());
  styleRuleGr.setValue(SoC.EVENT_COLOR, SoC.DEFAULT_EVENT_COLOR);
  styleRuleGr.setValue(SoC.CONDITION, "active=true^EQ");
  styleRuleGr.setValue(SoC.ORDER, SoC.DEFAULT_ORDER);
  return styleRuleGr.insert();
};

Sys ID

0250ac0c57330300b41069202d94f969

Offical Documentation

Official Docs: