Bug #438 - Reports sorting by end_time, start_time, and entry_time are ordered incorrectly

- Fixed bug #438, correcting the sorting of the entry_time, start_time
  and end_time columns (thanks to Michelle Crane).
- Reordered ChangeLog so that bugs, features are in sequence.  Don't know
  why I did this.  Some inner compulsion.
- Deprecated silly start_time, end_time and entry_time columns, which are
  now (and were) superseded by start, end and entry columns with time formats.
- Config.cpp now detects use of these deprecated fields and complains to the
  show command.
- Date.cpp now uses the variable 'input' instead of 'mdy', which was confusing
  and implied that it contained a date without a time.
- Obsoleted and removed Date::toStringWithTime, which ignored requested formats.
- When checking for an epoch, Date::isEpoch just looked for strings of more
  than 8 digits.  The additional restriction of less than or equal to 10 digits
  was added.  This was breaking unit tests using the dateformat YMDHNS, which is
  reasonable.
- Removed the obsolete field format hooks format-entry_time, format-start_time
  and format-end_time
- Removed the obsolete field format hook unit tests hook.format-entry_time.t,
  hook.format-start_time.t and hook.format-end_time.t.
- Removed use of deprecated field in hook.format-countdown_compact.t.
- Added missing shortcut comparisons in Table::sort that was causing an
  unnecessary full parse of dates even if they were identical as strings.
- Coded entry_time as a synonym for entry.  Ditto for start_time and end_time.
- Marked the new synonyms as deprecated.
- Added bug.438.t unit test.
- Added deprecated fields to the NEWS file.
This commit is contained in:
Paul Beckingham
2010-07-20 16:37:47 -07:00
parent a57326a026
commit 1a34a29b7a
16 changed files with 232 additions and 444 deletions

View File

@@ -486,7 +486,6 @@ void Config::createDefaultRC (const std::string& rc, const std::string& data)
contents << "# [Created by "
<< PACKAGE_STRING
<< " "
// << now.toStringWithTime ()
<< now.toString ("m/d/Y H:N:S")
<< "]\n"
<< defaults.substr (0, loc + 14)
@@ -641,12 +640,16 @@ std::string Config::checkForDeprecatedColumns ()
if (i->first.find ("report") == 0)
{
std::string value = get (i->first);
if (value.find ("entry_time") != std::string::npos)
if (value.find ("entry_time") != std::string::npos ||
value.find ("start_time") != std::string::npos ||
value.find ("end_time") != std::string::npos)
deprecated.push_back (i->first);
}
}
std::stringstream out;
out << std::endl;
if (deprecated.size ())
{
out << "Your .taskrc file contains reports with deprecated columns. "