Name

sn_sow_inc.SOWIncidentKnowledgeUtilsSNC

Description

Utility methods for driving knowledge flows on Incident from Service Operations Workspace.

Script

var SOWIncidentKnowledgeUtilsSNC = Class.create();
SOWIncidentKnowledgeUtilsSNC.prototype = {
  initialize: function() {},

  canCreateKnowledgeArticle: function(incidentGr) {
      if (incidentGr.state == global.IncidentState.RESOLVED) {
          var knowledgeGr = new GlideRecord('kb_knowledge');
          knowledgeGr.addQuery('source', incidentGr.getUniqueValue());
          knowledgeGr.setLimit(1);
          knowledgeGr.query();
          if (!knowledgeGr.hasNext()) {
              var kbKnowledge = new global.KBKnowledge();
              if (GlidePluginManager.isActive('com.snc.incident.knowledge')) {
                  return kbKnowledge.canCreate();
              } else if (gs.getProperty('glide.knowman.submission.workflow') != 'true') {
                  var kBaseGr = new GlideRecord('kb_knowledge_base');
                  if (kBaseGr.get(gs.getProperty("glide.knowman.task_kb", "dfc19531bf2021003f07e2c1ac0739ab"))) {
                      var knowledgeAccess = new global.KnowledgeAccess();
                      return knowledgeAccess.contributorRight(kBaseGr);
                  }
              } else {
                  return true;
              }
          }
      }
      return false;
  },

  getNewKnowledgeArticleLink: function(incidentGr) {
      var map = new global.CSMTableMapUtil(incidentGr);
      map.findMapByName("incident_kcs_article_html");
      var targetURL = map.getTargetURL();
      if (targetURL)
          return targetURL[0];
      else
          return null;
  },

  type: 'SOWIncidentKnowledgeUtilsSNC'
};

Sys ID

36a55516c7623010d7e818b1c7c26025

Offical Documentation

Official Docs: