Name
sn_cd.cd_EsignMobileUtils
Description
No description available
Script
var cd_EsignMobileUtils = Class.create();
cd_EsignMobileUtils.prototype = {
initialize: function() {
},
/* function completes the E-Signature content todo task
* @param todoSysId String The ID of To Do content task
* @return String Success/Error message to be displayed
* on native mobile
*/
completeEsignTask: function(todoSysId) {
var result = {};
var taskGr = new GlideRecord("sn_cd_task");
if (!taskGr.get(todoSysId)) {
result.status = "error";
result.message = gs.getMessage("Task not found");
return result;
}
var eSignTaskUtil = new sn_esign.esign_taskUtils();
var user_id = gs.getUserID();
var sys_id = taskGr.getUniqueValue();
var table_name = taskGr.getTableName();
var acknowledgement_text = taskGr.sn_esign_esignature_configuration.acknowledgement_text;
var esign_type = taskGr.sn_esign_esignature_configuration.signature_type;
var document_type = taskGr.sn_esign_esignature_configuration.document_type;
var document_revision = this._getDocumentRevision(taskGr);
var kb_article = taskGr.sn_esign_esignature_configuration.kb_article;
var signature = null;
if (esign_type === 'signature')
signature = eSignTaskUtil.getSignatureImage(table_name, sys_id);
var signatureSysId = null;
if (signature)
signatureSysId = signature.sys_id;
var domain = taskGr.sn_esign_esignature_configuration.sys_domain;
// Save document acknowledgment in the sn_esign_acknowledgement table
eSignTaskUtil.saveDocumentAcknowledgement(acknowledgement_text,
esign_type,
sys_id,
document_revision,
kb_article,
signatureSysId,
domain,
table_name,
user_id);
if (document_type == 'managed_document') {
eSignTaskUtil.attachAcknowledgeDocument(sys_id, table_name, document_revision);
return this._setTaskFinished(taskGr);
} else if (document_type == 'knowledge_article'){
eSignTaskUtil.attachAcknowledgeDocument(sys_id, table_name, null,kb_article);
return this._setTaskFinished(taskGr);
}
},
_setTaskFinished: function(taskGr) {
var result = {};
taskGr.setValue("state", "3");
if (taskGr.update()) {
result.status = "success";
result.message = gs.getMessage('The to-do "{0}" has been completed ', taskGr.getValue('short_description'));
return result;
} else {
result.status = "error";
result.message = gs.getMessage("Error completing the task");
return result;
}
},
_getDocumentRevision: function(taskGr) {
var managedDocument = new GlideRecord("dms_document_revision");
managedDocument.addQuery("document", taskGr.sn_esign_esignature_configuration.managed_document);
managedDocument.addQuery("stage", "published");
managedDocument.query();
if (managedDocument.next())
return managedDocument.getUniqueValue();
return null;
},
type: 'cd_EsignMobileUtils'
};
Sys ID
48655b66b7e63300a251e556ee11a9fa