- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-01-2025 09:22 AM
want to not show certain states (remove state options) depending on assignment group
This isnt working in Service Operations Workspace
Solved! Go to Solution.
- Labels:
-
Service Operations Workspace
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-24-2025 08:08 AM
This is the solution from my colleague:
Client Script and instead of using g_form.getDisplayBox, change to use g_form.getDisplayValue
Important note:
Here is the client script we have implemented
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-01-2025 09:30 AM
Hi @Bret Smith ,
should be because of getDisplayBox method
instead to this
create a client callable script include
var GetAssignmentGroupDisplayValue = Class.create();
GetAssignmentGroupDisplayValue.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getGroupDisplayValue: function() {
var groupSysId = this.getParameter('sysparm_group_sys_id');
var groupGR = new GlideRecord('sys_user_group');
if (groupGR.get(groupSysId)) {
return groupGR.getDisplayValue();
}
return '';
},
type: 'GetAssignmentGroupDisplayValue'
});
update onload client script as
function onLoad() {
var groupSysId = g_form.getValue('assignment_group');
var ga = new GlideAjax('GetAssignmentGroupDisplayValue');
ga.addParam('sysparm_name', 'getGroupDisplayValue');
ga.addParam('sysparm_group_sys_id', groupSysId);
ga.getXMLAnswer(function(response) {
var assignGrpDisplayValue = response;
if (assignGrpDisplayValue.indexOf('Network Security Support') < 0) {
g_form.removeOption('state', '10');
g_form.removeOption('state', '11');
g_form.removeOption('state', '12');
}
});
}
onchange client script as
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue === '') {
return;
}
var groupSysId = g_form.getValue('assignment_group');
var ga = new GlideAjax('GetAssignmentGroupDisplayValue');
ga.addParam('sysparm_name', 'getGroupDisplayValue');
ga.addParam('sysparm_group_sys_id', groupSysId);
ga.getXMLAnswer(function(response) {
var assignGrpDisplayValue = response;
if (assignGrpDisplayValue.indexOf('Network Security Support') < 0) {
g_form.removeOption('state', '10');
g_form.removeOption('state', '11');
g_form.removeOption('state', '12');
} else {
// Uncomment if you want to add options dynamically
// g_form.addOption('state', '10','Firewall Awaiting Customer');
// g_form.addOption('state', '11','Firewall Rejection');
// g_form.addOption('state', '12','Firewall Request CISO Approval');
g_form.save(); // Only use if you want to auto-save the form
}
});
}
Please mark my answer as helpful/correct if it resolves your query.
Regards,
Chaitanya
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-24-2025 08:08 AM
This is the solution from my colleague:
Client Script and instead of using g_form.getDisplayBox, change to use g_form.getDisplayValue
Important note:
Here is the client script we have implemented
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-24-2025 08:23 AM
Client Script
onChange when Assignment group changes
SOW uses the group name
the backend (UI 16) uses the sys_id of the group name