@@ -853,28 +853,16 class Issue < ActiveRecord::Base | |||
|
853 | 853 | IssueRelation.find(relation_id, :conditions => ["issue_to_id = ? OR issue_from_id = ?", id, id]) |
|
854 | 854 | end |
|
855 | 855 | |
|
856 | # Returns all the other issues that depend on the issue | |
|
856 | 857 | def all_dependent_issues(except=[]) |
|
857 | 858 | except << self |
|
858 | 859 | dependencies = [] |
|
859 | relations_from.each do |relation| | |
|
860 | if relation.issue_to && !except.include?(relation.issue_to) | |
|
861 |
|
|
|
862 | dependencies += relation.issue_to.all_dependent_issues(except) | |
|
863 | end | |
|
864 | end | |
|
865 | unless leaf? | |
|
866 | children.each do |child| | |
|
867 | if !except.include?(child) | |
|
868 | dependencies << child | |
|
869 | dependencies += child.all_dependent_issues(except) | |
|
870 | end | |
|
871 | end | |
|
872 | end | |
|
873 | if parent && !except.include?(parent) | |
|
874 | dependencies << parent | |
|
875 | dependencies += parent.all_dependent_issues(except) | |
|
876 | end | |
|
877 | dependencies | |
|
860 | dependencies += relations_from.map(&:issue_to) | |
|
861 | dependencies += children unless leaf? | |
|
862 | dependencies << parent | |
|
863 | dependencies.compact! | |
|
864 | dependencies -= except | |
|
865 | dependencies + dependencies.map {|issue| issue.all_dependent_issues(except)}.flatten | |
|
878 | 866 | end |
|
879 | 867 | |
|
880 | 868 | # Returns an array of issues that duplicate this one |
General Comments 0
You need to be logged in to leave comments.
Login now