Name
global.UpdateAllKnowledgeFullCategorySNC
Description
This script bulk updates the Full Category Names for each category based on the related category labels based on locale. Customers should not change this class directly This class is never called directly.
Script
var UpdateAllKnowledgeFullCategorySNC = Class.create();
UpdateAllKnowledgeFullCategorySNC.prototype = {
initialize: function() {
},
getAllLanguageCodes: function() {
var languageList = new Array();
var translationRecords = new GlideAggregate("sys_translated_text");
translationRecords.addQuery("tablename", "kb_category");
translationRecords.addQuery("fieldname", "label");
translationRecords.groupBy("language");
translationRecords.query();
while(translationRecords.next()) {
languageList.push(translationRecords.getValue("language") + '');
}
return languageList;
},
// Updates the Knowledge Full Category Display Value for all the Locales that have a Category Label translation.
updateFullCategoryForAllLocale : function() {
var allLanguageCodes = this.getAllLanguageCodes();
for (var i = 0; i < allLanguageCodes.length; i++) {
this.updateFullCategoryForLocale(allLanguageCodes[i]);
}
},
// Updates the Knowledge Full Category Display Value for all the Locales that have a Category Label translation.
updateFullCategoryForLocale : function(languageCode) {
var knowHelp = new SNC.KnowledgeHelper();
var topLevelCategoryRecords = new GlideRecord("kb_knowledge_base");
topLevelCategoryRecords.query();
while(topLevelCategoryRecords.next()) {
knowHelp.setNestedCategories(topLevelCategoryRecords.getUniqueValue(), "", languageCode);
}
},
// Updates the Knowledge Full Category Display Value for all the Locales that have a Category Label translation.
updateFullCategoryForKnowledgeBase : function(knowledgeBaseId) {
var success = true;
var knowHelp = new SNC.KnowledgeHelper();
var allLanguageCodes = this.getAllLanguageCodes();
var gr_kb = new GlideRecord("kb_knowledge_base");
if(!(gr_kb.get(knowledgeBaseId) && gr_kb.canRead()))
return false;
for (var i = 0; i < allLanguageCodes.length; i++) {
result = knowHelp.setNestedCategories(knowledgeBaseId, "", allLanguageCodes[i]);
if(!result)
success = false;
}
return success;
},
type: 'UpdateAllKnowledgeFullCategorySNC'
};
Sys ID
1bf2207bb712230026778d78ee11a9f5