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?
|
if allowed_target_projects(user).where(:id => p.to_i).exists?
|
||||||
self.project_id = p
|
self.project_id = p
|
||||||
end
|
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
|
end
|
||||||
|
|
||||||
if (t = attrs.delete('tracker_id')) && safe_attribute?('tracker_id')
|
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
|
assert_equal 'This is the test_new issue', issue.subject
|
||||||
end
|
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
|
def test_update_form_should_propose_default_status_for_existing_issue
|
||||||
@request.session[:user_id] = 2
|
@request.session[:user_id] = 2
|
||||||
WorkflowTransition.delete_all
|
WorkflowTransition.delete_all
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user