mirror of
https://github.com/TracksApp/tracks.git
synced 2025-12-24 03:00:12 +01:00
parent
9089e15788
commit
e0143cf435
3 changed files with 23 additions and 4 deletions
|
|
@ -494,13 +494,10 @@ class TodosController < ApplicationController
|
|||
@uncompleted_predecessors << predecessor
|
||||
end
|
||||
|
||||
# activate successors if they only depend on this todo
|
||||
activated_successor_count = 0
|
||||
@pending_to_activate = []
|
||||
@todo.pending_successors.each do |successor|
|
||||
successor.uncompleted_predecessors.delete(@todo)
|
||||
if successor.uncompleted_predecessors.empty?
|
||||
successor.activate!
|
||||
if successor.uncompleted_predecessors.size == 1
|
||||
@pending_to_activate << successor
|
||||
activated_successor_count += 1
|
||||
end
|
||||
|
|
|
|||
|
|
@ -408,4 +408,16 @@ class Todo < ActiveRecord::Base
|
|||
count
|
||||
end
|
||||
|
||||
def destroy
|
||||
# activate successors if they only depend on this action
|
||||
self.pending_successors.each do |successor|
|
||||
successor.uncompleted_predecessors.delete(self)
|
||||
if successor.uncompleted_predecessors.empty?
|
||||
successor.activate!
|
||||
end
|
||||
end
|
||||
|
||||
super
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
|||
|
|
@ -542,4 +542,14 @@ class TodoTest < ActiveSupport::TestCase
|
|||
assert_equal "<p><strong>test</strong></p>", todo.rendered_notes
|
||||
end
|
||||
|
||||
def test_destroying_action_activates_successors
|
||||
@not_completed1.add_predecessor(@not_completed2)
|
||||
@not_completed1.block!
|
||||
|
||||
@not_completed2.destroy
|
||||
|
||||
@not_completed1.reload
|
||||
assert @not_completed1.active?
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue