Show owners of shared groups which groups/projects their group has been shared with
Problem
I can invite Group X into Group Y if I have enough privileges on both Group X and Y. This means that I could make the invite to Group X, login, go to Group X and then accept the invite myself, and then nobody else in Group X will have any means to control this group share, not even the means to delete this group share if another Owner in Group X feels that this specific group-share is unnecessary. In fact, today, there is absolutely no indication on Group X's UI that it is currently being shared with Group Y.
Proposal
Add a section to the group overview page to indicate which groups and projects it has been shared with.
Implementation guide
-
Generate API call to list groups that the group has been shared with. See #424959 (closed). -
Build frontend to display groups as part of an expanded Shared groups and projects
tab -
Ensure to add a section in the docs (maybe here) to explain the concept of a Shared group
.
- In app/assets/javascripts/groups/components/overview_tabs.vue#L275 use the default slot to add a dropdown similar to app/assets/javascripts/organizations/groups_and_projects/components/app.vue#L231
- When that dropdown is changed, update the endpoint in app/assets/javascripts/groups/components/overview_tabs.vue#L61 to !155251 (merged)
- Also when dropdown is changed emit "eventHub.emit(`{this.activeTab.key}fetchPage`)"
There will be some unknowns with this so weighting a 3
Alternative design proposal
Note: Stats for groups are shown but should be considered nice to have if the backend can support them, but are not required for this iteration.