I do not want the ability for user to select any groups which are in the IT tenancy.
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-04-2024 11:56 PM
.
I want to restrict user to use Groups in catalog Item where Assignment Group Contains IST and tenancy is 'IT'
2 REPLIES 2

Community Alums
Not applicable
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-05-2024 01:12 AM
Hi @akash12345 ,
try this on change client script and do necessary changes.
function onChange(control, oldValue, newValue, isLoading) {
// Ensure the form is not loading
if (isLoading) return;
// Get the value of the Assignment Group field and the Tenancy field
var assignmentGroup = g_form.getValue('assignment_group');
var tenancy = g_form.getValue('tenancy'); // Assuming you have a tenancy field
// Check if the Assignment Group contains 'IST' and the tenancy is 'IT'
if (assignmentGroup.indexOf('IST') !== -1 && tenancy == 'IT') {
// If the condition is met, display an error and reset the field
g_form.showFieldMsg('assignment_group', 'Selection of this group is restricted for IT tenancy', 'error');
// Optionally, you can clear the value of the Assignment Group field
g_form.setValue('assignment_group', '');
}
}
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-05-2024 01:50 AM
Hello @akash12345
Try with the below Script:
// Client Script: onLoad or onChange Script
function onLoad() {
var userTenancy = g_user.tenancy; // Get the user's tenancy
// Check if Tenancy is 'IT'
if (userTenancy === 'IT') {
var assignmentGroupField = g_form.getControl('assignment_group');
// GlideRecord to query for assignment groups containing 'IST'
var gr = new GlideRecord('sys_user_group');
gr.addQuery('name', 'CONTAINS', 'IST'); // Look for groups containing 'IST'
gr.query();
var groupNames = [];
while (gr.next()) {
groupNames.push(gr.name.toString()); // Collect the group names in an array
}
if (groupNames.length > 0) {
var assignmentGroupValue = g_form.getValue('assignment_group'); // Get the selected group value
if (groupNames.includes(assignmentGroupValue)) {
g_form.setDisplay('assignment_group', false); // Hide the Assignment Group field
g_form.setValue('assignment_group', ''); // Clear the field value
}
}
}
}
Please Mark Correct ✔️ if this solves your query and also mark Helpful 👍 if you find my response worthy based on the impact.
Regards,
Shruti