Bug Fix - calendar

- Fixed bug that showed a calendar for the year 2037 when 'task calendar due'
  was run, and there are no tasks with due dates.
This commit is contained in:
Paul Beckingham 2009-11-17 22:41:55 -05:00
parent fbb217538e
commit e7c8114dff
2 changed files with 9 additions and 0 deletions

View file

@ -5,6 +5,8 @@
+ Added feature #292 that permits alternate line coloration in reports + Added feature #292 that permits alternate line coloration in reports
(thanks to Richard Querin). (thanks to Richard Querin).
+ The 'delete' command is now aliased to 'rm' (thanks to Ivo Jimenez). + The 'delete' command is now aliased to 'rm' (thanks to Ivo Jimenez).
+ Fixed bug that showed a calendar for the year 2037 when 'task calendar due'
was run, and there are no tasks with due dates.
------ old releases ------------------------------ ------ old releases ------------------------------

View file

@ -1536,6 +1536,7 @@ int handleReportCalendar (std::string &outs)
yFrom = atoi( context.args[2].data()); yFrom = atoi( context.args[2].data());
} }
int countDueDates = 0;
if (getpendingdate == true) { if (getpendingdate == true) {
// Find the oldest pending due date. // Find the oldest pending due date.
Date oldest (12,31,2037); Date oldest (12,31,2037);
@ -1545,6 +1546,7 @@ int handleReportCalendar (std::string &outs)
{ {
if (task->has ("due")) if (task->has ("due"))
{ {
++countDueDates;
Date d (atoi (task->get ("due").c_str ())); Date d (atoi (task->get ("due").c_str ()));
if (d < oldest) oldest = d; if (d < oldest) oldest = d;
} }
@ -1554,6 +1556,11 @@ int handleReportCalendar (std::string &outs)
yFrom = oldest.year(); yFrom = oldest.year();
} }
// If there are no tasks with due dates, then prevent showing a calendar from
// the year 2037.
if (countDueDates == 0)
throw std::string ("There are no tasks that have due dates.");
mTo = mFrom + monthsToDisplay - 1; mTo = mFrom + monthsToDisplay - 1;
yTo = yFrom; yTo = yFrom;
if (mTo > 12) { if (mTo > 12) {