mirror of
https://github.com/TracksApp/tracks.git
synced 2026-03-09 22:22:37 +01:00
do not activate already completed todos, fix #1778
This commit is contained in:
parent
5718eac5c3
commit
cfdafc69e3
2 changed files with 19 additions and 1 deletions
|
|
@ -317,7 +317,7 @@ class Todo < ActiveRecord::Base
|
||||||
|
|
||||||
# activate todos that should be activated if the current todo is completed
|
# activate todos that should be activated if the current todo is completed
|
||||||
def activate_pending_todos
|
def activate_pending_todos
|
||||||
pending_todos = successors.select {|t| t.uncompleted_predecessors.empty?}
|
pending_todos = successors.select { |t| t.uncompleted_predecessors.empty? and !t.completed? }
|
||||||
pending_todos.each {|t| t.activate! }
|
pending_todos.each {|t| t.activate! }
|
||||||
return pending_todos
|
return pending_todos
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -1003,6 +1003,24 @@ class TodosControllerTest < ActionController::TestCase
|
||||||
assert t4.predecessors.map(&:id).include?(t3.id)
|
assert t4.predecessors.map(&:id).include?(t3.id)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
def test_do_not_activate_done_successors
|
||||||
|
login_as(:admin_user)
|
||||||
|
predecessor = Todo.find(1)
|
||||||
|
successor = Todo.find(2)
|
||||||
|
successor.add_predecessor(predecessor)
|
||||||
|
|
||||||
|
successor.complete!
|
||||||
|
xhr :post, :toggle_check, :id => predecessor.id, :_source_view => 'todo'
|
||||||
|
|
||||||
|
predecessor.reload
|
||||||
|
successor.reload
|
||||||
|
assert !predecessor.active?
|
||||||
|
assert !successor.active?
|
||||||
|
assert predecessor.completed?
|
||||||
|
assert successor.completed?
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def create_todo(params={})
|
def create_todo(params={})
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue