Feature #32818 » 0001-Add-system-setting-for-default-results-display-forma.patch
| app/models/project_query.rb | ||
|---|---|---|
| 82 | 82 |
@default_columns_names = Setting.project_list_defaults.symbolize_keys[:column_names].map(&:to_sym) |
| 83 | 83 |
end |
| 84 | 84 | |
| 85 |
def default_display_type |
|
| 86 |
Setting.project_list_display_type |
|
| 87 |
end |
|
| 88 | ||
| 85 | 89 |
def default_sort_criteria |
| 86 | 90 |
[[]] |
| 87 | 91 |
end |
| app/models/query.rb | ||
|---|---|---|
| 766 | 766 |
[] |
| 767 | 767 |
end |
| 768 | 768 | |
| 769 |
def default_display_type |
|
| 770 |
self.available_display_types.first |
|
| 771 |
end |
|
| 772 | ||
| 769 | 773 |
def column_names=(names) |
| 770 | 774 |
if names |
| 771 | 775 |
names = names.select {|n| n.is_a?(Symbol) || !n.blank? }
|
| ... | ... | |
| 997 | 1001 |
end |
| 998 | 1002 | |
| 999 | 1003 |
def display_type |
| 1000 |
options[:display_type] || self.available_display_types.first
|
|
| 1004 |
options[:display_type] || self.default_display_type
|
|
| 1001 | 1005 |
end |
| 1002 | 1006 | |
| 1003 | 1007 |
def display_type=(type) |
| app/views/settings/_projects.html.erb | ||
|---|---|---|
| 19 | 19 |
<fieldset class="box"> |
| 20 | 20 |
<legend><%= l(:setting_project_list_defaults) %></legend> |
| 21 | 21 |
<% query = ProjectQuery.new(Setting.project_list_defaults) %> |
| 22 |
<p> |
|
| 23 |
<label><%= l(:label_display_type) %></label> |
|
| 24 |
<% query.available_display_types.each do |t| %> |
|
| 25 |
<%= radio_button_tag('settings[project_list_display_type]', t, Setting.project_list_display_type == t, :id => "setting_project_list_display_type_#{t}") %>
|
|
| 26 |
<%= content_tag('label', l(:"label_display_type_#{t}"), :for => "settings_project_list_display_type_#{t}", :class => "inline") %>
|
|
| 27 |
<% end %> |
|
| 28 |
</p> |
|
| 22 | 29 |
<%= render_query_columns_selection(query, |
| 23 | 30 |
:name => 'settings[project_list_defaults][column_names]') %> |
| 24 | 31 |
</fieldset> |
| config/settings.yml | ||
|---|---|---|
| 230 | 230 |
- hours |
| 231 | 231 |
totalable_names: |
| 232 | 232 |
- hours |
| 233 |
project_list_display_type: |
|
| 234 |
default: board |
|
| 233 | 235 |
project_list_defaults: |
| 234 | 236 |
serialized: true |
| 235 | 237 |
default: |
| test/unit/project_query_test.rb | ||
|---|---|---|
| 60 | 60 |
query = ProjectQuery.new |
| 61 | 61 |
assert_include :cf_3, query.available_columns.map(&:name) |
| 62 | 62 |
end |
| 63 | ||
| 64 |
def test_display_type_default_should_equal_with_setting_project_list_display_type |
|
| 65 |
ProjectQuery.new.available_display_types.each do |t| |
|
| 66 |
with_settings :project_list_display_type => t do |
|
| 67 |
q = ProjectQuery.new |
|
| 68 |
assert_equal t, q.display_type |
|
| 69 |
end |
|
| 70 |
end |
|
| 71 |
end |
|
| 63 | 72 |
end |
- « Previous
- 1
- 2
- 3
- Next »