|
| 1 | +// onload Catalog Client Script with Catalog Name |
| 2 | +function onLoad() { |
| 3 | + var variableName = 'bypass_approval_reason'; |
| 4 | + var targetGroupName = 'ServiceNow Support'; // The group authorized to skip this step |
| 5 | + var ga = new GlideAjax('UserUtils'); |
| 6 | + ga.addParam('sysparm_name', 'isMemberOf'); |
| 7 | + ga.addParam('sysparm_group_name', targetGroupName); |
| 8 | + ga.getXMLAnswer(checkAndLockVariable); |
| 9 | + function checkAndLockVariable(response) { |
| 10 | + var isMember = response; |
| 11 | + if (isMember == 'true') { |
| 12 | + var message = 'Value set and locked due to your ' + targetGroupName + ' membership.'; |
| 13 | + var setValue = 'Bypassed by authorized ' + targetGroupName + ' member.'; |
| 14 | + g_form.setValue(variableName, setValue); |
| 15 | + g_form.setReadOnly(variableName, true); |
| 16 | + g_form.showFieldMsg(variableName, message, 'info'); |
| 17 | + } else { |
| 18 | + g_form.setReadOnly(variableName, false); |
| 19 | + } |
| 20 | + } |
| 21 | +} |
| 22 | + |
| 23 | +//Script Include |
| 24 | +var UserUtils = Class.create(); |
| 25 | +UserUtils.prototype = Object.extendsObject(AbstractAjaxProcessor, { |
| 26 | + isMemberOf: function() { |
| 27 | + var groupName = this.getParameter('sysparm_group_name'); |
| 28 | + var isMember = gs.getUser().isMemberOf(groupName); |
| 29 | + return isMember.toString(); |
| 30 | + }, |
| 31 | + |
| 32 | + type: 'UserUtils' |
| 33 | +}); |
0 commit comments