Name
global.ScrumAjaxStateDetailsProvider
Description
ScrumAjaxStateDetailsProvider
Script
var ScrumAjaxStateDetailsProvider = Class.create();
ScrumAjaxStateDetailsProvider.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getStatesData: function() {
var userLanguage = this.getParameter('sysparm_user_language');
var table = this.getParameter('sysparm_table');
var gr = new GlideRecord("sys_choice");
gr.addQuery("name", table);
gr.addQuery("element", "state");
gr.addQuery("language", "en");
gr.query();
while (gr.next()){
var label = gr["label"];
var value = gr["value"];
var states;
if (table == "rm_story")
states = gs.getProperty("com.snc.sdlc.scrum.pp.progress.story.states").split(",");
else if (table == "rm_scrum_task")
states = gs.getProperty("com.snc.sdlc.scrum.pp.progress.task.state").split(",");
var active = false;
var index = -1;
for (var i = 0; i < states.length; i++)
if (states[i] == value){
active = true;
index = i;
}
if (active) {
if (userLanguage != "en") {
var gr3 = new GlideRecord("sys_choice");
gr3.addQuery("name", table);
gr3.addQuery("element", "state");
gr3.addQuery("language", userLanguage);
gr3.addQuery("value", value);
gr3.query();
if (gr3.next())
label = gr3["label"];
}
var item = this.newItem("state");
item.setAttribute('label', label);
item.setAttribute('value', value);
item.setAttribute('index', index);
}
}
},
getStateLabel: function(value, userLanguage, table) {
var gr = new GlideRecord("sys_choice");
var label = "";
gr.addQuery("name", table);
gr.addQuery("element", "state");
gr.addQuery("language", "en");
gr.addQuery("value", value);
gr.query();
while (gr.next()){
label = gr["label"];
if (userLanguage != "en") {
var gr2 = new GlideRecord("sys_choice");
gr2.addQuery("name", table);
gr2.addQuery("element", "state");
gr2.addQuery("language", userLanguage);
gr2.addQuery("value", value);
gr2.query();
if (gr2.next())
label = gr2["label"];
}
}
return label;
},
/**
* Prevent public access to this processor
*/
isPublic: function() {
return false;
}
});
Sys ID
ed7c920737201000dadaa3549dbe5d4c