From db9333ec64953c2b6e0ea61aaea5c636530dcc2f Mon Sep 17 00:00:00 2001 From: Paul Beckingham Date: Wed, 1 Sep 2010 23:08:21 -0400 Subject: [PATCH] Bug #476 - Fixed bug #476, so that task now issues a warning when a wait date falls after a due date (thanks to T. Charles Yun). --- ChangeLog | 2 ++ src/command.cpp | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/ChangeLog b/ChangeLog index adfa36c9c..001b9bab1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -66,6 +66,8 @@ + Fixed bug #466, which gave the wrong error message when a custom report was missing a direction indicator for the sort order. + Fixed bug #470, which caused task to not support the color 'none'. + + Fixed bug #476, so that task now issues a warning when a wait date falls + after a due date. + Fixed bug #480, which didn't properly support @ characters in tags. This also now supports $ and #. + Fixed problem with command line configuration overrides that had no diff --git a/src/command.cpp b/src/command.cpp index 333000685..80ff8def4 100644 --- a/src/command.cpp +++ b/src/command.cpp @@ -96,6 +96,11 @@ int handleAdd (std::string &outs) context.task.addTag (*tag); // Perform some logical consistency checks. + if (context.task.has ("wait") && + context.task.has ("due") && + Date (context.task.get ("due")) < Date (context.task.get ("wait"))) + context.footnote ("Warning: the wait date falls after the due date."); + if (context.task.has ("recur") && !context.task.has ("due")) throw std::string ("You cannot specify a recurring task without a due date."); @@ -1588,6 +1593,11 @@ int handleModify (std::string &outs) context.task.get ("recur") == "") throw std::string ("You cannot remove the recurrence from a recurring task."); + if ((task->has ("wait") && context.task.has ("due") && Date (context.task.get ("due")) < Date (task->get ("wait"))) || + (context.task.has ("wait") && task->has ("due") && Date (task->get ("due")) < Date (context.task.get ("wait"))) || + (task->has ("wait") && task->has ("due") && Date (task->get ("due")) < Date (task->get ("wait")))) + context.footnote ("Warning: the wait date falls after the due date."); + // Make all changes. foreach (other, all) {