Fixed 'Subuser without all permissions cannot edit another Subuser's permissions' and 'PermissionTitleRow Select All applies to disabled/dis-allowed permissions' #5182
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently, Subusers who don't have all permissions for a server cannot edit another Subuser's permissions due to the SubuserRequest not accounting for pre-existing permissions, so the Panel believes the user is trying to edit all the permissions.
This is the error the user gets when their request is denied.
So, I've added some logic to work out which permissions were removed and added and then check the user has all those modified permissions.
In relation to this, Subusers can currently use the Select All even when all permissions within the group are disabled causing all disabled/dis-allowed permissions to be selected - I've fixed this bug in this PR.
With my fix, the button is disabled when all permissions within the group are disabled and when there are some (not all) permissions available, only the ones available are affected.