mirror of
https://github.com/meineerde/redmine.git
synced 2026-03-11 03:33:07 +00:00
Merged r21637 and r21638 to 5.0-stable (#37171).
git-svn-id: https://svn.redmine.org/redmine/branches/5.0-stable@21639 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
f222d3d6b1
commit
83268a0636
@ -751,14 +751,20 @@ class Issue < ActiveRecord::Base
|
||||
errors.add :start_date, :earlier_than_minimum_start_date, :date => format_date(soonest_start)
|
||||
end
|
||||
|
||||
if project && fixed_version
|
||||
if !assignable_versions.include?(fixed_version)
|
||||
if project && fixed_version_id
|
||||
if fixed_version.nil? || assignable_versions.exclude?(fixed_version)
|
||||
errors.add :fixed_version_id, :inclusion
|
||||
elsif reopening? && fixed_version.closed?
|
||||
errors.add :base, I18n.t(:error_can_not_reopen_issue_on_closed_version)
|
||||
end
|
||||
end
|
||||
|
||||
if project && category_id
|
||||
unless project.issue_category_ids.include?(category_id)
|
||||
errors.add :category_id, :inclusion
|
||||
end
|
||||
end
|
||||
|
||||
# Checks that the issue can not be added/moved to a disabled tracker
|
||||
if project && (tracker_id_changed? || project_id_changed?)
|
||||
if tracker && !project.trackers.include?(tracker)
|
||||
|
||||
@ -1650,6 +1650,14 @@ class IssueTest < ActiveSupport::TestCase
|
||||
assert_equal ['open'], issue.assignable_versions.collect(&:status).uniq
|
||||
end
|
||||
|
||||
def test_should_not_be_able_to_set_an_invalid_version_id
|
||||
issue = Issue.new(:project_id => 1, :tracker_id => 1, :author_id => 1,
|
||||
:status_id => 1, :fixed_version_id => 424242,
|
||||
:subject => 'New issue')
|
||||
assert !issue.save
|
||||
assert_not_equal [], issue.errors[:fixed_version_id]
|
||||
end
|
||||
|
||||
def test_should_not_be_able_to_assign_a_new_issue_to_a_closed_version
|
||||
issue = Issue.new(:project_id => 1, :tracker_id => 1, :author_id => 1,
|
||||
:status_id => 1, :fixed_version_id => 1,
|
||||
@ -1721,6 +1729,14 @@ class IssueTest < ActiveSupport::TestCase
|
||||
assert issue.save
|
||||
end
|
||||
|
||||
def test_should_not_be_able_to_set_an_invalid_category_id
|
||||
issue = Issue.new(:project_id => 1, :tracker_id => 1, :author_id => 1,
|
||||
:status_id => 1, :category_id => 3,
|
||||
:subject => 'New issue')
|
||||
assert !issue.save
|
||||
assert_not_equal [], issue.errors[:category_id]
|
||||
end
|
||||
|
||||
def test_allowed_target_projects_should_include_projects_with_issue_tracking_enabled
|
||||
assert_include Project.find(2), Issue.allowed_target_projects(User.find(2))
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user