Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
eeb41c75
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 搜索 >>
提交
eeb41c75
编写于
7月 25, 2016
作者:
D
Douwe Maan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add endpoints to resolve diff notes and discussions
上级
ed6c8238
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
71 addition
and
12 deletion
+71
-12
app/controllers/projects/discussions_controller.rb
app/controllers/projects/discussions_controller.rb
+40
-0
app/controllers/projects/merge_requests_controller.rb
app/controllers/projects/merge_requests_controller.rb
+2
-5
app/controllers/projects/notes_controller.rb
app/controllers/projects/notes_controller.rb
+14
-3
app/models/merge_request.rb
app/models/merge_request.rb
+7
-0
config/routes.rb
config/routes.rb
+8
-4
未找到文件。
app/controllers/projects/discussions_controller.rb
0 → 100644
浏览文件 @
eeb41c75
class
Projects::DiscussionsController
<
Projects
::
ApplicationController
before_action
:module_enabled
before_action
:merge_request
before_action
:discussion
before_action
:authorize_resolve_discussion!
def
resolve
return
render_404
unless
discussion
.
resolvable?
discussion
.
resolve!
(
current_user
)
head
:ok
end
def
unresolve
return
render_404
unless
discussion
.
resolvable?
discussion
.
unresolve!
head
:ok
end
private
def
merge_request
@merge_request
||=
@project
.
merge_requests
.
find_by!
(
iid:
params
[
:merge_request_id
])
end
def
discussion
@discussion
||=
@merge_request
.
discussions
.
find
{
|
d
|
d
.
id
==
params
[
:id
]
}
||
render_404
end
def
authorize_resolve_discussion!
access_denied!
unless
discussion
.
can_resolve?
(
current_user
)
end
def
module_enabled
render_404
unless
@project
.
merge_requests_enabled
end
end
app/controllers/projects/merge_requests_controller.rb
浏览文件 @
eeb41c75
...
...
@@ -369,12 +369,9 @@ class Projects::MergeRequestsController < Projects::ApplicationController
# :show, :diff, :commits, :builds. but not when request the data through AJAX
def
define_discussion_vars
# Build a note object for comment form
@note
=
@project
.
notes
.
new
(
noteable:
@
noteable
)
@note
=
@project
.
notes
.
new
(
noteable:
@
merge_request
)
@discussions
=
@noteable
.
mr_and_commit_notes
.
inc_author_project_award_emoji
.
fresh
.
discussions
@discussions
=
@merge_request
.
discussions
# This is not executed lazily
@notes
=
Banzai
::
NoteRenderer
.
render
(
...
...
app/controllers/projects/notes_controller.rb
浏览文件 @
eeb41c75
...
...
@@ -5,6 +5,7 @@ class Projects::NotesController < Projects::ApplicationController
before_action
:authorize_read_note!
before_action
:authorize_create_note!
,
only:
[
:create
]
before_action
:authorize_admin_note!
,
only:
[
:update
,
:destroy
]
before_action
:authorize_resolve_note!
,
only:
[
:resolve
]
before_action
:find_current_user_notes
,
only:
[
:index
]
def
index
...
...
@@ -67,12 +68,18 @@ class Projects::NotesController < Projects::ApplicationController
end
def
resolve
sleep
2
return
render_404
unless
note
.
resolvable?
note
.
resolve!
(
current_user
)
head
:ok
end
def
resolve_all
sleep
2
def
unresolve
return
render_404
unless
note
.
resolvable?
note
.
unresolve!
head
:ok
end
...
...
@@ -185,6 +192,10 @@ class Projects::NotesController < Projects::ApplicationController
return
access_denied!
unless
can?
(
current_user
,
:admin_note
,
note
)
end
def
authorize_resolve_note!
return
access_denied!
unless
can?
(
current_user
,
:resolve_note
,
note
)
end
def
note_params
params
.
require
(
:note
).
permit
(
:note
,
:noteable
,
:noteable_id
,
:noteable_type
,
:project_id
,
...
...
app/models/merge_request.rb
浏览文件 @
eeb41c75
...
...
@@ -394,6 +394,13 @@ class MergeRequest < ActiveRecord::Base
)
end
def
discussions
self
.
mr_and_commit_notes
.
inc_author_project_award_emoji
.
fresh
.
discussions
end
def
hook_attrs
attrs
=
{
source:
source_project
.
try
(
:hook_attrs
),
...
...
config/routes.rb
浏览文件 @
eeb41c75
...
...
@@ -720,6 +720,13 @@ Rails.application.routes.draw do
get
:update_branches
get
:diff_for_path
end
resources
:discussions
,
only:
[],
constraints:
{
id:
/\h{40}/
}
do
member
do
post
:resolve
delete
:resolve
,
action: :unresolve
end
end
end
resources
:branches
,
only:
[
:index
,
:new
,
:create
,
:destroy
],
constraints:
{
id:
Gitlab
::
Regex
.
git_reference_regex
}
...
...
@@ -825,14 +832,11 @@ Rails.application.routes.draw do
resources
:group_links
,
only:
[
:index
,
:create
,
:destroy
],
constraints:
{
id:
/\d+/
}
resources
:notes
,
only:
[
:index
,
:create
,
:destroy
,
:update
],
constraints:
{
id:
/\d+/
}
do
collection
do
post
:resolve_all
end
member
do
post
:toggle_award_emoji
delete
:delete_attachment
post
:resolve
delete
:resolve
,
action: :unresolve
end
end
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录