From: Jean-Philippe Lang Date: Wed, 7 Jun 2017 19:33:15 +0000 (+0000) Subject: Merged r16619 (#26072). X-Git-Tag: 3.3.4~9 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=635daf888aca1f029011e1bebde5ac94dd0d4083;p=redmine.git Merged r16619 (#26072). git-svn-id: http://svn.redmine.org/redmine/branches/3.3-stable@16628 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/models/issue.rb b/app/models/issue.rb index 2d72dfbec..4f9520cc7 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 b97703244..1b26ace14 100644 --- a/test/unit/issue_test.rb +++ b/test/unit/issue_test.rb @@ -605,6 +605,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',