Feature #29482 » 0006-Set-default-columns-for-the-projects-list.patch
| app/controllers/projects_controller.rb | ||
|---|---|---|
| 274 | 274 | 
    end  | 
| 275 | 275 | |
| 276 | 276 | 
    def retrieve_project_query  | 
| 277 | 
    retrieve_query(ProjectQuery, false)  | 
|
| 277 | 
        retrieve_query(ProjectQuery, false, :defaults => @default_columns_names)
   | 
|
| 278 | 278 | 
    end  | 
| 279 | 279 | 
    end  | 
| app/models/project_query.rb | ||
|---|---|---|
| 69 | 69 | 
    end  | 
| 70 | 70 | |
| 71 | 71 | 
    def default_columns_names  | 
| 72 | 
        @default_columns_names ||= [:name, :identifier, :short_description]
   | 
|
| 72 | 
        @default_columns_names = Setting.project_list_defaults.symbolize_keys[:column_names].map(&:to_sym)
   | 
|
| 73 | 73 | 
    end  | 
| 74 | 74 | |
| 75 | 75 | 
    def default_sort_criteria  | 
| app/views/settings/_projects.html.erb | ||
|---|---|---|
| 16 | 16 | 
                          :blank => "--- #{l(:actionview_instancetag_blank_option)} ---" %></p>
   | 
| 17 | 17 | 
    </div>  | 
| 18 | 18 | |
| 19 | 
    <fieldset class="box">  | 
|
| 20 | 
    <legend><%= l(:setting_project_list_defaults) %></legend>  | 
|
| 21 | 
    <% query = ProjectQuery.new(Setting.project_list_defaults) %>  | 
|
| 22 | 
    <%= render_query_columns_selection(query,  | 
|
| 23 | 
    :name => 'settings[project_list_defaults][column_names]') %>  | 
|
| 24 | 
    </fieldset>  | 
|
| 25 | ||
| 26 | ||
| 19 | 27 | 
    <%= submit_tag l(:button_save) %>  | 
| 20 | 28 | 
    <% end %>  | 
| config/locales/en.yml | ||
|---|---|---|
| 484 | 484 | 
    setting_timelog_max_hours_per_day: Maximum hours that can be logged per day and user  | 
| 485 | 485 | 
    setting_timelog_accept_future_dates: Accept time logs on future dates  | 
| 486 | 486 | 
    setting_show_status_changes_in_mail_subject: Show status changes in issue mail notifications subject  | 
| 487 | 
    setting_project_list_defaults: Projects list defaults  | 
|
| 487 | 488 | |
| 488 | 489 | 
    permission_add_project: Create project  | 
| 489 | 490 | 
    permission_add_subprojects: Create subprojects  | 
| config/settings.yml | ||
|---|---|---|
| 230 | 230 | 
    - hours  | 
| 231 | 231 | 
    totalable_names:  | 
| 232 | 232 | 
    - hours  | 
| 233 | 
    project_list_defaults:  | 
|
| 234 | 
    serialized: true  | 
|
| 235 | 
    default:  | 
|
| 236 | 
    column_names:  | 
|
| 237 | 
    - name  | 
|
| 238 | 
    - identifier  | 
|
| 239 | 
    - short_description  | 
|
| 233 | 240 | 
    issue_done_ratio:  | 
| 234 | 241 | 
    default: 'issue_field'  | 
| 235 | 242 | 
    default_projects_public:  | 
| test/functional/projects_controller_test.rb | ||
|---|---|---|
| 147 | 147 | 
    assert_include 'idnt-2', child_level2  | 
| 148 | 148 | 
    end  | 
| 149 | 149 | |
| 150 | 
    def test_index_with_default_query_setting  | 
|
| 151 | 
        with_settings :project_list_defaults => {'column_names' => %w(name short_description status)} do
   | 
|
| 152 | 
          get :index, :params => {
   | 
|
| 153 | 
    :display_type => 'list'  | 
|
| 154 | 
    }  | 
|
| 155 | 
    assert_response :success  | 
|
| 156 | 
    end  | 
|
| 157 | 
    assert_equal ['Name', 'Description', 'Status'], columns_in_list  | 
|
| 158 | 
    end  | 
|
| 159 | ||
| 150 | 160 | 
    def test_autocomplete_js  | 
| 151 | 161 | 
        get :autocomplete, :params => {
   | 
| 152 | 162 | 
    :format => 'js',  |