diff --git a/app/views/todos/_successor.html.erb b/app/views/todos/_successor.html.erb index e00fa0ca..8aee9fd3 100644 --- a/app/views/todos/_successor.html.erb +++ b/app/views/todos/_successor.html.erb @@ -5,6 +5,7 @@ suppress_dependencies ||= false parameters = "_source_view=#{@source_view}" parameters += "&_tag_name=#{@tag_name}" if @source_view == 'tag' @z_index_counter = @z_index_counter - 1 # for IE z-index bug +@rec_depth ||= 0 %>
@@ -13,16 +14,21 @@ parameters += "&_tag_name=#{@tag_name}" if @source_view == 'tag' <%= remote_delete_dependency(successor, predecessor) %> - <% unless successor.pending_successors.empty? %> -
- <%= render :partial => "todos/successor", - :collection => successor.pending_successors, - :locals => { :todo => successor, - :parent_container_type => parent_container_type, - :suppress_dependencies => true, - :predecessor => successor } - %> -
+ <% unless successor.pending_successors.empty? + if @rec_depth < 8 + @rec_depth+=1 %> +
+ <%= render :partial => "todos/successor", + :collection => successor.pending_successors, + :locals => { :todo => successor, + :parent_container_type => parent_container_type, + :suppress_dependencies => true, + :predecessor => successor } + %> +
+ <% else %> + [...] + <% end %> <% end %>
diff --git a/app/views/todos/_todo.html.erb b/app/views/todos/_todo.html.erb index 190a8afd..a6167584 100644 --- a/app/views/todos/_todo.html.erb +++ b/app/views/todos/_todo.html.erb @@ -5,6 +5,7 @@ suppress_edit_button ||= todo.completed? parameters = "_source_view=#{@source_view}" parameters += "&_tag_name=#{@tag_name}" if @source_view == 'tag' @z_index_counter = @z_index_counter - 1 # for IE z-index bug +@rec_depth=0 # to prevent stack overflow on large dependency trees, see _successor.html.erb %>