mirror of
https://github.com/meineerde/redmine.git
synced 2025-12-19 15:01:14 +00:00
Project settings: Move issue tracking settings to their own tab (#26488).
git-svn-id: http://svn.redmine.org/redmine/trunk@16896 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
09148ba665
commit
000ff80320
@ -189,7 +189,7 @@ class ProjectsController < ApplicationController
|
|||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html {
|
format.html {
|
||||||
flash[:notice] = l(:notice_successful_update)
|
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 }
|
format.api { render_api_ok }
|
||||||
end
|
end
|
||||||
|
|||||||
@ -21,6 +21,7 @@ module ProjectsHelper
|
|||||||
def project_settings_tabs
|
def project_settings_tabs
|
||||||
tabs = [{:name => 'info', :action => :edit_project, :partial => 'projects/edit', :label => :label_information_plural},
|
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 => '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,
|
{: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]}},
|
: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},
|
{:name => 'categories', :action => :manage_categories, :partial => 'projects/settings/issue_categories', :label => :label_issue_category_plural},
|
||||||
|
|||||||
@ -20,14 +20,6 @@
|
|||||||
<p><%= f.check_box :inherit_members %></p>
|
<p><%= f.check_box :inherit_members %></p>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<% if @project.safe_attribute?('default_version_id') && (default_version_options = project_default_version_options(@project)).present? %>
|
|
||||||
<p><%= f.select :default_version_id, project_default_version_options(@project), :include_blank => true %></p>
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
<% if @project.safe_attribute?('default_assigned_to_id') && (default_assigned_to_options = project_default_assigned_to_options(@project)).present? %>
|
|
||||||
<p><%= f.select :default_assigned_to_id, default_assigned_to_options, include_blank: true %></p>
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
<%= wikitoolbar_for 'project_description' %>
|
<%= wikitoolbar_for 'project_description' %>
|
||||||
|
|
||||||
<% @project.custom_field_values.each do |value| %>
|
<% @project.custom_field_values.each do |value| %>
|
||||||
@ -47,34 +39,6 @@
|
|||||||
<%= hidden_field_tag 'project[enabled_module_names][]', '' %>
|
<%= hidden_field_tag 'project[enabled_module_names][]', '' %>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<% if @project.new_record? || @project.module_enabled?('issue_tracking') %>
|
|
||||||
<% unless @trackers.empty? %>
|
|
||||||
<fieldset class="box tabular" id="project_trackers"><legend><%=l(:label_tracker_plural)%></legend>
|
|
||||||
<% @trackers.each do |tracker| %>
|
|
||||||
<label class="floating">
|
|
||||||
<%= check_box_tag 'project[tracker_ids][]', tracker.id, @project.trackers.to_a.include?(tracker), :id => nil %>
|
|
||||||
<%= tracker %>
|
|
||||||
</label>
|
|
||||||
<% end %>
|
|
||||||
<%= hidden_field_tag 'project[tracker_ids][]', '' %>
|
|
||||||
</fieldset>
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
<% unless @issue_custom_fields.empty? %>
|
|
||||||
<fieldset class="box tabular" id="project_issue_custom_fields"><legend><%=l(:label_custom_field_plural)%></legend>
|
|
||||||
<% @issue_custom_fields.each do |custom_field| %>
|
|
||||||
<label class="floating">
|
|
||||||
<%= check_box_tag 'project[issue_custom_field_ids][]', custom_field.id, (@project.all_issue_custom_fields.include? custom_field),
|
|
||||||
:disabled => (custom_field.is_for_all? ? "disabled" : nil),
|
|
||||||
:id => nil %>
|
|
||||||
<%= custom_field_name_tag(custom_field) %>
|
|
||||||
</label>
|
|
||||||
<% end %>
|
|
||||||
<%= hidden_field_tag 'project[issue_custom_field_ids][]', '' %>
|
|
||||||
</fieldset>
|
|
||||||
<% end %>
|
|
||||||
<% end %>
|
|
||||||
<!--[eoform:project]-->
|
<!--[eoform:project]-->
|
||||||
|
|
||||||
<% unless @project.identifier_frozen? %>
|
<% unless @project.identifier_frozen? %>
|
||||||
@ -96,15 +60,3 @@
|
|||||||
});
|
});
|
||||||
<% end %>
|
<% end %>
|
||||||
<% 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 %>
|
|
||||||
|
|||||||
@ -16,5 +16,13 @@
|
|||||||
<label class="block"><%= check_box_tag 'notifications', 1, params[:notifications] %> <%= l(:label_project_copy_notifications) %></label>
|
<label class="block"><%= check_box_tag 'notifications', 1, params[:notifications] %> <%= l(:label_project_copy_notifications) %></label>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
|
<% @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) %>
|
<%= submit_tag l(:button_copy) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|||||||
41
app/views/projects/settings/_issues.html.erb
Normal file
41
app/views/projects/settings/_issues.html.erb
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
<%= labelled_form_for @project do |f| %>
|
||||||
|
<%= hidden_field_tag 'tab', 'issues' %>
|
||||||
|
|
||||||
|
<% unless @trackers.empty? %>
|
||||||
|
<fieldset class="box tabular" id="project_trackers"><legend><%=l(:label_tracker_plural)%></legend>
|
||||||
|
<% @trackers.each do |tracker| %>
|
||||||
|
<label class="floating">
|
||||||
|
<%= check_box_tag 'project[tracker_ids][]', tracker.id, @project.trackers.to_a.include?(tracker), :id => nil %>
|
||||||
|
<%= tracker %>
|
||||||
|
</label>
|
||||||
|
<% end %>
|
||||||
|
<%= hidden_field_tag 'project[tracker_ids][]', '' %>
|
||||||
|
</fieldset>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<% unless @issue_custom_fields.empty? %>
|
||||||
|
<fieldset class="box tabular" id="project_issue_custom_fields"><legend><%=l(:label_custom_field_plural)%></legend>
|
||||||
|
<% @issue_custom_fields.each do |custom_field| %>
|
||||||
|
<label class="floating">
|
||||||
|
<%= check_box_tag 'project[issue_custom_field_ids][]', custom_field.id, (@project.all_issue_custom_fields.include? custom_field),
|
||||||
|
:disabled => (custom_field.is_for_all? ? "disabled" : nil),
|
||||||
|
:id => nil %>
|
||||||
|
<%= custom_field_name_tag(custom_field) %>
|
||||||
|
</label>
|
||||||
|
<% end %>
|
||||||
|
<%= hidden_field_tag 'project[issue_custom_field_ids][]', '' %>
|
||||||
|
</fieldset>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<div class="box tabular">
|
||||||
|
<% if @project.safe_attribute?('default_version_id') %>
|
||||||
|
<p><%= f.select :default_version_id, project_default_version_options(@project), include_blank: l(:label_none) %></p>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<% if @project.safe_attribute?('default_assigned_to_id') %>
|
||||||
|
<p><%= f.select :default_assigned_to_id, project_default_assigned_to_options(@project), include_blank: l(:label_none) %></p>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p><%= submit_tag l(:button_save) %></p>
|
||||||
|
<% end %>
|
||||||
@ -879,10 +879,8 @@ class ProjectsControllerTest < Redmine::ControllerTest
|
|||||||
:id => source.id
|
:id => source.id
|
||||||
}
|
}
|
||||||
assert_response :success
|
assert_response :success
|
||||||
assert_select 'fieldset#project_issue_custom_fields' do
|
assert_select 'input[type=hidden][name=?][value=?]', 'project[issue_custom_field_ids][]', field1.id.to_s
|
||||||
assert_select 'input[type=checkbox][value=?][checked=checked]', field1.id.to_s
|
assert_select 'input[type=hidden][name=?][value=?]', 'project[issue_custom_field_ids][]', field2.id.to_s, 0
|
||||||
assert_select 'input[type=checkbox][value=?]:not([checked])', field2.id.to_s
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_post_copy_should_copy_requested_items
|
def test_post_copy_should_copy_requested_items
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user