mirror of
https://github.com/redmine/redmine.git
synced 2025-12-16 05:20:28 +01:00
Add system setting for default results display format of project query (#32818).
Patch by Takenori TAKAKI and Marius BALTEANU. git-svn-id: http://svn.redmine.org/redmine/trunk@19505 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -82,6 +82,10 @@ class ProjectQuery < Query
|
|||||||
@default_columns_names = Setting.project_list_defaults.symbolize_keys[:column_names].map(&:to_sym)
|
@default_columns_names = Setting.project_list_defaults.symbolize_keys[:column_names].map(&:to_sym)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def default_display_type
|
||||||
|
Setting.project_list_display_type
|
||||||
|
end
|
||||||
|
|
||||||
def default_sort_criteria
|
def default_sort_criteria
|
||||||
[[]]
|
[[]]
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -766,6 +766,10 @@ class Query < ActiveRecord::Base
|
|||||||
[]
|
[]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def default_display_type
|
||||||
|
self.available_display_types.first
|
||||||
|
end
|
||||||
|
|
||||||
def column_names=(names)
|
def column_names=(names)
|
||||||
if names
|
if names
|
||||||
names = names.select {|n| n.is_a?(Symbol) || !n.blank? }
|
names = names.select {|n| n.is_a?(Symbol) || !n.blank? }
|
||||||
@@ -997,7 +1001,7 @@ class Query < ActiveRecord::Base
|
|||||||
end
|
end
|
||||||
|
|
||||||
def display_type
|
def display_type
|
||||||
options[:display_type] || self.available_display_types.first
|
options[:display_type] || self.default_display_type
|
||||||
end
|
end
|
||||||
|
|
||||||
def display_type=(type)
|
def display_type=(type)
|
||||||
|
|||||||
@@ -19,6 +19,13 @@
|
|||||||
<fieldset class="box">
|
<fieldset class="box">
|
||||||
<legend><%= l(:setting_project_list_defaults) %></legend>
|
<legend><%= l(:setting_project_list_defaults) %></legend>
|
||||||
<% query = ProjectQuery.new(Setting.project_list_defaults) %>
|
<% query = ProjectQuery.new(Setting.project_list_defaults) %>
|
||||||
|
<p>
|
||||||
|
<label><%= l(:label_display_type) %></label>
|
||||||
|
<% query.available_display_types.each do |t| %>
|
||||||
|
<%= radio_button_tag('settings[project_list_display_type]', t, Setting.project_list_display_type == t, :id => "setting_project_list_display_type_#{t}") %>
|
||||||
|
<%= content_tag('label', l(:"label_display_type_#{t}"), :for => "settings_project_list_display_type_#{t}", :class => "inline") %>
|
||||||
|
<% end %>
|
||||||
|
</p>
|
||||||
<%= render_query_columns_selection(query,
|
<%= render_query_columns_selection(query,
|
||||||
:name => 'settings[project_list_defaults][column_names]') %>
|
:name => 'settings[project_list_defaults][column_names]') %>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|||||||
@@ -230,6 +230,8 @@ time_entry_list_defaults:
|
|||||||
- hours
|
- hours
|
||||||
totalable_names:
|
totalable_names:
|
||||||
- hours
|
- hours
|
||||||
|
project_list_display_type:
|
||||||
|
default: board
|
||||||
project_list_defaults:
|
project_list_defaults:
|
||||||
serialized: true
|
serialized: true
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -60,4 +60,13 @@ class ProjectQueryTest < ActiveSupport::TestCase
|
|||||||
query = ProjectQuery.new
|
query = ProjectQuery.new
|
||||||
assert_include :cf_3, query.available_columns.map(&:name)
|
assert_include :cf_3, query.available_columns.map(&:name)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_display_type_default_should_equal_with_setting_project_list_display_type
|
||||||
|
ProjectQuery.new.available_display_types.each do |t|
|
||||||
|
with_settings :project_list_display_type => t do
|
||||||
|
q = ProjectQuery.new
|
||||||
|
assert_equal t, q.display_type
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user