Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
e5c6f943
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,发现更多精彩内容 >>
未验证
提交
e5c6f943
编写于
10月 31, 2016
作者:
R
Rémy Coutable
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Backport Group API code that was added in EE only
Signed-off-by:
N
Rémy Coutable
<
remy@rymai.me
>
上级
a60cc42b
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
33 addition
and
16 deletion
+33
-16
app/assets/javascripts/api.js
app/assets/javascripts/api.js
+5
-7
app/assets/javascripts/groups_select.js
app/assets/javascripts/groups_select.js
+4
-3
app/assets/javascripts/project_select.js
app/assets/javascripts/project_select.js
+2
-2
app/assets/javascripts/search.js
app/assets/javascripts/search.js
+1
-1
doc/api/groups.md
doc/api/groups.md
+6
-2
lib/api/groups.rb
lib/api/groups.rb
+3
-0
spec/requests/api/groups_spec.rb
spec/requests/api/groups_spec.rb
+12
-1
未找到文件。
app/assets/javascripts/api.js
浏览文件 @
e5c6f943
...
...
@@ -22,16 +22,14 @@
});
},
// Return groups list. Filtered by query
// Only active groups retrieved
groups
:
function
(
query
,
skip_ldap
,
skip_groups
,
callback
)
{
groups
:
function
(
query
,
options
,
callback
)
{
var
url
=
Api
.
buildUrl
(
Api
.
groupsPath
);
return
$
.
ajax
({
url
:
url
,
data
:
{
search
:
query
,
skip_groups
:
skip_groups
,
per_page
:
20
},
data
:
$
.
extend
({
search
:
query
,
per_page
:
20
},
options
),
dataType
:
"
json
"
}).
done
(
function
(
groups
)
{
return
callback
(
groups
);
...
...
app/assets/javascripts/groups_select.js
浏览文件 @
e5c6f943
...
...
@@ -6,15 +6,16 @@
function
GroupsSelect
()
{
$
(
'
.ajax-groups-select
'
).
each
((
function
(
_this
)
{
return
function
(
i
,
select
)
{
var
skip_ldap
,
skip_groups
;
skip_ldap
=
$
(
select
).
hasClass
(
'
skip_ldap
'
);
var
all_available
,
skip_groups
;
all_available
=
$
(
select
).
data
(
'
all-available
'
);
skip_groups
=
$
(
select
).
data
(
'
skip-groups
'
)
||
[];
return
$
(
select
).
select2
({
placeholder
:
"
Search for a group
"
,
multiple
:
$
(
select
).
hasClass
(
'
multiselect
'
),
minimumInputLength
:
0
,
query
:
function
(
query
)
{
return
Api
.
groups
(
query
.
term
,
skip_ldap
,
skip_groups
,
function
(
groups
)
{
options
=
{
all_available
:
all_available
,
skip_groups
:
skip_groups
};
return
Api
.
groups
(
query
.
term
,
options
,
function
(
groups
)
{
var
data
;
data
=
{
results
:
groups
...
...
app/assets/javascripts/project_select.js
浏览文件 @
e5c6f943
...
...
@@ -24,7 +24,7 @@
data
=
groups
.
concat
(
projects
);
return
finalCallback
(
data
);
};
return
Api
.
groups
(
term
,
false
,
false
,
groupsCallback
);
return
Api
.
groups
(
term
,
{}
,
groupsCallback
);
};
}
else
{
projectsCallback
=
finalCallback
;
...
...
@@ -73,7 +73,7 @@
data
=
groups
.
concat
(
projects
);
return
finalCallback
(
data
);
};
return
Api
.
groups
(
query
.
term
,
false
,
false
,
groupsCallback
);
return
Api
.
groups
(
query
.
term
,
{}
,
groupsCallback
);
};
}
else
{
projectsCallback
=
finalCallback
;
...
...
app/assets/javascripts/search.js
浏览文件 @
e5c6f943
...
...
@@ -11,7 +11,7 @@
filterable
:
true
,
fieldName
:
'
group_id
'
,
data
:
function
(
term
,
callback
)
{
return
Api
.
groups
(
term
,
false
,
false
,
function
(
data
)
{
return
Api
.
groups
(
term
,
{}
,
function
(
data
)
{
data
.
unshift
({
name
:
'
Any
'
});
...
...
doc/api/groups.md
浏览文件 @
e5c6f943
...
...
@@ -2,7 +2,12 @@
## List groups
Get a list of groups. (As user: my groups, as admin: all groups)
Get a list of groups. (As user: my groups or all available, as admin: all groups).
Parameters:
-
`all_available`
(optional) - if passed, show all groups you have access to
-
`skip_groups`
(optional)(array of group IDs) - if passed, skip groups
```
GET /groups
...
...
@@ -21,7 +26,6 @@ GET /groups
You can search for groups by name or path, see below.
## List a group's projects
Get a list of projects in this group.
...
...
lib/api/groups.rb
浏览文件 @
e5c6f943
...
...
@@ -8,11 +8,14 @@ module API
#
# Parameters:
# skip_groups (optional) - Array of group ids to exclude from list
# all_available (optional, boolean) - Show all group that you have access to
# Example Request:
# GET /groups
get
do
@groups
=
if
current_user
.
admin
Group
.
all
elsif
params
[
:all_available
]
GroupsFinder
.
new
.
execute
(
current_user
)
else
current_user
.
groups
end
...
...
spec/requests/api/groups_spec.rb
浏览文件 @
e5c6f943
...
...
@@ -37,7 +37,7 @@ describe API::API, api: true do
end
end
context
"when authenticated as
admin"
do
context
"when authenticated as admin"
do
it
"admin: returns an array of all groups"
do
get
api
(
"/groups"
,
admin
)
expect
(
response
).
to
have_http_status
(
200
)
...
...
@@ -55,6 +55,17 @@ describe API::API, api: true do
expect
(
json_response
.
length
).
to
eq
(
1
)
end
end
context
"when using all_available in request"
do
it
"returns all groups you have access to"
do
public_group
=
create
:group
,
:public
get
api
(
"/groups"
,
user1
),
all_available:
true
expect
(
response
).
to
have_http_status
(
200
)
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
.
first
[
'name'
]).
to
eq
(
public_group
.
name
)
end
end
end
describe
"GET /groups/:id"
do
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录