change order of hook invocation and setting task id (#3339)
this prevents that the task id is always returned as zero after a hook is run on it closes #3312
This commit is contained in:
11
src/TDB2.cpp
11
src/TDB2.cpp
@@ -87,7 +87,7 @@ void TDB2::add (Task& task)
|
|||||||
for (auto& attr : task.all ()) {
|
for (auto& attr : task.all ()) {
|
||||||
// TaskChampion does not store uuid or id in the taskmap
|
// TaskChampion does not store uuid or id in the taskmap
|
||||||
if (attr == "uuid" || attr == "id") {
|
if (attr == "uuid" || attr == "id") {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Use `set_status` for the task status, to get expected behavior
|
// Use `set_status` for the task status, to get expected behavior
|
||||||
@@ -118,12 +118,13 @@ void TDB2::add (Task& task)
|
|||||||
// update the cached working set with the new information
|
// update the cached working set with the new information
|
||||||
_working_set = std::make_optional (std::move (ws));
|
_working_set = std::make_optional (std::move (ws));
|
||||||
|
|
||||||
if (id.has_value ()) {
|
|
||||||
task.id = id.value();
|
|
||||||
}
|
|
||||||
|
|
||||||
// run hooks for this new task
|
// run hooks for this new task
|
||||||
Context::getContext ().hooks.onAdd (task);
|
Context::getContext ().hooks.onAdd (task);
|
||||||
|
|
||||||
|
if (id.has_value ()) {
|
||||||
|
task.id = id.value();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|||||||
Reference in New Issue
Block a user