Menu

#35 Deadline: "Today" showing up for tasks not due today

open
nobody
None
5
2006-10-06
2006-10-06
No

I am running ackerTodo 4.0 on Gentoo Linux, under
Apache 2.2 i think.

This error is the same as one I noted that had been
closed due to being old, bug #1353763.

I have four tasks that are being displayed as due
"Today", although today is really 06 October 2006, and
the deadlines of the tasks are: 15 November 2006, 15
October 2006, and 15 February 2007.

The tasks are of varying priorities, and were assigned
by admin to another user.

It seems to be a problem specific to the 15th of a
month. The previous bug report also cited the error
specific to the 15th of a month (November):

(TEXT OF PREVIOUS BUG REPORT 1353763)
-----------------------------------------------------
"Hi,
i've setup an ackerTodo on a linux webhosting.
I've inserted a new task in the past week.

now (today is nov 11) i've updated this task, and it's
expiration date is 15 nov 2005.
the task has no recurrence, and in the show task window
i see Status = Deadline: Today.
The real deadline should be 15 nov 2005, and if i
change it to 14 nov 1005 it is showed correctly.
Yesterday (nov 10 2005) was happening the same thing
with task which expiration date was 14 nov 2005.
i think this could be a bug with date calculation.
Thanks for your great work!
shak"
-----------------------------------------------------

Discussion

  • daniel t evilsizor

    Logged In: YES
    user_id=348862

    The problem seems to be with the get_status() function
    inside of includes/tasks.inc

    Particularly, I found that there was a comparison

    -------------------------------------------------------
    if($date == $curdate || $cur_dow == $task_dow) {
    //...
    // ... if recurrance != 2,3, or 5, then
    $status = _DEADLINE . ': ' . _TODAY;
    //...
    }
    -------------------------------------------------------

    where $task_dow was matching $cur_dow incorrectly. for
    example, both were returning 10 when cur_dow was sunday, the
    8th of october, and task_dow was wednesday, 10 january. they
    were both returning 10. so i think one of these two vars
    were built wrong.

     
  • Nobody/Anonymous

    Logged In: NO

    I just installed ackerTodo yesterday and noticed this as well. Here's a quick patch.

    *** includes/tasks.inc Fri Feb 9 08:27:36 2007
    --- /mnt/src/WWW/ackerTodo-4.2/src/includes/tasks.inc Wed Sep 20 10:51:11 2006
    ***************
    *** 285,293 ****
    $image = 'overdue.gif';
    } else {
    if($date == $curdate || $cur_dow == $task_dow) {
    ! if($recurrence == 0 && $date != $curdate) {
    ! $status = _DEADLINE . ': ' . format_date_simple($myrow['date'], $date_format);
    ! } elseif($recurrence == 2) {
    $status = _WEEKLY . ': ' . _TODAY;
    } elseif($recurrence == 3) {
    $status = _MONTHLY . ': ' . _TODAY;
    --- 285,291 ----
    $image = 'overdue.gif';
    } else {
    if($date == $curdate || $cur_dow == $task_dow) {
    ! if($recurrence == 2) {
    $status = _WEEKLY . ': ' . _TODAY;
    } elseif($recurrence == 3) {
    $status = _MONTHLY . ': ' . _TODAY;

    It won't apply cleanly because of the tabs in the sourcecode, but this should be
    enough to get you going.

    Christopher Lindsey
    lindsey at mallorn.com

     

Log in to post a comment.

MongoDB Logo MongoDB