[UserCap BE]: Disable group sharing
Why are we doing this work
In &4315, we introduced a User Cap
setting for self-managed admins to prevent accidental user overages, now we are doing the same for SaaS group owners to prevent accidental overages.
This work will be broken down into the following backend steps:
- Add user cap setting
- Adding/inviting members
- Notifications
- Member management
- Auto approval
- Approval Modal
- Group access modifications
-
Group sharing
👈 we are here - UserCap availability
For a given group, group sharing should be disabled when:
- this group's ancestor group has a User cap set.
- this group is an ancestor group and has a User cap set.
If a User Cap setting is enabled for a root group, then Namespace#share_with_group_lock
should be enabled for this root group as well as all its subgroups.
This discussion around this requirement will add more context: &5803 (comment 558309774).
The "disable group share" functionality is being delivered as part of #217623 (closed)
Relevant links
- Epic: &5803 (closed)
- Designs: #321934[V4.png], #328680[pending.png]
Implementation plan
-
Add validation for User Cap enablement to require (or auto enable?) disabling of group sharing
Additional notes
Further consideration for this change is:
What should happen with the associated group sharing disable attribute when an owner disables the User Cap feature?
Initial thoughts are that the attribute can be enabled independantly from User Caps, so it should be left enabled because we have no way of knowing if it was enabled in conjunction with User Caps or not, but this should be confirmed.