UI action not cancelling for ui page
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
7 hours ago
Hi All,
I have a requirement to create a dialog box to handle cancellation reason and i created a ui page which works.
But, the ui action i have used the existing OOTB ui action script and modified it to call my ui page but it doesn't submit when i click the cancel button:
ui page
UI page script:
<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null">
<g:ui_form>
<table>
<!-- Header -->
<tr>
<td colspan="2" style="font-weight:bold; font-size:18px; padding-bottom:15px">
Cancel request
</td>
</tr>
<!-- Cancellation reason (choice list) -->
<tr>
<td style="width:30%">
<g:form_label>Cancellation reason:<span style="color:#d00">*</span></g:form_label>
</td>
<td style="width:75%; padding-left:10px;">
<g:ui_choicelist
name="u_cancellation_reason"
id="u_cancellation_reason"
table="sn_lg_ops_legal_request"
field="u_cancellation_reason"
mandatory="true"
query="active=true"
style="width:100%" />
</td>
</tr>
<tr><td colspan="2" style="height:10px"></td></tr>
<!-- Work note -->
<tr>
<td style="width:30%">
<g:form_label>Work note:</g:form_label>
</td>
<td style="width:70%">
<textarea name="work_notes" id="work_notes" rows="4" style="width:100%"></textarea>
</td>
</tr>
<!-- Buttons -->
<tr>
<td colspan="2" style="text-align:right; padding-top:16px">
<g:dialog_buttons_ok_cancel
ok_id="submitData"
ok="return continueOK()"
ok_text="Cancel request"
ok_type="button"
ok_style_class="btn btn-primary"
cancel_id="cancelData"
cancel="return continueCancel()"
cancel_type="button"
cancel_style_class="btn btn-default" />
</td>
</tr>
</table>
</g:ui_form>
</j:jelly>
ui page client script:
function continueOK() {
var gdw = GlideDialogWindow.get();
var reason = gel('u_cancellation_reason').value;
var notes = gel('work_notes').value;
if (!reason) {
alert("Cancellation reason is required.");
return false;
}
// Pass the values back to the form via hidden fields
g_form.setValue('u_cancellation_reason', reason);
g_form.setValue('work_notes', notes);
g_form.save();
return true;
}
function cancelAndClose() {
GlideDialogWindow.get().destroy();
return false;
}
ui action client script:
function cancelRequest() {
var gDialog = new GlideModal('sn_lg_ops_u_cancel_request_dialog'); // Reference your UI Page name
gDialog.setPreference('sysparm_table', g_form.getTableName());
gDialog.setPreference('sysparm_sys_id', g_form.getUniqueValue());
gDialog.render();
if (typeof window == 'undefined')
serverCancelRequest();
}
function serverCancelRequest() {
var hasApprovals = new sn_lg_ops.LegalAdhocApprovalUtils().hasPendingApprovals(current.sys_id);
var canCancel = new RequestUtil().canCloseOrCancelRequest(current);
var isValidCategory = (current.lg_category != LegalOpsConstants.CATEGORY_STOCK_PRECLEARANCE &&
current.lg_category != LegalOpsConstants.CATEGORY_COI &&
current.lg_category != LegalOpsConstants.CATEGORY_GIFTS_AND_ENTERTAINMENT);
if (canCancel) {
if (hasApprovals && isValidCategory) {
gs.addErrorMessage(gs.getMessage('The approval is in progress for the legal request. Close all approvals before cancellation.'));
} else {
if (current.comments) {
new LegalRequest(current).cancel(current.comments);
} else {
gs.addErrorMessage(gs.getMessage('Enter comments and cancel the request.'));
}
}
} else {
gs.addErrorMessage(gs.getMessage('Close all associated matters to cancel the request.'));
}
action.setRedirectURL(current);
1 REPLY 1
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 hours ago
so what debugging did you do?
If my response helped please mark it correct and close the thread so that it benefits future readers.
Regards,
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader