Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
57eb3954
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 搜索 >>
提交
57eb3954
编写于
2月 24, 2016
作者:
G
Grzegorz Bizon
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Do not pass unsanitized params to issue move service
上级
4cbe87d5
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
11 addition
and
9 deletion
+11
-9
app/controllers/projects/issues_controller.rb
app/controllers/projects/issues_controller.rb
+2
-1
app/services/issues/move_service.rb
app/services/issues/move_service.rb
+2
-5
spec/services/issues/move_service_spec.rb
spec/services/issues/move_service_spec.rb
+7
-3
未找到文件。
app/controllers/projects/issues_controller.rb
浏览文件 @
57eb3954
...
...
@@ -88,7 +88,8 @@ class Projects::IssuesController < Projects::ApplicationController
def
update
@issue
=
Issues
::
UpdateService
.
new
(
project
,
current_user
,
issue_params
).
execute
(
issue
)
move_service
=
Issues
::
MoveService
.
new
(
project
,
current_user
,
params
.
require
(
:issue
).
permit!
,
@issue
)
move_service
=
Issues
::
MoveService
.
new
(
project
,
current_user
,
issue_params
,
@issue
,
params
[
'move_to_project_id'
])
if
move_service
.
move?
@issue
=
move_service
.
execute
...
...
app/services/issues/move_service.rb
浏览文件 @
57eb3954
module
Issues
class
MoveService
<
Issues
::
BaseService
def
initialize
(
project
,
current_user
,
params
,
issue
)
def
initialize
(
project
,
current_user
,
params
,
issue
,
new_project_id
)
super
(
project
,
current_user
,
params
)
@issue_old
=
issue
@issue_new
=
@issue_old
.
dup
@project_old
=
@project
if
params
[
'move_to_project_id'
]
@project_new
=
Project
.
find
(
params
[
'move_to_project_id'
])
end
@project_new
=
Project
.
find
(
new_project_id
)
if
new_project_id
end
def
execute
...
...
spec/services/issues/move_service_spec.rb
浏览文件 @
57eb3954
...
...
@@ -7,10 +7,14 @@ describe Issues::MoveService, services: true do
let
(
:old_project
)
{
create
(
:project
)
}
let
(
:old_issue
)
{
create
(
:issue
,
title:
title
,
description:
description
,
project:
old_project
)
}
let
(
:new_project
)
{
create
(
:project
)
}
let
(
:move_service
)
{
described_class
.
new
(
old_project
,
user
,
move_params
,
old_issue
)
}
let
(
:issue_params
)
{
old_issue
.
serializable_hash
}
let
(
:move_service
)
do
described_class
.
new
(
old_project
,
user
,
issue_params
,
old_issue
,
new_project_id
)
end
shared_context
'issue move requested'
do
let
(
:
move_params
)
{
{
'move_to_project_id'
=>
new_project
.
id
}
}
let
(
:
new_project_id
)
{
new_project
.
id
}
end
shared_context
'user can move issue'
do
...
...
@@ -108,7 +112,7 @@ describe Issues::MoveService, services: true do
end
context
'issue move not requested'
do
let
(
:
move_params
)
{
{}
}
let
(
:
new_project_id
)
{
nil
}
describe
'#move?'
do
subject
{
move_service
.
move?
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录