Show Banner When there is a Seat Overage
What does this MR do and why?
Show an alert banner when there is a seat overage.
When block seat overages is enabled, and there are more members in the namespace than there are seats in the subscription, display a banner alert informing that the namespace is now read-only.
Inform owners that they can unlock the namespace by reducing the number of members or buying more seats.
Inform non-owners to contact their group owner.
These banners are based on similar banners that appear when the Free User Limits are exceeded. They are largely the same banners with small adjustments in text and buttons.
Block seat overages is behind a feature flag.
Issue: https://gitlab.com/gitlab-org/gitlab/-/issues/444892
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
Owner banner on a group page
Clicking the read-only link takes the owner to the Read-only namespaces documentation
Clicking Manage Members takes owner to the Seats tab on the Usage Quotas page
Owner banner on a project page
Non-owner banner on a group page
Non-owner banner on a project page
For Comparison With Free User Limits Banners
Owner banner
Non-owner banner
How to set up and validate locally
- Add more billable members to your group than there are seats in the subscription.
- Enable the feature flag:
Feature.enable(:block_seat_overages, group)
- Run in simulating saas mode.
- The namespace should display read-only banners as seen in the screenshots above.
Note that because this uses reactive caching, the banners may not load on the initial page load, and you need to make sure that your rails background jobs are working locally.