ui page and ui action to update work_start and work_end on change request form when closing
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-19-2024 05:07 AM
Hi all.
Hopefully somebody can help me in the right direction 🙂
I would like to create an ui page as pop up based on ui action - when a change request is closed.
The requirement is to writeback to "work_start" and "work_end" from the ui page,
and then redirect to the edited record.
I have looked into many tutorials and guides, but have not been able to get it correct yet.
UI Action:
function loadConfirmDialog() {
//Initialize and open the Dialog Window
var dialog = new GlideDialogWindow("U_Change_actual_date");
dialog.setPreference("sysparm_id", g_form.getUniqueValue());
dialog.setPreference("sysparm_number", g_form.getValue('number'));
dialog.render();
}
UI Page:
<?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:ui_form id="f_id">
<input type="hidden" id="sys_id" name="sys_id" value="${sysparm_id}"/>
<input type="hidden" id="number" name="number" value="${sysparm_number}"/>
<input type="hidden" id="item" name="item" value="${sysparm_id}"/>
<center><h2>Close Change Request</h2>
<table>
<tr>
<td>Change Request:</td>
<td>
<g:ui_reference name="change_request" table="change_request" field="number" id="change_request" displayvalue="${sysparm_number}" value="${sysparm_id}"/>
</td>
</tr>
<tr>
<td>Work Start Date:</td>
<td><g:ui_date_time name="work_start" id="work_start" value=""/></td> <!-- Use g:ui_date for Work Start Date -->
</tr>
<tr>
<td>Work End Date:</td>
<td><g:ui_date_time name="work_end" id="work_end" value=""/></td> <!-- Use g:ui_date for Work End Date -->
</tr>
<tr>
<td colspan="2">
<div style="text-align: center;">
<input type="submit" value="Submit" onClick="submitForm()"/>
<input type="button" value="Cancel" onClick="cancelForm()"/>
</div>
</td>
</tr>
</table>
</center>
</g:ui_form>
</j:jelly>
Client Script:
function cancelForm() {
window.close();
}
Processing script:
var chg = new GlideRecord('change_request');
chg.addQuery('sys_id', sys_id);
chg.initialize();
chg.start_date = work_start;
chg.end_date = work_end;
chg.update();
var URL = "https://xxxxxx.service-now.com/change_request.do?sys_id=" + sys_id; // URL of newly created incident record
response.sendRedirect(URL); //sendRedirect() method redirects the response to another resource, inside or outside the server.
0 REPLIES 0