mirror of
https://github.com/TracksApp/tracks.git
synced 2025-12-24 03:00:12 +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
|
||||
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! }
|
||||
return pending_todos
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1003,6 +1003,24 @@ class TodosControllerTest < ActionController::TestCase
|
|||
assert t4.predecessors.map(&:id).include?(t3.id)
|
||||
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
|
||||
|
||||
def create_todo(params={})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue