Check Member Roles When Adding to Groups with Block Seat Overages
What does this MR do and why?
Check membership access levels when adding members to groups with block seat overages enabled.
Allow adding guests and minimal access users even when there are no seats left if the group has an ultimate subscription.
Allow adding minimal access users even when there are no seats left if the group has a premium subscription.
Block seat overages is behind a feature flag.
Issue: https://gitlab.com/gitlab-org/gitlab/-/issues/472299
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Screenshots or screen recordings
The group in the videos below is on an Ultimate subscription, so adding a Guest should be allowed even if there is not a billable seat available.
Before | After |
---|---|
AddGuestBefore-small | AddGuestAfter-small |
How to set up and validate locally
- Enable the
block_seat_overages
feature flag. - Run GDK in simulate saas mode.
- Create a group with an ultimate subscription. Set the number of seats in the group.
- Go to Settings > General for the root group.
- Open Permission and group features.
- Scroll down to Seat controls and choose Restricted access. Click Save changes.
- Try adding members to the group in excess of the number of seats. Developers should be rejected while guests are accepted.
Edited by Jason Goodman