URL Field Readonly
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-07-2025 01:37 AM
Hi,
Not able to make a particular URL type field read-only or editable based on role or group validation.
here is the script:
Business Rule (Display)
(function executeRule(current, previous /*null when async*/ ) {
g_scratchpad.userRole = gs.hasRole('xxxx');
g_scratchpad.userGroup = gs.getUser().isMemberOf('xxxx');
gs.info("Role: " + g_scratchpad.userRole);
gs.info("Group is: " + g_scratchpad.userGroup);
})(current, previous)
Client Script (onload)
function onLoad() {
var userR = g_scratchpad.userRole;
var userG = g_scratchpad.userGroup;
if (userR == 'true' || userG == 'true') {
g_form.setReadOnly('xxxx', false);
g_form.setMandatory('xxxx', true);
} else {
g_form.setReadOnly('xxxx', true);
}
}
problem: Even though the logged in user has either role or group but the URL type field is not showing as editable.
- Labels:
-
Service Desk
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-07-2025 01:48 AM
I accidently accpeted your solution, though i update the client script but no luck
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-07-2025 01:56 AM
this update didn't work for me
also, the client script is for a custom view
i have mentioned the view name as well by unchecking the global checkbox and entered the view name
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-07-2025 02:04 AM
did you add alert and debug?
If my response helped please mark it correct and close the thread so that it benefits future readers.
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-07-2025 02:15 AM
yes i added the alert and alerts are positively showing that the user is the member of the group but still the url type field is not editable
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-07-2025 02:13 AM
It may be that the client script is running faster than the timing at which values are assigned to g_scratchpad.
Why not check the value of g_scratchpad that can be obtained by the client script?
Otherwise, it may be a good idea to use GlideAjax for processing.
Simply create a client callable Script include and respond whether it matches the conditions.