No autocomplete matches for Self Service users

Hi, I’m looking to be able to have unprivileged users to autocomplete all other users in RT when making a ticket, in either the Requestors or Cc field. After setting the config option to 1 in the RT_SiteConfig.pm file, I get the autocomplete box showing up, but no matches for any name or email. If I switch the user to privileged mode, this goes away and it works normally, however.

Is there some missing Group Right that needs to be set? I tried to add Watch permissions for all in the queue, but I’m still facing the issue.

The version of RT is 5.0.4 by the way, any help is appreciated.

It seems like you’re facing an issue with unprivileged users not being able to autocomplete other users in RT when making a ticket. Here are some steps to troubleshoot:

  1. Group Rights: Check if the unprivileged user group has the necessary rights. Make sure they have the “ShowTicket” and “OwnTicket” rights at least. You can also grant “ModifyTicket” if needed.
  2. Watchers and Requestors: Ensure that the unprivileged user group has “Watch” and “Own” permissions for the specific queue. Also, double-check that “WatchAsAdminCc” is set to 1 in your RT_SiteConfig.pm.
  3. Permissions Hierarchy: Review your queue-specific permissions hierarchy. Sometimes, if a global group right conflicts with queue-specific settings, it can cause issues.
  4. Restart Services: After making changes to RT_SiteConfig.pm or permissions, restart your web server (e.g., Apache) and clear your browser cache to ensure changes take effect.
  5. Logs and Debugging: Check RT’s logs for any errors or warnings that might give more insight into the issue. You can increase the log level in RT_SiteConfig.pm temporarily for debugging.
  6. Upgrade: Since you’re using RT 5.0.4, consider upgrading to a more recent version if possible, as newer versions may have resolved some of these issues.

Thanks for the tips, I tried each of these steps and still nothing seems to have changed, I also made sure that Set($AllowGroupAutocompleteForUnprivileged, 1); was in my config (don’t really see this mentioned much)

I can get around it, or otherwise get it to work if I edit the SelfService/Create.html and replace the AutocompleteType with ‘Users’ instead of ‘Principals’ - in that case, it will autocomplete the users, just not the groups, which is at least something. If I set it to ‘Groups’, it will cease to work at all.

When inspecting the source code, it looks as if in Helpers/Autocomplete/Users has this line/block of code which makes it possible for an unprivileged user to inspect and autocomplete users, using that config setting:

# Require privileged users or overriding config
$m->abort unless $CurrentUser->Privileged
              or RT->Config->Get('AllowUserAutocompleteForUnprivileged');

However, when looking at the Helpers/Autocomplete/Groups file, it looks as a bit different:

# Require privileged users
$m->abort unless $CurrentUser->Privileged;

I tried attaching the ‘or RT->Config->Get(‘AllowGroupAutocompleteForUnprivileged’);’ condition in the source, similar to Users, then clearing the meson cache/apache, but it seems to not take. I’m guessing there is something internal that prevents unprivileged users from searching groups somewhere, or perhaps a bug?

Either way, will just roll with users for now, unless there’s a fix or workaround somewhere.

I did also make sure unprivileged users had the ‘SeeGroup’ permission, but that also doesn’t seem to do anything.