mirror of
https://github.com/redmine/redmine.git
synced 2025-11-08 14:26:04 +01:00
Fix undefined method 'split' when issue_to_id is numeric (#35039).
Patch by Marius BALTEANU. git-svn-id: http://svn.redmine.org/redmine/trunk@20932 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -107,7 +107,14 @@ class IssueRelationsController < ApplicationController
|
||||
end
|
||||
|
||||
def relation_issues_to_id
|
||||
params[:relation].require(:issue_to_id).split(',').reject(&:blank?)
|
||||
issue_to_id = params[:relation].require(:issue_to_id)
|
||||
case issue_to_id
|
||||
when String
|
||||
issue_to_id = issue_to_id.split(',').reject(&:blank?)
|
||||
when Integer
|
||||
issue_to_id = [issue_to_id]
|
||||
end
|
||||
issue_to_id
|
||||
rescue ActionController::ParameterMissing => e
|
||||
# We return a empty array just to loop once and return a validation error
|
||||
# ToDo: Find a better method to return an error if the param is missing.
|
||||
|
||||
@@ -42,7 +42,7 @@ class Redmine::ApiTest::IssueRelationsTest < Redmine::ApiTest::Base
|
||||
assert_difference('IssueRelation.count') do
|
||||
post(
|
||||
'/issues/2/relations.xml',
|
||||
:params => {:relation => {:issue_to_id => 7, :relation_type => 'relates'}},
|
||||
:params => {:relation => {:issue_to_id => "7", :relation_type => 'relates'}},
|
||||
:headers => credentials('jsmith')
|
||||
)
|
||||
end
|
||||
@@ -57,6 +57,27 @@ class Redmine::ApiTest::IssueRelationsTest < Redmine::ApiTest::Base
|
||||
assert_select 'relation id', :text => relation.id.to_s
|
||||
end
|
||||
|
||||
test "POST /issues/:issue_id/relations.json with numeric issue to id should create the relation" do
|
||||
assert_difference('IssueRelation.count') do
|
||||
post(
|
||||
'/issues/2/relations.json',
|
||||
:params => {:relation => {:issue_to_id => 7, :relation_type => 'relates'}},
|
||||
:headers => credentials('jsmith'),
|
||||
:as => :json
|
||||
)
|
||||
end
|
||||
|
||||
relation = IssueRelation.order('id DESC').first
|
||||
assert_equal 2, relation.issue_from_id
|
||||
assert_equal 7, relation.issue_to_id
|
||||
assert_equal 'relates', relation.relation_type
|
||||
|
||||
assert_response :created
|
||||
assert_equal 'application/json', @response.media_type
|
||||
json = ActiveSupport::JSON.decode(response.body)
|
||||
assert_equal relation.id, json['relation']['id']
|
||||
end
|
||||
|
||||
test "POST /issues/:issue_id/relations.xml with failure should return errors" do
|
||||
assert_no_difference('IssueRelation.count') do
|
||||
post(
|
||||
|
||||
Reference in New Issue
Block a user