diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index 68d3c94..0dd876c 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -70,8 +70,16 @@ class IssuesController < ApplicationController @issue_count = @query.issue_count @issue_pages = Paginator.new self, @issue_count, limit, params['page'] + + hier_sort_clause = sort_clause + if hier_sort_clause == 'issues.id DESC' + hier_sort_clause = 'issues.root_id DESC, issues.lft' + elsif hier_sort_clause == 'issues.id' + hier_sort_clause = 'issues.root_id, issues.lft' + end + @issues = @query.issues(:include => [:assigned_to, :tracker, :priority, :category, :fixed_version], - :order => sort_clause, + :order => hier_sort_clause, :offset => @issue_pages.current.offset, :limit => limit) @issue_count_by_group = @query.issue_count_by_group diff --git a/app/models/issue.rb b/app/models/issue.rb index 0cb9e38..4ad44f2 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -207,6 +207,7 @@ class Issue < ActiveRecord::Base done_ratio estimated_hours custom_field_values + level ) unless const_defined?(:SAFE_ATTRIBUTES) # Safely sets attributes diff --git a/app/views/issues/_list.rhtml b/app/views/issues/_list.rhtml index b29476d..7824396 100644 --- a/app/views/issues/_list.rhtml +++ b/app/views/issues/_list.rhtml @@ -27,7 +27,16 @@