I am currently working on a role called "read_incident" which should allow EES Users read the incidents of their assignment group.
Therefor I did the following:
- created a role "read_incident"
- assigned the role to group "Service Desk"
- created a user "Denis" and added him to the "Service Desk" group
- modified the query incident Business rule using an addorcondition to include my "read_incident" role to read incidents. (now you either have the "itil role", or the "read_incident" role to read incidents.
- created an ACL with dynamic filter to read incidents if the assignment group is one of my groups.
Now I created a homepage using a gauge of a list report of incidents which are assigned to "service desk" group.
As admin I can see all the incidents of course. But when I impersonate "Denis", the incident list reports the following "No records to display"
So nothing is blocking me from reading incidents, but somehow there is no Data match. I tried creating a new incident and assign it to the "service desk" but still this incident isn't visible for the user "Denis".
What I know until now: - Business rule is 100% working, because no "data is blocked" - I can query the incident table
The Business rule:
if (!gs.hasRole("itil").addOrCondition(!gs.hasRole("read_incident") && gs.isInteractive()) {
var u = gs.getUserID();
var qc = current.addQuery("caller_id", u).addOrCondition("opened_by", u).addOrCondition("watch_list", "CONTAINS", u);
gs.print("query restricted to user: " + u);
}