Call advanced reference qualifier from UI page

Gudipati Hemala
Tera Contributor

I wanted to create a ui page with a field called 'Manager' which is a reference type and reference to user table. And I want to show the list of users who are member 'Major incident' group.

I have created following script include in 'Major incident manager (sn_major_inc_mgmt)' application.

find_real_file.png

Here is my HTML in the UI page and this ui page also in 'Major incident manager (sn_major_inc_mgmt)' application..


<div class="form-group" id="manager-wrapper">
<label class="col-sm-2 control-label"><span mandatory="true" class="required-marker"></span>${gs.getMessage('Manager')}</label>
<div class="col-sm-10">
<g:ui_reference mandatory="true" name="incident_sysid" table="sys_user" show_popup="true" show_lookup="true" query="javascript new sn_major_inc_mgmt.GetMIMGroupMembers().getGrpUsers()" completer="AJAXTableCompleter"/>

</div>
</div>

 

But the query is not validating and this is returning all users. Could you please help me to  call an advanced reference qualifier in ui page >> HTML

 

 

1 ACCEPTED SOLUTION

Sai Kumar B
Mega Sage
Mega Sage

@Gudipati Hemalatha 

Try the below codes

//Try the whole in UI page 

<g:evaluate var="jvar_users">
var fetchUsers = new GlideRecord('sys_user_grmember');
fetchUsers.addQuery('group', "group_sys_id);
fetchUsers.query();
var usersList = []; // create an array of user IDs
while (fetchUsers.next()) {
usersList.push(fetchUsers.getValue('user')); // add record's user to list as a member of that group
}
var users = list.join(','); // create comma separated values
users;   // save it to jvar_users
</g:evaluate>
<div class="form-group" id="manager-wrapper">
<label class="col-sm-2 control-label"><span mandatory="true" class="required-marker"></span>${gs.getMessage('Manager')}</label>
<div class="col-sm-10">
<g:ui_reference mandatory="true" name="incident_sysid" table="sys_user" show_popup="true" show_lookup="true" query="sys_idIN${jvar_users}" completer="AJAXTableCompleter"/>
</div>
</div>

OR

<div class="form-group" id="manager-wrapper">
<label class="col-sm-2 control-label"><span mandatory="true" class="required-marker"></span>${gs.getMessage('Manager')}</label>
<div class="col-sm-10">
<g:ui_reference mandatory="true" name="incident_sysid" table="sys_user" show_popup="true" show_lookup="true" query="javascript:new sn_major_inc_mgmt.GetMIMGroupMembers().getGrpUsers()"/>

</div>
</div>

View solution in original post

2 REPLIES 2

Sai Kumar B
Mega Sage
Mega Sage

@Gudipati Hemalatha 

Try the below codes

//Try the whole in UI page 

<g:evaluate var="jvar_users">
var fetchUsers = new GlideRecord('sys_user_grmember');
fetchUsers.addQuery('group', "group_sys_id);
fetchUsers.query();
var usersList = []; // create an array of user IDs
while (fetchUsers.next()) {
usersList.push(fetchUsers.getValue('user')); // add record's user to list as a member of that group
}
var users = list.join(','); // create comma separated values
users;   // save it to jvar_users
</g:evaluate>
<div class="form-group" id="manager-wrapper">
<label class="col-sm-2 control-label"><span mandatory="true" class="required-marker"></span>${gs.getMessage('Manager')}</label>
<div class="col-sm-10">
<g:ui_reference mandatory="true" name="incident_sysid" table="sys_user" show_popup="true" show_lookup="true" query="sys_idIN${jvar_users}" completer="AJAXTableCompleter"/>
</div>
</div>

OR

<div class="form-group" id="manager-wrapper">
<label class="col-sm-2 control-label"><span mandatory="true" class="required-marker"></span>${gs.getMessage('Manager')}</label>
<div class="col-sm-10">
<g:ui_reference mandatory="true" name="incident_sysid" table="sys_user" show_popup="true" show_lookup="true" query="javascript:new sn_major_inc_mgmt.GetMIMGroupMembers().getGrpUsers()"/>

</div>
</div>

Thank you Sai Kumar, The first solution is working for me.