mirror of
https://github.com/TracksApp/tracks.git
synced 2026-03-01 10:30:15 +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
|
@uncompleted_predecessors << predecessor
|
||||||
end
|
end
|
||||||
|
|
||||||
# activate successors if they only depend on this todo
|
|
||||||
activated_successor_count = 0
|
activated_successor_count = 0
|
||||||
@pending_to_activate = []
|
@pending_to_activate = []
|
||||||
@todo.pending_successors.each do |successor|
|
@todo.pending_successors.each do |successor|
|
||||||
successor.uncompleted_predecessors.delete(@todo)
|
if successor.uncompleted_predecessors.size == 1
|
||||||
if successor.uncompleted_predecessors.empty?
|
|
||||||
successor.activate!
|
|
||||||
@pending_to_activate << successor
|
@pending_to_activate << successor
|
||||||
activated_successor_count += 1
|
activated_successor_count += 1
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -408,4 +408,16 @@ class Todo < ActiveRecord::Base
|
||||||
count
|
count
|
||||||
end
|
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
|
end
|
||||||
|
|
|
||||||
|
|
@ -542,4 +542,14 @@ class TodoTest < ActiveSupport::TestCase
|
||||||
assert_equal "<p><strong>test</strong></p>", todo.rendered_notes
|
assert_equal "<p><strong>test</strong></p>", todo.rendered_notes
|
||||||
end
|
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
|
end
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue