Name
global.SNHelpUtil
Description
No description available
Script
var SNHelpUtil = Class.create();
SNHelpUtil.prototype = {
initialize: function() {},
setError: function(message, arg1, arg2) {
var err = "{0} {1} {2}";
gs.error(err, message || '', arg1 || '', arg2 || '');
},
constructPayLoad: function(mapper, records) {
var result = [],
cur_record, key, i, j;
for (i = 0; i < records.length; i++) {
cur_record = {};
for (j = 0; j < mapper.length; j++) {
key = mapper[j];
if (records[i].hasOwnProperty(key)) {
cur_record[key] = records[i][key];
}
}
result.push(cur_record);
}
return result;
},
// get new number for order field on step, question and answer table
// new number is totalRows + 1
getNextOrder: function(field, value, current) {
var table = current.getRecordClassName();
var gr = new GlideRecord(table);
gr.addQuery(field, value);
if (field === 'guidance')
gr.addNullQuery("parent");
gr.query();
return gr.getRowCount() + 1;
},
// adjust order on delete for guidance step, questions and answers table
adjustOrder: function(field, value, current) {
// orphan record - Dont do anything
if (!current[field].getRefRecord().isValidRecord())
return;
var table = current.getRecordClassName();
var gr = new GlideRecord(table);
gr.addQuery(field, value);
gr.addQuery("order", ">=", current.order);
gr.orderBy("order");
gr.query();
while (gr.next()) {
// There exist another step with same order - don't do anything
if (gr.order == current.order)
return;
// Adjust the order to accommodate deleted step order.
else if (gr.order > 0) {
gr.order = gr.order - 1;
gr.setWorkflow(false);
gr.autoSysFields(false);
gr.update();
}
}
},
getNumberOfQuestions: function(content) {
var gr = new GlideRecord("help_question");
gr.addQuery("content", content);
gr.query();
return gr.getRowCount();
},
isSnHelpEnabled: function() {
if (gs.getProperty("com.glide.sn_help.enabled", "true") === "true")
return true;
return false;
},
snHelpDisabledError: function(response) {
var helpConstants = new SNHelpConstantProvider();
if (!response)
return;
response.setStatus(helpConstants.httpStatus.BAD_REQUEST);
response.setBody({
error: helpConstants.snHelpDisabled
});
},
canEditHelp: function() {
return (gs.getUser().hasRole("admin") || gs.getUser().hasRole("sn_help_admin"));
},
canEditHelp: function() {
return (gs.getUser().hasRole("admin") || gs.getUser().hasRole("sn_help_admin"));
},
getCurrentVersion: function() {
return gs.getProperty("com.glide.embedded_help.version", "all");
},
type: 'SNHelpUtil'
};
Sys ID
8feee0005344101065f2ddeeff7b128c