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.

Screenshot_2025-02-17_at_15.53.51

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.
  1. 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
  2. When that dropdown is changed, update the endpoint in app/assets/javascripts/groups/components/overview_tabs.vue#L61 to !155251 (merged)
  3. 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

image

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.

Edited Feb 17, 2025 by Christina Lohr
Assignee Loading
Time tracking Loading