In the on-call application, the rota_admin role does not allow anyone to populate a schedule they have created with members of their team. The slush bucket list collector that appears does not list anyone, but it works correctly for an administrator.
When the Customer Service [com.sn_customerservice] plugin is loaded, it additionally loads a plugin called Customer Service Base Entries [com.snc.cs_base] which contains a restrictive read ACL on sys_user.sys_id. This ACL prevents users from querying the sys_user table by sys_id, which the slushbucket does for the Member drop-down list on the Manage Rota form.
Steps to Reproduce
Activate the On-Call Scheduling (com.snc.on_call_rotation) plugin if not activated.
Navigate to On-Call Scheduling > On-Call Calendars.
Select a group.
Right-click the group and select Manage Rota.
In the Manage Rota form, click the Member drop-down list.
Note that Members are not visible and the Member field displays No matches found, as in the following example.
After the fix or workaround is applied, you should see multiple group members in the Member drop-down list.
Go to the sys_security_acl table and search entries by name: *sys_user.sys_id.
Add the snc_internal role in the Requires Role tab.
In the Script field, edit the script as follows:
if (gs.hasRole('snc_internal')) answer = true; else if (gs.getUserID() == current.sys_id) answer = true; else answer = false;
Related Problem: PRB1021742