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? %> - -<% end %> - -<% unless @issue_custom_fields.empty? %> - -<% 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? %> + + <% end %> + + <% unless @issue_custom_fields.empty? %> + + <% end %> + +<%= 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