Name
sn_hr_core.hr_PdfAjax
Description
No description available
Script
var hr_PdfAjax = Class.create();
hr_PdfAjax.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
initialize : function(request, responseXML, gc) {
global.AbstractAjaxProcessor.prototype.initialize.call(this, request, responseXML, gc);
},
ajaxFunction_getTask : function() {
var sys_id = this.getParameter('sysparm_taskId');
var data = {};
var task = {};
var taskGr = new GlideRecord('sn_hr_core_task');
taskGr.get(sys_id);
if (taskGr.canRead()) {
task.sys_id = taskGr.getValue("sys_id");
task.acknowledgement_text = taskGr.getElement("sn_esign_esignature_configuration").getRefRecord().getValue("acknowledgement_text");
task.domain = taskGr.getElement("sn_esign_esignature_configuration").getRefRecord().getValue("sys_domain");
task.esign_type = taskGr.getElement("sn_esign_esignature_configuration").getRefRecord().getValue("signature_type");
task.class_name = taskGr.getValue("sys_class_name");
data.task = task;
data.parent = taskGr.getValue("parent");
var hrCase = new GlideRecord("sn_hr_core_case");
if (hrCase.get(data.parent)) {
data.pdfTemplate = hrCase.getValue('pdf_template');
var documentTemplate = new GlideRecord("sn_hr_core_document_template");
documentTemplate.get(data.pdfTemplate);
data.acknowledgment_text = documentTemplate.getValue("acknowledgment_text");
}
if (new hr_Delegation().isAssignedOrDelegated(taskGr))
data.attachmentId = hrCase.getValue('sn_esign_document');
}
return new global.JSON().encode(data);
},
ajaxFunction_saveCoordinatesToDocumentMap : function() {
var pageNumber = parseInt(this.getParameter('sysparm_pageNumber'));
var docTop = parseInt(this.getParameter('sysparm_docTop'));
var docLeft = parseInt(this.getParameter('sysparm_docLeft'));
var signTop = parseInt(this.getParameter('sysparm_signTop'));
var signLeft = parseInt(this.getParameter('sysparm_signLeft'));
var boxHeight = parseInt(this.getParameter('sysparm_boxHeight'));
var boxWidth = parseInt(this.getParameter('sysparm_boxWidth'));
var documentFieldLabel = this.getParameter('sysparm_documentField');
var mappingField = this.getParameter('sysparm_documentFieldMap');
var pdfDocSysId = this.getParameter('sysparm_pdfDocRevId');
// Check have access to passed in pdf template
var pdfdocRevGr = new GlideRecordSecure('sn_hr_core_pdf_template');
if(!pdfdocRevGr.get(pdfDocSysId))
return "false";
var documentMap = new GlideRecordSecure('sn_hr_core_pdf_template_mapping');
documentMap.setValue('document', pdfDocSysId);
documentMap.setValue('document_field_type', "signature");
documentMap.setValue('page_number', pageNumber);
documentMap.setValue('mapping_field', mappingField);
documentMap.setValue('document_field_label', documentFieldLabel);
documentMap.setValue('doc_top', docTop);
documentMap.setValue('doc_left', docLeft);
documentMap.setValue('sign_top', signTop);
documentMap.setValue('sign_left', signLeft);
documentMap.setValue('box_height', boxHeight);
documentMap.setValue('box_width', boxWidth);
if (documentMap.insert())
return "true";
return "false";
},
ajaxFunction_getPDFTemplateMapping : function() {
var pdfDocSysId = this.getParameter('sysparm_pdfDocRevId');
// Function to return an object from a GlideRecord
function objBuilder(mappingGr) {
var fields = ["box_height", "box_width", "doc_top", "doc_left", "sign_top", "sign_left", "page_number", "document_field_label", "mapping_field", "sys_id"];
var obj = {};
for (var i = 0; i < fields.length; i++){
if(fields[i] == 'document_field_label')
obj[fields[i]] = GlideStringUtil.escapeHTML(mappingGr.getValue(fields[i]));
else
obj[fields[i]] = mappingGr.getValue(fields[i]);
}
return obj;
}
var maps = [];
var templateMap = new GlideRecordSecure('sn_hr_core_pdf_template_mapping');
templateMap.addQuery('document', pdfDocSysId);
templateMap.query();
while (templateMap.next())
maps.push(objBuilder(templateMap));
return new global.JSON().encode(maps);
},
ajaxFunction_removeTemplateMapping: function() {
var pdfDocSysId = this.getParameter('sysparm_templateSysId');
var templateMap = new GlideRecordSecure('sn_hr_core_pdf_template_mapping');
if (templateMap.get(pdfDocSysId))
return templateMap.deleteRecord();
return false;
},
/* check field to see if type is glide_date_time and return true/false */
ajaxFunction_isGlideDateTime: function () {
var table = this.getParameter('sysparm_table');
var mappingField = this.getParameter('sysparm_mappingField');
try {
var gr = new GlideRecord(table);
if (!gr.isValid() || !gr.canRead())
return false;
return /^(date|glide_date|glide_date_time)$/i.test(gr.getElement(mappingField).getED().getInternalType());
} catch(err) {
return false;
}
},
ajaxFunction_getDocumentBody: function() {
var taskId = this.getParameter("sysparm_taskId");
var hrForm = new sn_hr_core.hr_CaseAjax().documentBody('sn_hr_core_task', taskId, 'sn_hr_core_task', taskId, 'false');
var body = hrForm.body;
var setDocumentBody = new sn_hr_core.hr_CaseAjax().setDocumentBody(body, 'sn_hr_core_task', taskId, 'sn_hr_core_task', taskId, 'false');
return new global.JSON().encode(hrForm.body);
},
ajaxFunction_setDocumentBody: function() {
var taskId = this.getParameter("sysparm_taskId");
var body = this.getParameter("sysparm_body");
var data = new sn_hr_core.hr_CaseAjax().setDocumentBody(body, 'sn_hr_core_task', taskId, 'sn_hr_core_task', taskId, 'false');
return new global.JSON().encode(data);
},
ajaxFunction_generateDocumentAndCloseTask : function() {
var table_name = this.getParameter("sysparm_tableName");
var sys_id = this.getParameter("sysparm_sysId");
var data = new sn_hr_core.hr_CaseAjax().generateDocumentAndCloseTask(table_name, sys_id);
return new global.JSON().encode(data);
},
type: 'hr_PdfAjax'
});
Sys ID
950296910b5032008cd6e7ae37673a63