(function() {
data.actionPreventedMsg = gs.getMessage("Update failed");
data.itemflag=0;
var gr = $sp.getRecord();
if (gr == null || !gr.isValid()) {
data.isValid = false
return;
}
var item_name=gr.sysapproval.cat_item;
if ((typeof gr.sysapproval.variables.reject_raison)=='object')
{
var varia = new GlideRecord('sc_item_option_mtom');
varia.addQuery('request_item',gr.sysapproval.sys_id+'');
varia.addQuery('sc_item_option.item_option_new.name','reject_raison');
varia.setLimit(1);
varia.query();
varia.next();
data.reject_raison_label = varia.sc_item_option.item_option_new.question_text.getDisplayValue();
data.reject_raison_options = [];
var grQC = new GlideRecord('question_choice');
grQC.addEncodedQuery("question="+varia.sc_item_option.item_option_new.sys_id);
grQC.orderBy('order');
grQC.query();
while (grQC.next()) {
var choice = {};
choice.order = grQC.getValue('order');
choice.text = grQC.text.getDisplayValue();
choice.value = grQC.getValue('value');
data.reject_raison_options.push(choice);
}
}
data.isValid = true;
data.isMine = isApprovalMine(gr);
//Orlando var userApprovalAccess = gs.hasRole("approval_admin") || (gs.hasRole("approver_user") && data.isMine);
var approverDisplay = gr.approver.getDisplayValue();
if (!data.isMine && approverDisplay)
data.approverDisplay = approverDisplay;
if (approverDisplay) {
data.approvedMsg = gs.getMessage("Approved by {0}", approverDisplay);
data.rejectedMsg = gs.getMessage("Rejected by {0}", approverDisplay);
} else {
data.approvedMsg = gs.getMessage("Approved");
data.rejectedMsg = gs.getMessage("Rejected");
}
if (input && input.op ){ //Orlando && userApprovalAccess) {
if(input.reject_raison =='true'){
var grreject = new GlideRecord('sc_item_option_mtom');
grreject.addQuery('request_item',gr.sysapproval+'');
grreject.addQuery('sc_item_option.item_option_new.name','reject_raison');
grreject.setLimit(1);
grreject.query();
grreject.next();
var grvalue = new GlideRecord('sc_item_option');
grvalue.get(grreject.sc_item_option);
grvalue.setValue('value',input.comments);
grvalue.update();
}
gr.state = input.op;
if (input.comments){
gr.comments = input.comments;
}
data.updateID = gr.update();
if (GlideStringUtil.nil(data.updateID)) {
// update failed so fetch again for correct values
gr = $sp.getRecord();
}
data.op = "";
}
var fields = $sp.getFields(gr, 'sysapproval,state,sys_created_on');
if (gr.sys_mod_count > 0)
fields.push($sp.getField(gr, 'sys_updated_on'));
data.fields = fields;
data.state = gr.state.toString();
data.no_comment_rejection = gr.sysapproval.cat_item.u_no_comment_rejection+'';
data.sys_updated_on = gr.sys_updated_on.toString();
data.sys_id = gr.getUniqueValue();
data.table = gr.getTableName();
data.label = getRecordBeingApproved(gr).getLabel();
data.esignature = {
username: gs.getUserName(),
userSysId: gs.getUserID(),
e_sig_required: checkESig(gr)
};
function checkESig(approvalGR) {
var esigRegistryGR = new GlideRecord("e_signature_registry");
if (!esigRegistryGR.isValid())
return false;
var table = approvalGR.getValue("source_table");
if (!table)
table = approvalGR.sysapproval.sys_class_name;
if (!table)
return false;
esigRegistryGR.addQuery("enabled", "true");
esigRegistryGR.addQuery("table_name", table);
esigRegistryGR.query();
return esigRegistryGR.hasNext();
}
function getRecordBeingApproved(gr) {
if (!gr.sysapproval.nil())
return gr.sysapproval.getRefRecord();
return gr.document_id.getRefRecord();
}
})();