Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
ea4e17e2
G
gitlab-foss
项目概览
李少辉-开发者
/
gitlab-foss
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-foss
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
ea4e17e2
编写于
9月 14, 2017
作者:
B
Bob Van Landuyt
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Search subgroups on dashboard and explore views
上级
3a4dc55f
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
31 addition
and
5 deletion
+31
-5
app/controllers/concerns/group_tree.rb
app/controllers/concerns/group_tree.rb
+8
-3
spec/controllers/concerns/group_tree_spec.rb
spec/controllers/concerns/group_tree_spec.rb
+23
-1
spec/controllers/explore/groups_controller_spec.rb
spec/controllers/explore/groups_controller_spec.rb
+0
-1
未找到文件。
app/controllers/concerns/group_tree.rb
浏览文件 @
ea4e17e2
module
GroupTree
def
render_group_tree
(
groups
)
# Only show root groups if no parent-id is given
@groups
=
groups
.
where
(
parent_id:
params
[
:parent_id
])
@groups
=
@groups
.
search
(
params
[
:filter
])
if
params
[
:filter
].
present?
if
params
[
:filter
].
present?
@groups
=
Gitlab
::
GroupHierarchy
.
new
(
groups
).
all_groups
@groups
=
@groups
.
search
(
params
[
:filter
])
else
# Only show root groups if no parent-id is given
@groups
=
groups
.
where
(
parent_id:
params
[
:parent_id
])
end
@groups
=
@groups
.
includes
(
:route
)
@groups
=
@groups
.
sort
(
@sort
=
params
[
:sort
])
@groups
=
@groups
.
page
(
params
[
:page
])
...
...
@@ -12,6 +16,7 @@ module GroupTree
format
.
json
do
serializer
=
GroupChildSerializer
.
new
(
current_user:
current_user
)
.
with_pagination
(
request
,
response
)
serializer
.
expand_hierarchy
if
params
[
:filter
].
present?
render
json:
serializer
.
represent
(
@groups
)
end
end
...
...
spec/controllers/concerns/group_tree_spec.rb
浏览文件 @
ea4e17e2
...
...
@@ -5,7 +5,8 @@ describe GroupTree do
let
(
:user
)
{
create
(
:user
)
}
controller
(
ApplicationController
)
do
include
GroupTree
# rubocop:disable Rspec/DescribedClass
# `described_class` is not available in this context
include
GroupTree
# rubocop:disable RSpec/DescribedClass
def
index
render_group_tree
Group
.
all
...
...
@@ -43,6 +44,14 @@ describe GroupTree do
expect
(
assigns
(
:groups
)).
to
contain_exactly
(
subgroup
)
end
it
'allows filtering for subgroups'
do
subgroup
=
create
(
:group
,
:public
,
parent:
group
,
name:
'filter'
)
get
:index
,
filter:
'filt'
,
format: :json
expect
(
assigns
(
:groups
)).
to
contain_exactly
(
subgroup
)
end
end
context
'json content'
do
...
...
@@ -51,6 +60,19 @@ describe GroupTree do
expect
(
json_response
.
first
[
'id'
]).
to
eq
(
group
.
id
)
end
context
'nested groups'
,
:nested_groups
do
it
'expands the tree when filtering'
do
subgroup
=
create
(
:group
,
:public
,
parent:
group
,
name:
'filter'
)
get
:index
,
filter:
'filt'
,
format: :json
children_response
=
json_response
.
first
[
'children'
]
expect
(
json_response
.
first
[
'id'
]).
to
eq
(
group
.
id
)
expect
(
children_response
.
first
[
'id'
]).
to
eq
(
subgroup
.
id
)
end
end
end
end
end
spec/controllers/explore/groups_controller_spec.rb
浏览文件 @
ea4e17e2
...
...
@@ -20,5 +20,4 @@ describe Explore::GroupsController do
expect
(
assigns
(
:groups
)).
to
contain_exactly
(
member_of_group
,
public_group
)
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录