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