Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Help in UI page, values to be passed in Processing script

David Cross
Tera Expert

I am new to UI page , Below code is working, 

But i want the data to be updated in Server side[ processing script ], PLease help me how to do so 

 

<td style="width:25%">
<g:form_label>
Select CI:
</g:form_label>
</td>
<td style="width:60%">
<g:ui_reference name="user_ref" id="user_ref" table="cmdb_ci" />
</td>
</tr>

<tr>
<td>
<g:dialog_buttons_ok_cancel ok_id="submitData" ok="return continueOK()" ok_type="button" ok_text="${gs.getMessage('Okay')}" ok_style_class="btn btn-primary" cancel_type="button" cancel_id="cancelData" cancel_style_class="btn btn-default" cancel="return continueCancel()"/>
</td>

 

Client script :

function continueOK() {
var gdw = GlideDialogWindow.get();

var user = gel('user_ref').value;

var sys_id = gdw.getPreference('sys_id');
var app = new GlideRecord("sc_task");

if (app.get(sys_id)) {
app.cmdb_ci = user;
app.update();
}
GlideDialogWindow.get().destroy();
}

function continueCancel() {
GlideDialogWindow.get().destroy();
}

 

Processing Script : What to type here so that the records can be updated here

1 REPLY 1

Markus Kraus
Kilo Sage

Hi, 

the following has to be changed:

  • wrap your table in a g:ui_form
  • add a hidden input that stores the sc_task SysID
  • change the type of the ok button from "button" to "submit"

Here is the full code:
HTML:

<g:ui_form>
		<table>
			<tr>
				<td style="width:25%">
					<g:form_label>
						Select CI:
					</g:form_label>
				</td>
				<td style="width:60%">
					<input type="hidden" name="task_sys_id" id="task_sys_id" />
					<g:ui_reference name="user_ref" id="user_ref" table="cmdb_ci" />
				</td>
			</tr>

			<tr>
				<td>
					<g:dialog_buttons_ok_cancel ok_id="submitData" ok="return continueOK()" ok_type="submit" ok_text="${gs.getMessage('Okay')}" ok_style_class="btn btn-primary" cancel_type="button" cancel_id="cancelData" cancel_style_class="btn btn-default" cancel="return continueCancel()"/>
				</td>
			</tr>
		</table>
	</g:ui_form>

Client script:

function continueOK() {
	var gdw = GlideDialogWindow.get();

	var user = gel('user_ref').value;
	gel('task_sys_id').value = gdw.getPreference('sys_id');
}

function continueCancel() {
	GlideDialogWindow.get().destroy();
}

Processing script:

var app = new GlideRecord("sc_task");
if (app.get(this.task_sys_id)) {
	app.cmdb_ci = this.user_ref;
	app.update();
}

 

Please let us know if this helped you.