see gerrit #3623
- Why do we need to do this?
Example:
Let's you have an item, say a tracker, with the following properties.
* members of group A can see all the artifacts submitted by someone in their group ;
* members of group B can see all the artifactssubmitted by someone in their group ;
* members of group C can see all the artifacts assigned to someone in their group ;
* members of group D can see all the artifacts.
Let's say John belongs to group A and submits a new artifact.
- The resulting people who can see it are those belonging to groups A and D
Let's say this same artifact is assigned to Anna in group C.
- The resulting people who can see it are those belonging to groups A, C and D
Let's say John moves from group A to group B.
- The resulting people who can see the artifact are now those belonging to groups B, C and D
In other words the permissions for an item depend which group has permissions for it and on who belongs to which group. Thus we need to reindex when people are removed from user groups (including project members and project admins).