Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
6424ec93
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,发现更多精彩内容 >>
未验证
提交
6424ec93
编写于
11月 05, 2013
作者:
D
Dmitriy Zaporozhets
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Refactor user associations. Drop support of Group#owner_id
Signed-off-by:
N
Dmitriy Zaporozhets
<
dmitriy.zaporozhets@gmail.com
>
上级
f9b66aec
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
10 addition
and
13 deletion
+10
-13
app/models/user.rb
app/models/user.rb
+10
-13
未找到文件。
app/models/user.rb
浏览文件 @
6424ec93
...
...
@@ -69,20 +69,22 @@ class User < ActiveRecord::Base
# Namespace for personal projects
has_one
:namespace
,
dependent: :destroy
,
foreign_key: :owner_id
,
class_name:
"Namespace"
,
conditions:
'type IS NULL'
# Namespaces (owned groups and own namespace)
has_many
:namespaces
,
foreign_key: :owner_id
# Profile
has_many
:keys
,
dependent: :destroy
# Groups
has_many
:own_groups
,
class_name:
"Group"
,
foreign_key: :owner_id
has_many
:owned_groups
,
through: :users_groups
,
source: :group
,
conditions:
{
users_groups:
{
group_access:
UsersGroup
::
OWNER
}
}
has_many
:users_groups
,
dependent: :destroy
has_many
:groups
,
through: :users_groups
has_many
:owned_groups
,
through: :users_groups
,
source: :group
,
conditions:
{
users_groups:
{
group_access:
UsersGroup
::
OWNER
}
}
# Projects
has_many
:groups_projects
,
through: :groups
,
source: :projects
has_many
:personal_projects
,
through: :namespace
,
source: :projects
has_many
:projects
,
through: :users_projects
has_many
:created_projects
,
foreign_key: :creator_id
,
class_name:
'Project'
has_many
:owned_projects
,
through: :owned_groups
,
source: :projects
has_many
:snippets
,
dependent: :destroy
,
foreign_key: :author_id
,
class_name:
"Snippet"
has_many
:users_projects
,
dependent: :destroy
has_many
:issues
,
dependent: :destroy
,
foreign_key: :author_id
...
...
@@ -93,11 +95,6 @@ class User < ActiveRecord::Base
has_many
:assigned_issues
,
dependent: :destroy
,
foreign_key: :assignee_id
,
class_name:
"Issue"
has_many
:assigned_merge_requests
,
dependent: :destroy
,
foreign_key: :assignee_id
,
class_name:
"MergeRequest"
has_many
:groups_projects
,
through: :groups
,
source: :projects
has_many
:personal_projects
,
through: :namespace
,
source: :projects
has_many
:projects
,
through: :users_projects
has_many
:own_projects
,
foreign_key: :creator_id
,
class_name:
'Project'
has_many
:owned_projects
,
through: :namespaces
,
source: :projects
#
# Validations
...
...
@@ -247,7 +244,7 @@ class User < ActiveRecord::Base
# Groups user has access to
def
authorized_groups
@authorized_groups
||=
begin
group_ids
=
(
groups
.
pluck
(
:id
)
+
own_groups
.
pluck
(
:id
)
+
authorized_projects
.
pluck
(
:namespace_id
))
group_ids
=
(
groups
.
pluck
(
:id
)
+
authorized_projects
.
pluck
(
:namespace_id
))
Group
.
where
(
id:
group_ids
).
order
(
'namespaces.name ASC'
)
end
end
...
...
@@ -256,7 +253,7 @@ class User < ActiveRecord::Base
# Projects user has access to
def
authorized_projects
@authorized_projects
||=
begin
project_ids
=
(
owned
_projects
.
pluck
(
:id
)
+
groups_projects
.
pluck
(
:id
)
+
projects
.
pluck
(
:id
)).
uniq
project_ids
=
(
personal
_projects
.
pluck
(
:id
)
+
groups_projects
.
pluck
(
:id
)
+
projects
.
pluck
(
:id
)).
uniq
Project
.
where
(
id:
project_ids
).
joins
(
:namespace
).
order
(
'namespaces.name ASC'
)
end
end
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录