
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-22-2017 07:59 AM
Hi Community,
Using Helsinki - helsinki-03-16-2016__patch7-11-02-2016
Following a recent audit I need to prevent any Requester being able to Approve their own Change Requests.
I have read a couple of articles similar to my situation but they have been specific to a particular Assignment Group and my scripting skills are non existent to be able to turn their suggestions into something that works!! I have also tried writing a Business Rules on the sysapproval_approver table but could not get this to work either.
I have attempted to change the below script from another post from 2014 to work in our Instance but I cannot get it to work - the best result was skipping the Peer check step of the workflow where an approval is required from the Assignment group of the Requester.
- answer = [];
- var approvers = new GlideRecord('sys_user_grmember');
- approvers.addQuery('group.name', 'IT Infrastructure Managers');
- approvers.query();
- while(approvers.next()) {
- if(approvers.user.toString() != current.requested_by.toString()) {
- answer.push(approvers.user.toString());
- }
- }
My version:
1. answer = [];
2. var approvers = new GlideRecord('sys_user_grmember');
3. approvers.addQuery('current.assignment_group');
4. approvers.query();
5. while(approvers.next()) {
6. if(approvers.user.toString() != current.requested_by.toString()) {
7. answer.push(approvers.user.toString());
8. }
9. }
I think the script is doing the following:
2 - Identifying the Group the Requester is in
3 - Is the Requester in the Assignment Group?
4 - ??
5 - ??
6 - If the Requester is in the Assignment Group
7 - ?? do something!
Many thanks in advance.
Steve Brown
Solved! Go to Solution.
- Labels:
-
Change Management
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-22-2017 08:28 AM
There is an additional quotes in the current.assignment_group which will not make it work. I have done a minor update to code
answer = [];
var approvers = new GlideRecord('sys_user_grmember');
approvers.addQuery('group', current.assignment_group); //Matches assignment group on change with the group membership table
approvers.query();
while(approvers.next()) {
if(approvers.user.toString() != current.requested_by.toString()) {
answer.push(approvers.user.toString());
}
}
I have tested this and it was working on my developer instance.
Thanks
Please Hit like, Helpful or Correct depending on the impact of the response
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-22-2017 08:06 AM
Hi Steve,
Can you try this code and see if it works
answer = [];
var approvers = new GlideRecord('sys_user_grmember');
approvers.addQuery('group', 'current.assignment_group'); //Matches assignment group on change with the group membership table
approvers.query();
while(approvers.next()) {
if(approvers.user.toString() != current.requested_by.toString()) {
answer.push(approvers.user.toString());
}
}
Thanks
Please Hit like, Helpful or Correct depending on the impact of the response
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-22-2017 08:28 AM
There is an additional quotes in the current.assignment_group which will not make it work. I have done a minor update to code
answer = [];
var approvers = new GlideRecord('sys_user_grmember');
approvers.addQuery('group', current.assignment_group); //Matches assignment group on change with the group membership table
approvers.query();
while(approvers.next()) {
if(approvers.user.toString() != current.requested_by.toString()) {
answer.push(approvers.user.toString());
}
}
I have tested this and it was working on my developer instance.
Thanks
Please Hit like, Helpful or Correct depending on the impact of the response

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-23-2017 08:40 AM
Hi Alikutty,
Many thanks for your replies. I have tried both of these scripts to no avail unfortunately.
1st Script - Allows Requester to Approve their own Change.
2nd Script - Also allows the Requester to Approve their own Change.
Are you able to assist any further?
Best regards,
Steve Brown
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-23-2017 08:44 AM