mirror of
https://github.com/meineerde/redmine.git
synced 2026-01-31 11:37:14 +00:00
Fix NoMethodError in Issue#blocked? due to invalid issue_from_id in Issue#relations_from (#8539).
Patch by Go MAEDA (user:maeda). git-svn-id: https://svn.redmine.org/redmine/trunk@23048 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
e8879d891f
commit
68121841b5
@ -1018,7 +1018,7 @@ class Issue < ApplicationRecord
|
||||
|
||||
# Returns true if this issue is blocked by another issue that is still open
|
||||
def blocked?
|
||||
!relations_to.detect {|ir| ir.relation_type == 'blocks' && !ir.issue_from.closed?}.nil?
|
||||
relations_to.any? {|ir| ir.relation_type == 'blocks' && ir.issue_from&.closed? == false}
|
||||
end
|
||||
|
||||
# Returns true if this issue can be closed and if not, returns false and populates the reason
|
||||
|
||||
@ -2222,6 +2222,16 @@ class IssueTest < ActiveSupport::TestCase
|
||||
assert !blocking_issue.blocked?
|
||||
end
|
||||
|
||||
def test_blocked_should_not_raise_exception_when_blocking_issue_id_is_invalid
|
||||
ir = IssueRelation.find_by(issue_from_id: 10, issue_to_id: 9, relation_type: 'blocks')
|
||||
issue = Issue.find(9)
|
||||
assert issue.blocked?
|
||||
|
||||
ir.update_column :issue_from_id, 0 # invalid issue id
|
||||
issue.reload
|
||||
assert_nothing_raised {assert_not issue.blocked?}
|
||||
end
|
||||
|
||||
def test_blocked_issues_dont_allow_closed_statuses
|
||||
blocked_issue = Issue.find(9)
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user