The Now Platform® Washington DC release is live. Watch now!
‎10-03-2013 05:03 AM
Hello,
We have a process where certain Incident tickets are only visible to users with a specific role or if the ticket is assigned to a user's group. We have created a flag on these Incidents.
I am trying to create a Query Business Rule that will display only these particular Incidents if a user has the required role (works fine), but I'm struggling to put together the piece with the assignment group. Can a Query Business Rule read the current.assignment_group on a record? I've been hard coding the assignment group values, not sure if there is a way to do this better.
Thanks!
Here is what I have so far:
if (gs.hasRole("ediscovery")) {
qc = current.addOrCondition('u_ediscovery', 'true');
} else {
if (gs.getUser().isMemberOf('0c9f0d4d6f0891006b7283bc5d3ee4fb')){
//gs.addInfoMessage("Member of Wintel");
var oc1 = current.addQuery("assignment_group", "javascript:getMyGroups()");
grpMbr = true;
}
if (gs.getUser().isMemberOf('009f0d4d6f0891006b7283bc5d3ee4f5')){
//gs.addInfoMessage("Member of Messaging Support");
var oc2 = current.addQuery("assignment_group", "javascript:getMyGroups()");
grpMbr = true;
}
if (gs.getUser().isMemberOf('849f0d4d6f0891006b7283bc5d3ee4ef')){
//gs.addInfoMessage("Member of Distribution");
var oc3 = current.addQuery("assignment_group", "javascript:getMyGroups()");
grpMbr = true;
}
if (gs.getUser().isMemberOf('889f0d4d6f0891006b7283bc5d3ee4f1')){
//gs.addInfoMessage("Member of Kansas City");
var oc4 = current.addQuery("assignment_group", "javascript:getMyGroups()");
grpMbr = true;
}
if (gs.getUser().isMemberOf('0c9f0d4d6f0891006b7283bc5d3ee4f2')){
//gs.addInfoMessage("Member of Leavenworth");
var oc5 = current.addQuery("assignment_group", "javascript:getMyGroups()");
grpMbr = true;
}
}
if (grpMbr == false && !gs.hasRole("ediscovery")){
qc = current.addQuery("u_ediscovery",'false');
}
‎10-03-2013 05:24 AM
Here's an example from SNGuru.
http://www.servicenowguru.com/scripting/business-rules-scripting/controlling-record-access-before-query-business-rules/
You don't need the 'javasript:' and the quotes in the second piece of your query condition.
‎10-03-2013 08:35 AM
Thanks! That helps out a lot!
‎10-04-2013 05:10 AM
Does this business rule also get run on reports?
‎10-04-2013 05:14 AM
Yes, it gets run whenever the data in the table in question is queried.