diff --git a/app/controllers/todos_controller.rb b/app/controllers/todos_controller.rb index 90384c02..fe3f5f7a 100644 --- a/app/controllers/todos_controller.rb +++ b/app/controllers/todos_controller.rb @@ -1142,7 +1142,7 @@ class TodosController < ApplicationController # if both due and show_from are nil, check for a next todo from now date_to_check = Time.zone.now if date_to_check.nil? - if recurring_todo.active? && recurring_todo.has_next_todo(date_to_check) + if recurring_todo.active? && recurring_todo.continues_recurring?(date_to_check) # shift the reference date to yesterday if date_to_check is furher in # the past. This is to make sure we do not get older todos for overdue diff --git a/app/models/recurring_todo.rb b/app/models/recurring_todo.rb index 3d8bfd1b..5795be04 100644 --- a/app/models/recurring_todo.rb +++ b/app/models/recurring_todo.rb @@ -658,7 +658,7 @@ class RecurringTodo < ActiveRecord::Base return nil end - def has_next_todo(previous) + def continues_recurring?(previous) return self.occurences_count < self.number_of_occurences unless self.number_of_occurences.nil? return true if self.end_date.nil? || self.ends_on == 'no_end_date' @@ -673,7 +673,7 @@ class RecurringTodo < ActiveRecord::Base end def done?(end_date) - !has_next_todo(end_date) + !continues_recurring?(end_date) end def toggle_completion! diff --git a/test/unit/recurring_todo_test.rb b/test/unit/recurring_todo_test.rb index 482910db..3f770114 100644 --- a/test/unit/recurring_todo_test.rb +++ b/test/unit/recurring_todo_test.rb @@ -87,11 +87,11 @@ class RecurringTodoTest < ActiveSupport::TestCase end def test_end_date_on_recurring_todo - assert_equal true, @every_day.has_next_todo(@in_three_days) - assert_equal true, @every_day.has_next_todo(@in_four_days) + assert_equal true, @every_day.continues_recurring?(@in_three_days) + assert_equal true, @every_day.continues_recurring?(@in_four_days) @every_day.end_date = @in_four_days @every_day.ends_on = 'ends_on_end_date' - assert_equal false, @every_day.has_next_todo(@in_four_days) + assert_equal false, @every_day.continues_recurring?(@in_four_days) end def test_weekly_every_day_setters @@ -118,7 +118,7 @@ class RecurringTodoTest < ActiveSupport::TestCase end def test_weekly_pattern - assert_equal true, @weekly_every_day.has_next_todo(nil) + assert_equal true, @weekly_every_day.continues_recurring?(nil) due_date = @weekly_every_day.get_due_date(@sunday) assert_equal @monday, due_date @@ -303,11 +303,11 @@ class RecurringTodoTest < ActiveSupport::TestCase def test_occurence_count @every_day.number_of_occurences = 2 - assert_equal true, @every_day.has_next_todo(@in_three_days) + assert_equal true, @every_day.continues_recurring?(@in_three_days) @every_day.increment_occurrences - assert_equal true, @every_day.has_next_todo(@in_three_days) + assert_equal true, @every_day.continues_recurring?(@in_three_days) @every_day.increment_occurrences - assert_equal false, @every_day.has_next_todo(@in_three_days) + assert_equal false, @every_day.continues_recurring?(@in_three_days) # after completion, when you reactivate the recurring todo, the occurences # count should be reset @@ -315,7 +315,7 @@ class RecurringTodoTest < ActiveSupport::TestCase assert @every_day.toggle_completion! assert @every_day.toggle_completion! - assert_equal true, @every_day.has_next_todo(@in_three_days) + assert_equal true, @every_day.continues_recurring?(@in_three_days) assert_equal 0, @every_day.occurences_count end