diff --git a/rhodecode/controllers/admin/repos_groups.py b/rhodecode/controllers/admin/repos_groups.py --- a/rhodecode/controllers/admin/repos_groups.py +++ b/rhodecode/controllers/admin/repos_groups.py @@ -33,14 +33,10 @@ class ReposGroupsController(BaseControll def __load_defaults(self): c.repo_groups = [('', '')] - parents_link = lambda k: h.literal('»'.join( - map(lambda k: k.group_name, - k.parents + [k]) - ) - ) + parents_link = lambda k: h.literal('»'.join(k)) - c.repo_groups.extend([(x.group_id, parents_link(x)) for \ - x in self.sa.query(Group).all()]) + c.repo_groups.extend([(x.group_id, parents_link(x.full_path_splitted)) + for x in self.sa.query(Group).all()]) c.repo_groups = sorted(c.repo_groups, key=lambda t: t[1].split('»')[0]) @@ -58,6 +54,8 @@ class ReposGroupsController(BaseControll data = repo_group.get_dict() + data['group_name'] = repo_group.name + return data @HasPermissionAnyDecorator('hg.admin') @@ -176,6 +174,10 @@ class ReposGroupsController(BaseControll return redirect(url('repos_groups')) + def show_by_name(self, group_name): + id_ = Group.get_by_group_name(group_name).group_id + return self.show(id_) + def show(self, id, format='html'): """GET /repos_groups/id: Show a specific item""" # url('repos_group', id=ID)