diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 7219e4494..6d944aa12 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -189,7 +189,7 @@ class ProjectsController < ApplicationController respond_to do |format| format.html { flash[:notice] = l(:notice_successful_update) - redirect_to settings_project_path(@project) + redirect_to settings_project_path(@project, params[:tab]) } format.api { render_api_ok } end diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index 6da3e5f4a..7fe5e14c1 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -21,6 +21,7 @@ module ProjectsHelper def project_settings_tabs tabs = [{:name => 'info', :action => :edit_project, :partial => 'projects/edit', :label => :label_information_plural}, {:name => 'members', :action => :manage_members, :partial => 'projects/settings/members', :label => :label_member_plural}, + {:name => 'issues', :action => :edit_project, :partial => 'projects/settings/issues', :label => :label_issue_tracking}, {:name => 'versions', :action => :manage_versions, :partial => 'projects/settings/versions', :label => :label_version_plural, :url => {:tab => 'versions', :version_status => params[:version_status], :version_name => params[:version_name]}}, {:name => 'categories', :action => :manage_categories, :partial => 'projects/settings/issue_categories', :label => :label_issue_category_plural}, diff --git a/app/views/projects/_form.html.erb b/app/views/projects/_form.html.erb index 1e8f40948..864bfb305 100644 --- a/app/views/projects/_form.html.erb +++ b/app/views/projects/_form.html.erb @@ -20,14 +20,6 @@

<%= f.check_box :inherit_members %>

<% end %> -<% if @project.safe_attribute?('default_version_id') && (default_version_options = project_default_version_options(@project)).present? %> -

<%= f.select :default_version_id, project_default_version_options(@project), :include_blank => true %>

-<% end %> - -<% if @project.safe_attribute?('default_assigned_to_id') && (default_assigned_to_options = project_default_assigned_to_options(@project)).present? %> -

<%= f.select :default_assigned_to_id, default_assigned_to_options, include_blank: true %>

-<% end %> - <%= wikitoolbar_for 'project_description' %> <% @project.custom_field_values.each do |value| %> @@ -47,34 +39,6 @@ <%= hidden_field_tag 'project[enabled_module_names][]', '' %> <% end %> - -<% if @project.new_record? || @project.module_enabled?('issue_tracking') %> -<% unless @trackers.empty? %> -
<%=l(:label_tracker_plural)%> -<% @trackers.each do |tracker| %> - -<% end %> -<%= hidden_field_tag 'project[tracker_ids][]', '' %> -
-<% end %> - -<% unless @issue_custom_fields.empty? %> -
<%=l(:label_custom_field_plural)%> -<% @issue_custom_fields.each do |custom_field| %> - -<% end %> -<%= hidden_field_tag 'project[issue_custom_field_ids][]', '' %> -
-<% end %> -<% end %> <% unless @project.identifier_frozen? %> @@ -96,15 +60,3 @@ }); <% end %> <% end %> - -<%= javascript_tag do %> -$(document).ready(function() { - $('#project_enabled_module_names_issue_tracking').on('change', function(){ - if ($(this).prop('checked')){ - $('#project_trackers, #project_issue_custom_fields').show(); - } else { - $('#project_trackers, #project_issue_custom_fields').hide(); - } - }).trigger('change'); -}); -<% end %> diff --git a/app/views/projects/copy.html.erb b/app/views/projects/copy.html.erb index 505ef331b..021288e7f 100644 --- a/app/views/projects/copy.html.erb +++ b/app/views/projects/copy.html.erb @@ -16,5 +16,13 @@ +<% @project.tracker_ids.each do |tracker_id| %> + <%= hidden_field_tag 'project[tracker_ids][]', tracker_id %> +<% end %> + +<% @project.issue_custom_field_ids.each do |issue_custom_field_id| %> + <%= hidden_field_tag 'project[issue_custom_field_ids][]', issue_custom_field_id %> +<% end %> + <%= submit_tag l(:button_copy) %> <% end %> diff --git a/app/views/projects/settings/_issues.html.erb b/app/views/projects/settings/_issues.html.erb new file mode 100644 index 000000000..7f99c80be --- /dev/null +++ b/app/views/projects/settings/_issues.html.erb @@ -0,0 +1,41 @@ +<%= labelled_form_for @project do |f| %> + <%= hidden_field_tag 'tab', 'issues' %> + + <% unless @trackers.empty? %> +
<%=l(:label_tracker_plural)%> + <% @trackers.each do |tracker| %> + + <% end %> + <%= hidden_field_tag 'project[tracker_ids][]', '' %> +
+ <% end %> + + <% unless @issue_custom_fields.empty? %> +
<%=l(:label_custom_field_plural)%> + <% @issue_custom_fields.each do |custom_field| %> + + <% end %> + <%= hidden_field_tag 'project[issue_custom_field_ids][]', '' %> +
+ <% end %> + +
+ <% if @project.safe_attribute?('default_version_id') %> +

<%= f.select :default_version_id, project_default_version_options(@project), include_blank: l(:label_none) %>

+ <% end %> + + <% if @project.safe_attribute?('default_assigned_to_id') %> +

<%= f.select :default_assigned_to_id, project_default_assigned_to_options(@project), include_blank: l(:label_none) %>

+ <% end %> +
+ +

<%= submit_tag l(:button_save) %>

+<% end %> diff --git a/test/functional/projects_controller_test.rb b/test/functional/projects_controller_test.rb index 49c5ac54f..ebc159c1f 100644 --- a/test/functional/projects_controller_test.rb +++ b/test/functional/projects_controller_test.rb @@ -879,10 +879,8 @@ class ProjectsControllerTest < Redmine::ControllerTest :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 + assert_select 'input[type=hidden][name=?][value=?]', 'project[issue_custom_field_ids][]', field1.id.to_s + assert_select 'input[type=hidden][name=?][value=?]', 'project[issue_custom_field_ids][]', field2.id.to_s, 0 end def test_post_copy_should_copy_requested_items