GlideModal with UI Page: add a worknote / escalate RITM (called via UI Action)

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

Popular posts from this blog

GlideRecord setValue

variable advanced reference qualifier example

URL link in addInfoMessage