What is this?
...
glide.ui.permitted_tables
Add sys_template as a permitted table, otherwise people won't be able to see the templates to attach to the knowledge article.
Roles
template_editor, template_editor_group or template_editor_global must be granted to allow people to alter and view the templates as well.
...
Code Block | ||
---|---|---|
| ||
function onChange(control, oldValue, newValue, isLoading, isTemplate) { if (isLoading || newValue == '') return; var template = g_form.getReference('u_kb_article_template').u_template; var ga = new GlideAjax('YaleAjax'); ga.addParam('sysparm_name','hasChildTemplates'); ga.addParam('sysparm_template',template); ga.getXML(hasTemplate); function hasTemplate(response) { answer = response.responseXML.documentElement.getAttribute("answer"); if(answer == 'true'){ // If there's child templates we have to save the record first g_form.checkMandatory = false; gsftSubmit(null, g_form.getFormElement(), 'apply_my_template'); }else{ // If there's no child record, no need to save before applyTemplate(template); } } } |
Script Include
We need to determine if there's child templates or not.
Code Block | ||
---|---|---|
| ||
var YaleAjax = Class.create();
YaleAjax.prototype = Object.extendsObject(AbstractAjaxProcessor, {
hasChildTemplates: function() {
template = this.getParameter('sysparm_template');
gr = new GlideRecord('sys_template');
gr.get(template);
if(gr.next != '' || gr.next_child != ''){
// If there's child templates return true
return true;
}else{
// There are no child templates
return false;
}
},
_privateFunction: function() { // this function is not client callable
}
}); |
References
https://community.servicenow.com/thread/143298
...