diff -ur -x log redmine-3.3-stable_with_long_text-20170217/app/models/issue_query.rb dev/app/models/issue_query.rb --- redmine-3.3-stable_with_long_text-20170217/app/models/issue_query.rb 2017-02-17 11:23:14.000000000 +0100 +++ dev/app/models/issue_query.rb 2017-03-16 15:16:01.845021275 +0100 @@ -43,6 +43,7 @@ QueryColumn.new(:created_on, :sortable => "#{Issue.table_name}.created_on", :default_order => 'desc'), QueryColumn.new(:closed_on, :sortable => "#{Issue.table_name}.closed_on", :default_order => 'desc'), QueryColumn.new(:relations, :caption => :label_related_issues), + QueryColumn.new(:subtasks, :caption => :label_subtask_plural), QueryColumn.new(:description, :inline => false) ] diff -ur -x log redmine-3.3-stable_with_long_text-20170217/app/models/issue.rb dev/app/models/issue.rb --- redmine-3.3-stable_with_long_text-20170217/app/models/issue.rb 2017-02-17 11:23:14.000000000 +0100 +++ dev/app/models/issue.rb 2017-03-16 15:25:20.399259639 +0100 @@ -241,6 +241,7 @@ @assignable_versions = nil @relations = nil @spent_hours = nil + @subtasks = nil @total_spent_hours = nil @total_estimated_hours = nil base_reload(*args) @@ -1006,6 +1007,10 @@ @spent_hours ||= time_entries.sum(:hours) || 0 end + def subtasks + @subtasks ||= IssueRelation::Relations.new(self, children) + end + # Returns the total number of hours spent on this issue and its descendants def total_spent_hours @total_spent_hours ||= if leaf?