Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
470f9064
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,发现更多精彩内容 >>
提交
470f9064
编写于
6月 06, 2013
作者:
D
Dmitriy Zaporozhets
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #4206 from babatakao/authorize_all_teams_to_admin
Authorize all teams to admin: fix 500 error on showing team page.
上级
cf9a366e
86a262de
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
25 addition
and
4 deletion
+25
-4
app/models/ability.rb
app/models/ability.rb
+1
-1
app/models/user.rb
app/models/user.rb
+6
-2
app/models/user_team.rb
app/models/user_team.rb
+1
-1
spec/models/user_spec.rb
spec/models/user_spec.rb
+17
-0
未找到文件。
app/models/ability.rb
浏览文件 @
470f9064
...
...
@@ -146,7 +146,7 @@ class Ability
rules
=
[]
# Only group owner and administrators can manage team
if
team
.
owner
==
user
||
team
.
admin?
(
user
)
||
user
.
admin?
if
user
.
admin?
||
team
.
owner
==
user
||
team
.
admin?
(
user
)
rules
<<
[
:manage_user_team
]
end
...
...
app/models/user.rb
浏览文件 @
470f9064
...
...
@@ -247,8 +247,12 @@ class User < ActiveRecord::Base
end
def
authorized_teams
@team_ids
||=
(
user_teams
.
pluck
(
:id
)
+
own_teams
.
pluck
(
:id
)).
uniq
UserTeam
.
where
(
id:
@team_ids
)
if
admin?
UserTeam
.
scoped
else
@team_ids
||=
(
user_teams
.
pluck
(
:id
)
+
own_teams
.
pluck
(
:id
)).
uniq
UserTeam
.
where
(
id:
@team_ids
)
end
end
# Team membership in authorized projects
...
...
app/models/user_team.rb
浏览文件 @
470f9064
...
...
@@ -111,6 +111,6 @@ class UserTeam < ActiveRecord::Base
end
def
admin?
(
member
)
user_team_user_relationships
.
with_user
(
member
).
first
.
group_admin?
user_team_user_relationships
.
with_user
(
member
).
first
.
try
(
:group_admin?
)
end
end
spec/models/user_spec.rb
浏览文件 @
470f9064
...
...
@@ -148,6 +148,23 @@ describe User do
it
{
@user
.
owned_groups
.
should
==
[
@group
]
}
end
describe
'teams'
do
before
do
ActiveRecord
::
Base
.
observers
.
enable
(
:user_observer
)
@admin
=
create
:user
,
admin:
true
@user1
=
create
:user
@user2
=
create
:user
@team
=
create
:user_team
,
owner:
@user1
end
it
{
@admin
.
authorized_teams
.
should
==
[
@team
]
}
it
{
@user1
.
authorized_teams
.
should
==
[
@team
]
}
it
{
@user2
.
authorized_teams
.
should
be_empty
}
it
{
@admin
.
should
be_can
(
:manage_user_team
,
@team
)
}
it
{
@user1
.
should
be_can
(
:manage_user_team
,
@team
)
}
it
{
@user2
.
should_not
be_can
(
:manage_user_team
,
@team
)
}
end
describe
'namespaced'
do
before
do
ActiveRecord
::
Base
.
observers
.
enable
(
:user_observer
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录