UI Action Preview PDF is not working

Ramesh43
Tera Contributor

Hello all, 

 

I have an issue, UI action Preview PDF is not working.

 

When i clicked on Preview PDF UI action, it should provide me all the PDF documents which we have attached to the Work order task. But it is not giving anything.

 

Below is my code for this UI action:

function previewDocument(){
var sysId = typeof rowSysId == 'undefined' || rowSysId == null ?
gel('sys_uniqueValue').value : rowSysId;


var dialogClass = window.GlideModal ? GlideModal : GlideDialogWindow;
var dialog = new dialogClass('Preview document dialog v2');
var msg = new GwtMessage().getMessage('Edit document');

dialog.setTitle(msg);
dialog.setPreference('sysparm_sysId', sysId);
dialog.setPreference('sysparm_sourceTable', g_form.getTableName());
dialog.setPreference('sysparm_templateTable', 'u_general_document_template');
dialog.setPreference('sysparm_templateName', 'Stowe Job Card');
dialog.setPreference('sysparm_fileName', g_form.getValue('number'));
dialog.render();
}

 

UI Page Code: Preview document dialog v2(HTML Code)

<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<g:requires name="styles/heisenberg/heisenberg_all.css" includes="true" />
<g:ui_form id="Preview document">
<style type="text/css">
#info_message {
position: absolute;
vertical-align:bottom;
left:20px;
font-style: italic;
display: none;
}
</style>
<g2:evaluate var="jvar_sysId" expression="RP.getWindowProperties().get('sysparm_sysId')" />
<g2:evaluate var="jvar_sourcetable" expression="RP.getWindowProperties().get('sysparm_sourceTable')" />
<g2:evaluate var="jvar_templateTable" expression="RP.getWindowProperties().get('sysparm_templateTable')" />
<g2:evaluate var="jvar_templateName" expression="RP.getWindowProperties().get('sysparm_templateName')" />
<g2:evaluate var="jvar_fileName" expression="RP.getWindowProperties().get('sysparm_fileName')" />
 
<g2:evaluate var="jvar_content" jelly="true">
var gr = new GlideRecord('u_general_document_template');
gr.get('u_name',jelly.jvar_templateName);
var content = gr.sys_id;
content;
</g2:evaluate>
<input type="hidden" value="$[jvar_content]" id="doc_template"/>
<input type="hidden" id="source_sys_id" name="source_sys_id" value="${sysparm_sysId}"/>
<input type="hidden" id="source_table" name="source_table" value="${sysparm_sourceTable}"/>
<input type="hidden" id="template_table" name="template_table" value="${sysparm_templateTable}"/>
<input type="hidden" id="template_name" name="template_name" value="${sysparm_templateName}"/>
<input type="hidden" id="file_name" name="file_name" value="${sysparm_fileName}" />
<input type="hidden" id="submit_draft" name="submit_draft" value="false"/>
 
 
<div contenteditable="true" id='content_id' onkeyup="disableOrEnableButton()"/>
 
<footer id="hr_dialog_footer" class="modal-footer">
<span id = 'info_message' ></span>
<button id="cancel_button" class="btn btn-default" onClick="return submitCancel();">
${gs.getMessage('Cancel')}
</button>
<button id="save_button" class="btn btn-primary" onClick="return submitSave();">
${gs.getMessage('Save')}
</button>
<button id="ok_button" class="btn btn-primary" onClick="return submitOk();">
${gs.getMessage('Generate')}
</button>
<button id="reset_button" class="btn btn-primary" onClick="return resetForm();">
${gs.getMessage('Reset')}
</button>
</footer>
</g:ui_form>
</j:jelly>
 
Client script:
addLoadEvent(function(){
 
if (!gel('doc_template').value){
g_form.addErrorMessage(getMessage('The category or its corresponding PDF template is empty'));
return;
}
 
var ga = new GlideAjax("genDoc_Ajax");
 
ga.addParam("sysparm_name", "getDocumentBody");
ga.addParam("sysparm_reset", '');
ga.addParam("sysparm_sourceTable", gel('source_table').value);
ga.addParam("sysparm_sourceID", gel('source_sys_id').value);
ga.addParam("sysparm_templateTable", gel('template_table').value);
ga.addParam("sysparm_templateName", gel('template_name').value);
 
ga.getXMLAnswer(function(answer) {
gel('content_id').innerHTML = answer;
gel('content_id').focus();
if (answer == '')
gel('info_message').style.display = "block";
});
});
 
function disableOrEnableButton(){
if(gel('content_id').innerHTML.trim().length){
gel('save_button').disabled = false;
gel('ok_button').disabled = false;
}else{
gel('save_button').disabled = true;
gel('ok_button').disabled = true;
}
 
}
function submitCancel() {
gel('info_message').style.display = "none";
GlideDialogWindow.get().destroy();
return false;
}
 
function resetForm() {
var ga = new GlideAjax("genDoc_Ajax");
 
ga.addParam("sysparm_name", "getDocumentBody");
ga.addParam("sysparm_reset", 'true');
ga.addParam("sysparm_sourceTable", gel('source_table').value);
ga.addParam("sysparm_sourceID", gel('source_sys_id').value);
ga.addParam("sysparm_templateTable", gel('template_table').value);
ga.addParam("sysparm_templateName", gel('template_name').value);
 
ga.getXMLAnswer(function(answer) {
gel('content_id').innerHTML = answer;
gel('content_id').focus();
if (answer == '')
gel('info_message').style.display = "block";
});
 
gel('info_message').style.color = "#4BD762";
gel('info_message').innerHTML = getMessage('The document body has been reset');
gel('info_message').style.display = "block";
return false;
}
 
function submitSave() {
setDocument();
gel('info_message').style.color = "#4BD762";
gel('info_message').innerHTML = getMessage('The document body has been saved');
gel('info_message').style.display = "block";
 
return false;
}
 
function submitOk() {
if (gel('content_id').innerHTML){
gel('info_message').style.display = "none";
 
setDocument();
var s = gel('submit_draft');
s.value = "true";
//something something something
 
return true;
}else{
gel('info_message').style.color = "#FF402C";
gel('info_message').innerHTML = getMessage('The document body should not be empty');
gel('info_message').style.display = "block";
}
return false;
}
 
function setDocument(){
var ga = new GlideAjax("genDoc_Ajax");
 
ga.addParam("sysparm_name", "setDocumentBody");
ga.addParam("sysparm_documentBody", gel('content_id').innerHTML);
ga.addParam("sysparm_table_name", gel('source_table').value);
ga.addParam("sysparm_table_id", gel('source_sys_id').value);
ga.addParam("sysparm_targetTable", gel('template_table').value);
ga.addParam("sysparm_targetId", gel('doc_template').value);
ga.getXMLAnswer(function(answer) {
});
}
1 REPLY 1

Ankur Bawiskar
Tera Patron
Tera Patron

@Ramesh43 

is that an OOB ui page?

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader