mirror of
https://github.com/meineerde/redmine.git
synced 2025-12-23 17:01:13 +00:00
Project copy does not copy custom field settings (#20360).
git-svn-id: http://svn.redmine.org/redmine/trunk@14618 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
71e04370d8
commit
aa096cb0cc
@ -526,12 +526,18 @@ class Project < ActiveRecord::Base
|
||||
# Returns a scope of all custom fields enabled for project issues
|
||||
# (explicitly associated custom fields and custom fields enabled for all projects)
|
||||
def all_issue_custom_fields
|
||||
if new_record?
|
||||
@all_issue_custom_fields ||= IssueCustomField.
|
||||
sorted.
|
||||
where("is_for_all = ? OR id IN (?)", true, issue_custom_field_ids)
|
||||
else
|
||||
@all_issue_custom_fields ||= IssueCustomField.
|
||||
sorted.
|
||||
where("is_for_all = ? OR id IN (SELECT DISTINCT cfp.custom_field_id" +
|
||||
" FROM #{table_name_prefix}custom_fields_projects#{table_name_suffix} cfp" +
|
||||
" WHERE cfp.project_id = ?)", true, id)
|
||||
end
|
||||
end
|
||||
|
||||
def project
|
||||
self
|
||||
|
||||
@ -608,6 +608,20 @@ class ProjectsControllerTest < ActionController::TestCase
|
||||
assert_response 404
|
||||
end
|
||||
|
||||
def test_get_copy_should_preselect_custom_fields
|
||||
field1 = IssueCustomField.generate!(:is_for_all => false)
|
||||
field2 = IssueCustomField.generate!(:is_for_all => false)
|
||||
source = Project.generate!(:issue_custom_fields => [field1])
|
||||
@request.session[:user_id] = 1
|
||||
|
||||
get :copy, :id => source.id
|
||||
assert_response :success
|
||||
assert_select 'fieldset#project_issue_custom_fields' do
|
||||
assert_select 'input[type=checkbox][value=?][checked=checked]', field1.id.to_s
|
||||
assert_select 'input[type=checkbox][value=?]:not([checked])', field2.id.to_s
|
||||
end
|
||||
end
|
||||
|
||||
def test_post_copy_should_copy_requested_items
|
||||
@request.session[:user_id] = 1 # admin
|
||||
CustomField.delete_all
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user