Cmd*: Added validateInterval calls prior to all interval modification

This commit is contained in:
Paul Beckingham 2016-07-02 13:59:08 -04:00
parent 2e849dcd22
commit ffe326ed48
10 changed files with 14 additions and 0 deletions

View file

@ -41,6 +41,7 @@ int CmdContinue (
{
// Open an identical interval and update hte DB.
latest.range.open ();
validateInterval (database, rules, latest);
database.addInterval (latest);
if (rules.getBoolean ("verbose"))

View file

@ -76,6 +76,7 @@ int CmdJoin (
combined.range.end = second.range.end;
database.deleteInterval (second);
validateInterval (database, rules, combined);
database.modifyInterval (first, combined);
// Feedback.

View file

@ -69,6 +69,7 @@ int CmdLengthen (
Duration dur (delta);
i.range.end += dur.toTime_t ();
validateInterval (database, rules, i);
database.modifyInterval (tracked[tracked.size () - id], i);
// Feedback.

View file

@ -86,6 +86,7 @@ int CmdMove (
i.range.end -= delta;
}
validateInterval (database, rules, i);
database.modifyInterval (tracked[tracked.size () - id], i);
// Feedback.

View file

@ -71,6 +71,7 @@ int CmdShorten (
{
i.range.end -= dur.toTime_t ();
validateInterval (database, rules, i);
database.modifyInterval (tracked[tracked.size () - id], i);
// Feedback.

View file

@ -81,7 +81,9 @@ int CmdSplit (
second.range.start = midpoint;
}
validateInterval (database, rules, first);
database.modifyInterval (tracked[tracked.size () - id], first);
validateInterval (database, rules, second);
database.addInterval (second);
// Feedback.

View file

@ -66,6 +66,7 @@ int CmdStop (
modified.range.end = Datetime ();
// Close the interval.
validateInterval (database, rules, modified);
database.modifyInterval (latest, modified);
// If tags are specified, but are not a full set of tags, remove them
@ -90,6 +91,7 @@ int CmdStop (
{
modified.range.start = modified.range.end;
modified.range.end = {0};
validateInterval (database, rules, modified);
database.addInterval (modified);
if (rules.getBoolean ("verbose"))
std::cout << '\n' << intervalSummarize (database, rules, modified);

View file

@ -64,6 +64,7 @@ int CmdTag (
for (auto& tag : tags)
i.tag (tag);
validateInterval (database, rules, i);
database.modifyInterval (tracked[tracked.size () - id], i);
// Feedback.

View file

@ -44,7 +44,10 @@ int CmdTrack (
auto exclusions = getAllExclusions (rules, filter.range);
for (auto& interval : flatten (filter, exclusions))
{
validateInterval (database, rules, interval);
database.addInterval (interval);
}
if (rules.getBoolean ("verbose"))
std::cout << intervalSummarize (database, rules, filter);

View file

@ -64,6 +64,7 @@ int CmdUntag (
for (auto& tag : tags)
i.untag (tag);
validateInterval (database, rules, i);
database.modifyInterval (tracked[tracked.size () - id], i);
// Feedback.