]> source.dussan.org Git - redmine.git/commitdiff
Refactor: move method to model with compatibility wrapper
authorEric Davis <edavis@littlestreamsoftware.com>
Fri, 22 Oct 2010 22:38:45 +0000 (22:38 +0000)
committerEric Davis <edavis@littlestreamsoftware.com>
Fri, 22 Oct 2010 22:38:45 +0000 (22:38 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4282 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/helpers/application_helper.rb
app/models/project.rb

index 39c2ebda1a137eb6c93e51dbd6c2314547dedfb1..38d43e5b866e3a36b316f12d884d98531c7b985d 100644 (file)
@@ -238,15 +238,10 @@ module ApplicationHelper
   end
   
   # Yields the given block for each project with its level in the tree
+  #
+  # Wrapper for Project#project_tree
   def project_tree(projects, &block)
-    ancestors = []
-    projects.sort_by(&:lft).each do |project|
-      while (ancestors.any? && !project.is_descendant_of?(ancestors.last)) 
-        ancestors.pop
-      end
-      yield project, ancestors.size
-      ancestors << project
-    end
+    Project.project_tree(projects, &block)
   end
   
   def project_nested_ul(projects, &block)
index 000efa7c2f01b88bfb6fa1391754e0bbad27a3ee..16c97441ed2b7184112fac39dd4b48c79f9a1344 100644 (file)
@@ -565,6 +565,18 @@ class Project < ActiveRecord::Base
       return nil
     end
   end
+
+  # Yields the given block for each project with its level in the tree
+  def self.project_tree(projects, &block)
+    ancestors = []
+    projects.sort_by(&:lft).each do |project|
+      while (ancestors.any? && !project.is_descendant_of?(ancestors.last)) 
+        ancestors.pop
+      end
+      yield project, ancestors.size
+      ancestors << project
+    end
+  end
   
   private