FIX: Can't remove selection from group chooser in tag group settings (#11822)

This change fixes an issue with the user group chooser of a tag group's settings. It was impossible to clear any selected groups through the UI.

The `setPermissionsGroups` function determines which groups appear selected in the group-chooser based on the passed-in `groupIds` array.

It starts with `updatedPermissions` being set to the group permissions as they were prior to the action that called the function. From there, we were correctly adding a group permission to `updatedPermissions` whenever a group appeared in `groupIds`. This addressed newly added groups and also maintained any group permissions that had been set before. The problem was that there was no logic to remove a group permission when the associated group no longer appeared in `groupIds`. If a group isn't included in `groupIds`, we can simply attempt to delete an associated group permission if it exists.
This commit is contained in:
tshenry 2021-01-26 10:22:05 -08:00 committed by GitHub
parent f3cd5dc096
commit 65cf3230ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -107,6 +107,8 @@ export default Component.extend(bufferedProperty("model"), {
this.allGroups.forEach((group) => {
if (groupIds.includes(group.id)) {
updatedPermissions[group.name] = PermissionType.FULL;
} else {
delete updatedPermissions[group.name];
}
});