@@ -416,7 +416,8 class Issue < ActiveRecord::Base | |||||
416 | end |
|
416 | end | |
417 |
|
417 | |||
418 | if attrs['parent_issue_id'].present? |
|
418 | if attrs['parent_issue_id'].present? | |
419 |
|
|
419 | s = attrs['parent_issue_id'].to_s | |
|
420 | unless (m = s.match(%r{\A#?(\d+)\z})) && Issue.visible(user).exists?(m[1]) | |||
420 | @invalid_parent_issue_id = attrs.delete('parent_issue_id') |
|
421 | @invalid_parent_issue_id = attrs.delete('parent_issue_id') | |
421 | end |
|
422 | end | |
422 | end |
|
423 | end |
@@ -1940,12 +1940,24 class IssuesControllerTest < ActionController::TestCase | |||||
1940 | post :create, :project_id => 1, |
|
1940 | post :create, :project_id => 1, | |
1941 | :issue => {:tracker_id => 1, |
|
1941 | :issue => {:tracker_id => 1, | |
1942 | :subject => 'This is a child issue', |
|
1942 | :subject => 'This is a child issue', | |
1943 | :parent_issue_id => 2} |
|
1943 | :parent_issue_id => '2'} | |
|
1944 | assert_response 302 | |||
|
1945 | end | |||
|
1946 | issue = Issue.order('id DESC').first | |||
|
1947 | assert_equal Issue.find(2), issue.parent | |||
|
1948 | end | |||
|
1949 | ||||
|
1950 | def test_post_create_subissue_with_sharp_parent_id | |||
|
1951 | @request.session[:user_id] = 2 | |||
1944 |
|
1952 | |||
|
1953 | assert_difference 'Issue.count' do | |||
|
1954 | post :create, :project_id => 1, | |||
|
1955 | :issue => {:tracker_id => 1, | |||
|
1956 | :subject => 'This is a child issue', | |||
|
1957 | :parent_issue_id => '#2'} | |||
1945 | assert_response 302 |
|
1958 | assert_response 302 | |
1946 | end |
|
1959 | end | |
1947 | issue = Issue.find_by_subject('This is a child issue') |
|
1960 | issue = Issue.order('id DESC').first | |
1948 | assert_not_nil issue |
|
|||
1949 | assert_equal Issue.find(2), issue.parent |
|
1961 | assert_equal Issue.find(2), issue.parent | |
1950 | end |
|
1962 | end | |
1951 |
|
1963 |
General Comments 0
You need to be logged in to leave comments.
Login now