mirror of
https://github.com/meineerde/redmine.git
synced 2025-12-19 15:01:14 +00:00
Do not clear category on project change if category with same exists (#16941).
git-svn-id: http://svn.redmine.org/redmine/trunk@14715 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
540053eb82
commit
bf1f60f65f
@ -454,6 +454,11 @@ class Issue < ActiveRecord::Base
|
||||
if allowed_target_projects(user).where(:id => p.to_i).exists?
|
||||
self.project_id = p
|
||||
end
|
||||
|
||||
if project_id_changed? && attrs['category_id'].to_s == category_id_was.to_s
|
||||
# Discard submitted category on previous project
|
||||
attrs.delete('category_id')
|
||||
end
|
||||
end
|
||||
|
||||
if (t = attrs.delete('tracker_id')) && safe_attribute?('tracker_id')
|
||||
|
||||
@ -3096,6 +3096,22 @@ class IssuesControllerTest < ActionController::TestCase
|
||||
assert_equal 'This is the test_new issue', issue.subject
|
||||
end
|
||||
|
||||
def test_update_form_should_keep_category_with_same_when_changing_project
|
||||
source = Project.generate!
|
||||
target = Project.generate!
|
||||
source_category = IssueCategory.create!(:name => 'Foo', :project => source)
|
||||
target_category = IssueCategory.create!(:name => 'Foo', :project => target)
|
||||
issue = Issue.generate!(:project => source, :category => source_category)
|
||||
|
||||
@request.session[:user_id] = 1
|
||||
patch :edit, :id => issue.id,
|
||||
:issue => {:project_id => target.id, :category_id => source_category.id}
|
||||
assert_response :success
|
||||
|
||||
issue = assigns(:issue)
|
||||
assert_equal target_category, issue.category
|
||||
end
|
||||
|
||||
def test_update_form_should_propose_default_status_for_existing_issue
|
||||
@request.session[:user_id] = 2
|
||||
WorkflowTransition.delete_all
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user