From 950be4daf297ee0b369dfdc03a994bab1eed847c Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Tue, 14 May 2013 19:01:05 +0100 Subject: [PATCH] cron: better solution to testing "due today" for tasks with repeat options, and user with custom dayStart. Still not sure if this is the ideal solution, but addresses #963 --- src/app/helpers.coffee | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/app/helpers.coffee b/src/app/helpers.coffee index 82fe5df465..fbf91249de 100644 --- a/src/app/helpers.coffee +++ b/src/app/helpers.coffee @@ -18,9 +18,12 @@ shouldDo = (day, repeat, dayStart=0) -> return false unless repeat now = +new Date selected = repeat[dayMapping[sod(day, dayStart).day()]] - if moment(day).isSame(now,'d') - return selected and dayStart <= moment(now).hour() - return selected + return selected unless moment(day).isSame(now,'d') + if dayStart <= moment(now).hour() # we're past the dayStart mark, is it due today? + return selected + else # we're not past dayStart mark, check if it was due "yesterday" + yesterday = moment(now).subtract(1,'d').day() + return repeat[dayMapping[yesterday]] # http://stackoverflow.com/questions/2532218/pick-random-property-from-a-javascript-object # obj: object