UI Action
var title = getMessage('Enter New Work Note');
var gm = new GlideModal('add_work_note'); // UI Page
gm.setTitle(title);
gm.setPreference("sysparm_target_table", "sc_req_item"); //--add whatever table
gm.setPreference("sysparm_target_sys_id", g_form.getUniqueValue());
gm.render();
UI Page
HTML
<?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>
<div class="form-group">
<input type="hidden" name="target_table" id="target_table" value="${RP.getWindowProperties().get('sysparm_target_table')}"/>
<input type="hidden" name="target_sys_id" id="target_sys_id" value="${RP.getWindowProperties().get('sysparm_target_sys_id')}"/>
<input type="hidden" id="cancelled" name="cancelled" value="false"/>
<textarea id="new_work_note" name="new_work_note" class="form-control"></textarea>
</div>
<g:dialog_buttons_ok_cancel ok="return onSubmit();" cancel="return onCancel();" />
</g:ui_form>
</j:jelly>
Client script
function onCancel() {
var c = gel('cancelled');
c.value = "true";
GlideDialogWindow.get().destroy();
return false;
}
function onSubmit() {
var work_note = gel("new_work_note").value;
if (work_note != "")
return true;
}
Server Processing script
if (cancelled == "false") {
var taskRecord = new GlideRecord(target_table);
if (taskRecord.get(target_sys_id)) {
taskRecord.work_notes = 'RITM escalated: ' + new_work_note;
//--escalate tasks
var grTasks = new GlideRecord('sc_task');
grTasks.addActiveQuery();
grTasks.addQuery('request_item', target_sys_id);
grTasks.query();
if (grTasks.getRowCount() > 0) {
taskRecord.u_escalation_count = taskRecord.u_escalation_count + 1;
taskRecord.update();
while (grTasks.next()) {
//--check if task assignment group has group email, or send to members
gs.addInfoMessage('escalating task ' + grTasks.number + ' to group: ' + grTasks.assignment_group.getDisplayValue());
gs.eventQueue('ritm.escalate', grTasks, '', '');
}
}
}
}
var urlOnStack = target_table + ".do?sys_id=" + target_sys_id;
response.sendRedirect(urlOnStack);
Comments
Post a Comment