summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2017-06-07 19:34:01 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2017-06-07 19:34:01 +0000
commite9a7d1be6357b8c38091412dc46819c262115cd9 (patch)
treeefcae9cc8f5a27af2dff27f7f6f771f44c95ec5d
parent3bb7524c1f282827331a31db3731fc2459d05186 (diff)
downloadredmine-e9a7d1be6357b8c38091412dc46819c262115cd9.tar.gz
redmine-e9a7d1be6357b8c38091412dc46819c262115cd9.zip
Merged r16619 (#26072).
git-svn-id: http://svn.redmine.org/redmine/branches/3.2-stable@16629 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/models/issue.rb2
-rw-r--r--test/unit/issue_test.rb12
2 files changed, 13 insertions, 1 deletions
diff --git a/app/models/issue.rb b/app/models/issue.rb
index a1505b4c3..d2dfa4f53 100644
--- a/app/models/issue.rb
+++ b/app/models/issue.rb
@@ -103,8 +103,8 @@ class Issue < ActiveRecord::Base
ids.any? ? where(:assigned_to_id => ids) : none
}
+ before_validation :default_assign, on: :create
before_validation :clear_disabled_fields
- before_create :default_assign
before_save :close_duplicates, :update_done_ratio_from_issue_status,
:force_updated_on_change, :update_closed_on, :set_assigned_to_was
after_save {|issue| issue.send :after_project_change if !issue.id_changed? && issue.project_id_changed?}
diff --git a/test/unit/issue_test.rb b/test/unit/issue_test.rb
index cf26417e4..4cea06227 100644
--- a/test/unit/issue_test.rb
+++ b/test/unit/issue_test.rb
@@ -526,6 +526,18 @@ class IssueTest < ActiveSupport::TestCase
assert_equal version, issue.fixed_version
end
+ def test_default_assigned_to_with_required_assignee_should_validate
+ category = IssueCategory.create!(:project_id => 1, :name => 'With default assignee', :assigned_to_id => 3)
+ Issue.any_instance.stubs(:required_attribute_names).returns(['assigned_to_id'])
+
+ issue = Issue.new(:project_id => 1, :tracker_id => 1, :author_id => 1, :subject => 'Default')
+ assert !issue.save
+ assert issue.errors['assigned_to_id'].present?
+
+ issue = Issue.new(:project_id => 1, :tracker_id => 1, :author_id => 1, :subject => 'Default', :category_id => category.id)
+ assert_save issue
+ end
+
def test_should_not_update_custom_fields_on_changing_tracker_with_different_custom_fields
issue = Issue.create!(:project_id => 1, :tracker_id => 1, :author_id => 1,
:status_id => 1, :subject => 'Test',