Menu

#77 "End Date" checkbox misbehavior

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

When I leave unchecked the "End Date" checkbox of a
task, it becomes checked
again and shown overdue in the future dates.. However
it is not overdue, its
end date is just unknown.

Discussion

  • Matthias Hub

    Matthias Hub - 2007-12-30

    Logged In: YES
    user_id=127110
    Originator: NO

    hi,

    just a quick fix i found for this, which works for me now, but not sure if this will last for long, so the fix needs to be tested (btw: are there some junit tests?):

    ### Eclipse Workspace Patch 1.0
    #P memoranda
    Index: src/net/sf/memoranda/TaskImpl.java
    ===================================================================
    RCS file: /cvsroot/memoranda/memoranda/src/net/sf/memoranda/TaskImpl.java,v
    retrieving revision 1.15
    diff -u -r1.15 TaskImpl.java
    --- src/net/sf/memoranda/TaskImpl.java 1 Dec 2005 08:12:26 -0000 1.15
    +++ src/net/sf/memoranda/TaskImpl.java 30 Dec 2007 23:28:07 -0000
    @@ -58,14 +58,16 @@
    Project pr = this._tl.getProject();
    if (pr.getEndDate() != null)
    return pr.getEndDate();
    - return this.getStartDate();
    + return null;
    + // return this.getStartDate();

    }

    public void setEndDate(CalendarDate date) {
    if (date == null)
    setAttr("endDate", "");
    - setAttr("endDate", date.toString());
    + else
    + setAttr("endDate", date.toString());
    }

    public long getEffort() {
    @@ -305,6 +307,9 @@
    */

    private long calcTaskRate(CalendarDate d) {
    + if (getEndDate() == null)
    + return (100-getProgress());
    +
    Calendar endDateCal = getEndDate().getCalendar();
    Calendar dateCal = d.getCalendar();
    int numOfDays = (endDateCal.get(Calendar.YEAR)*365 + endDateCal.get(Calendar.DAY_OF_YEAR)) -
    Index: src/net/sf/memoranda/util/AgendaGenerator.java
    ===================================================================
    RCS file: /cvsroot/memoranda/memoranda/src/net/sf/memoranda/util/AgendaGenerator.java,v
    retrieving revision 1.13
    diff -u -r1.13 AgendaGenerator.java
    --- src/net/sf/memoranda/util/AgendaGenerator.java 14 Nov 2007 08:17:41 -0000 1.13
    +++ src/net/sf/memoranda/util/AgendaGenerator.java 30 Dec 2007 23:28:11 -0000
    @@ -197,7 +197,12 @@
    }
    }
    =======*/
    - if (t.getEndDate().equals(date))
    + if (t.getEndDate() == null) {
    + // no deadline
    + s += "<p>"
    + + Local.getString("No Deadline")
    + + "</p>";
    + } else if (t.getEndDate().equals(date))
    s += "<p><font color=\"#FF9900\"><b>"
    + Local.getString("Should be done today")
    + ".</b></font></p>";
    Index: src/net/sf/memoranda/ui/TaskPanel.java
    ===================================================================
    RCS file: /cvsroot/memoranda/memoranda/src/net/sf/memoranda/ui/TaskPanel.java,v
    retrieving revision 1.27
    diff -u -r1.27 TaskPanel.java
    --- src/net/sf/memoranda/ui/TaskPanel.java 17 Jan 2007 20:49:12 -0000 1.27
    +++ src/net/sf/memoranda/ui/TaskPanel.java 30 Dec 2007 23:35:56 -0000
    @@ -453,13 +453,16 @@
    dlg.todoField.setText(t.getText());
    dlg.descriptionField.setText(t.getDescription());
    dlg.startDate.getModel().setValue(t.getStartDate().getDate());
    - dlg.endDate.getModel().setValue(t.getEndDate().getDate());
    + if (t.getEndDate() != null)
    + dlg.endDate.getModel().setValue(t.getEndDate().getDate());
    dlg.priorityCB.setSelectedIndex(t.getPriority());
    dlg.effortField.setText(Util.getHoursFromMillis(t.getEffort()));
    + if (t.getEndDate() != null) {
    if((t.getStartDate().getDate()).after(t.getEndDate().getDate()))
    dlg.chkEndDate.setSelected(false);
    else
    dlg.chkEndDate.setSelected(true);
    + }
    dlg.progress.setValue(new Integer(t.getProgress()));
    dlg.chkEndDate_actionPerformed(null);
    dlg.setVisible(true);

     
  • Alex Alishevskikh

    Logged In: YES
    user_id=571786
    Originator: YES

    The patch is applied to CVS.

    Thanks!

     

Log in to post a comment.

MongoDB Logo MongoDB