diff --git a/object/group.go b/object/group.go index 30c5fef1..08c062e1 100644 --- a/object/group.go +++ b/object/group.go @@ -83,19 +83,23 @@ func GetPaginationGroups(owner string, offset, limit int, field, value, sortFiel func GetGroupsHaveChildrenMap(groups []*Group) (map[string]*Group, error) { groupsHaveChildren := []*Group{} resultMap := make(map[string]*Group) + groupMap := map[string]*Group{} groupIds := []string{} for _, group := range groups { + groupMap[group.Name] = group groupIds = append(groupIds, group.Name) - groupIds = append(groupIds, group.ParentId) + if !group.IsTopGroup { + groupIds = append(groupIds, group.ParentId) + } } err := ormer.Engine.Cols("owner", "name", "parent_id", "display_name").Distinct("parent_id").In("parent_id", groupIds).Find(&groupsHaveChildren) if err != nil { return nil, err } - for _, group := range groups { - resultMap[group.Name] = group + for _, group := range groupsHaveChildren { + resultMap[group.ParentId] = groupMap[group.ParentId] } return resultMap, nil } diff --git a/web/src/GroupListPage.js b/web/src/GroupListPage.js index 451b25db..97c14455 100644 --- a/web/src/GroupListPage.js +++ b/web/src/GroupListPage.js @@ -14,7 +14,7 @@ import React from "react"; import {Link} from "react-router-dom"; -import {Button, Table} from "antd"; +import {Button, Table, Tooltip} from "antd"; import moment from "moment"; import * as Setting from "./Setting"; import * as GroupBackend from "./backend/GroupBackend"; @@ -202,12 +202,16 @@ class GroupListPage extends BaseListPage { return (