diff --git a/src/commands/CmdDiagnostics.cpp b/src/commands/CmdDiagnostics.cpp index 66fc9a1c9..d5b2e1b1f 100644 --- a/src/commands/CmdDiagnostics.cpp +++ b/src/commands/CmdDiagnostics.cpp @@ -377,6 +377,47 @@ int CmdDiagnostics::execute (std::string& output) << "\n"; } + + // Check all the UUID references + + bool noBrokenRefs = true; + out << " Broken ref: " + << format (STRING_CMD_DIAG_REF_SCAN, all.size ()) + << "\n"; + + for (auto& task : all) + { + // Check dependencies + std::vector dependencies; + task.getDependencies(dependencies); + + for (auto& uuid : dependencies) + { + if (! context.tdb2.has (uuid)) + { + out << " " + << format (STRING_CMD_DIAG_MISS_DEP, task.get ("uuid"), uuid) + << "\n"; + noBrokenRefs = false; + } + } + + // Check recurrence parent + std::string parentUUID = task.get ("parent"); + + if (parentUUID != "" && ! context.tdb2.has (parentUUID)) + { + out << " " + << format (STRING_CMD_DIAG_MISS_PAR, task.get ("uuid"), parentUUID) + << "\n"; + noBrokenRefs = false; + } + } + + if (noBrokenRefs) + out << " " << STRING_CMD_DIAG_REF_OK + << "\n"; + out << "\n"; output = out.str (); return 0; diff --git a/src/l10n/deu-DEU.h b/src/l10n/deu-DEU.h index 247db4648..e950dc870 100644 --- a/src/l10n/deu-DEU.h +++ b/src/l10n/deu-DEU.h @@ -502,11 +502,15 @@ #define STRING_CMD_DIAG_COMMIT "Commit" #define STRING_CMD_DIAG_FOUND "(found)" #define STRING_CMD_DIAG_MISSING "(missing)" +#define STRING_CMD_DIAG_MISS_DEP "Task {1} depends on nonexistent task: {2}" +#define STRING_CMD_DIAG_MISS_PAR "Task {1} has nonexistent recurrence template: {2}" #define STRING_CMD_DIAG_ENABLED "Enabled" #define STRING_CMD_DIAG_DISABLED "Disabled" #define STRING_CMD_DIAG_CONFIG "Configuration" #define STRING_CMD_DIAG_TESTS "Tests" #define STRING_CMD_DIAG_UUID_SCAN "Scanned {1} tasks for duplicate UUIDs:" +#define STRING_CMD_DIAG_REF_SCAN "Scanned {1} tasks for broken references:" +#define STRING_CMD_DIAG_REF_OK "No broken references found" #define STRING_CMD_DIAG_UUID_DUP "Found duplicate {1}" #define STRING_CMD_DIAG_UUID_NO_DUP "No duplicates found" #define STRING_CMD_DIAG_NONE "-none-" diff --git a/src/l10n/eng-USA.h b/src/l10n/eng-USA.h index 21b256fc7..ac1cf3f74 100644 --- a/src/l10n/eng-USA.h +++ b/src/l10n/eng-USA.h @@ -500,11 +500,15 @@ #define STRING_CMD_DIAG_COMMIT "Commit" #define STRING_CMD_DIAG_FOUND "(found)" #define STRING_CMD_DIAG_MISSING "(missing)" +#define STRING_CMD_DIAG_MISS_DEP "Task {1} depends on nonexistent task: {2}" +#define STRING_CMD_DIAG_MISS_PAR "Task {1} has nonexistent recurrence template: {2}" #define STRING_CMD_DIAG_ENABLED "Enabled" #define STRING_CMD_DIAG_DISABLED "Disabled" #define STRING_CMD_DIAG_CONFIG "Configuration" #define STRING_CMD_DIAG_TESTS "Tests" #define STRING_CMD_DIAG_UUID_SCAN "Scanned {1} tasks for duplicate UUIDs:" +#define STRING_CMD_DIAG_REF_SCAN "Scanned {1} tasks for broken references:" +#define STRING_CMD_DIAG_REF_OK "No broken references found" #define STRING_CMD_DIAG_UUID_DUP "Found duplicate {1}" #define STRING_CMD_DIAG_UUID_NO_DUP "No duplicates found" #define STRING_CMD_DIAG_NONE "-none-" diff --git a/src/l10n/epo-RUS.h b/src/l10n/epo-RUS.h index 89fae46de..f419151f6 100644 --- a/src/l10n/epo-RUS.h +++ b/src/l10n/epo-RUS.h @@ -502,11 +502,15 @@ #define STRING_CMD_DIAG_COMMIT "Commit" #define STRING_CMD_DIAG_FOUND "(found)" #define STRING_CMD_DIAG_MISSING "(missing)" +#define STRING_CMD_DIAG_MISS_DEP "Task {1} depends on nonexistent task: {2}" +#define STRING_CMD_DIAG_MISS_PAR "Task {1} has nonexistent recurrence template: {2}" #define STRING_CMD_DIAG_ENABLED "Enabled" #define STRING_CMD_DIAG_DISABLED "Disabled" #define STRING_CMD_DIAG_CONFIG "Configuration" #define STRING_CMD_DIAG_TESTS "Tests" #define STRING_CMD_DIAG_UUID_SCAN "Scanned {1} tasks for duplicate UUIDs:" +#define STRING_CMD_DIAG_REF_SCAN "Scanned {1} tasks for broken references:" +#define STRING_CMD_DIAG_REF_OK "No broken references found" #define STRING_CMD_DIAG_UUID_DUP "Found duplicate {1}" #define STRING_CMD_DIAG_UUID_NO_DUP "No duplicates found" #define STRING_CMD_DIAG_NONE "-none-" diff --git a/src/l10n/esp-ESP.h b/src/l10n/esp-ESP.h index 302106a72..3986dffc6 100644 --- a/src/l10n/esp-ESP.h +++ b/src/l10n/esp-ESP.h @@ -510,11 +510,15 @@ #define STRING_CMD_DIAG_COMMIT "Commit" // |esp-ESP|==|eng-USA| #define STRING_CMD_DIAG_FOUND "(encontrado)" #define STRING_CMD_DIAG_MISSING "(no encontrado)" +#define STRING_CMD_DIAG_MISS_DEP "Task {1} depends on nonexistent task: {2}" +#define STRING_CMD_DIAG_MISS_PAR "Task {1} has nonexistent recurrence template: {2}" #define STRING_CMD_DIAG_ENABLED "Habilitado" #define STRING_CMD_DIAG_DISABLED "deshabilitado" #define STRING_CMD_DIAG_CONFIG "Configuración" #define STRING_CMD_DIAG_TESTS "Comprobaciones" #define STRING_CMD_DIAG_UUID_SCAN "Exploradas {1} tareas buscando UUIDs duplicados:" +#define STRING_CMD_DIAG_REF_SCAN "Scanned {1} tasks for broken references:" +#define STRING_CMD_DIAG_REF_OK "No broken references found" #define STRING_CMD_DIAG_UUID_DUP "Encontrado duplicado {1}" #define STRING_CMD_DIAG_UUID_NO_DUP "No se encontraron duplicados" #define STRING_CMD_DIAG_NONE "-ninguno-" diff --git a/src/l10n/fra-FRA.h b/src/l10n/fra-FRA.h index 8bd024e85..ef73dcab2 100644 --- a/src/l10n/fra-FRA.h +++ b/src/l10n/fra-FRA.h @@ -502,11 +502,15 @@ #define STRING_CMD_DIAG_COMMIT "Commit" #define STRING_CMD_DIAG_FOUND "(found)" #define STRING_CMD_DIAG_MISSING "(missing)" +#define STRING_CMD_DIAG_MISS_DEP "Task {1} depends on nonexistent task: {2}" +#define STRING_CMD_DIAG_MISS_PAR "Task {1} has nonexistent recurrence template: {2}" #define STRING_CMD_DIAG_ENABLED "Enabled" #define STRING_CMD_DIAG_DISABLED "Disabled" #define STRING_CMD_DIAG_CONFIG "Configuration" #define STRING_CMD_DIAG_TESTS "Tests" #define STRING_CMD_DIAG_UUID_SCAN "Scanned {1} tasks for duplicate UUIDs:" +#define STRING_CMD_DIAG_REF_SCAN "Scanned {1} tasks for broken references:" +#define STRING_CMD_DIAG_REF_OK "No broken references found" #define STRING_CMD_DIAG_UUID_DUP "Found duplicate {1}" #define STRING_CMD_DIAG_UUID_NO_DUP "No duplicates found" #define STRING_CMD_DIAG_NONE "-none-" diff --git a/src/l10n/ita-ITA.h b/src/l10n/ita-ITA.h index 645d074aa..939516e91 100644 --- a/src/l10n/ita-ITA.h +++ b/src/l10n/ita-ITA.h @@ -501,11 +501,15 @@ #define STRING_CMD_DIAG_COMMIT "Commit" #define STRING_CMD_DIAG_FOUND "(trovato)" #define STRING_CMD_DIAG_MISSING "(mancante)" +#define STRING_CMD_DIAG_MISS_DEP "Task {1} depends on nonexistent task: {2}" +#define STRING_CMD_DIAG_MISS_PAR "Task {1} has nonexistent recurrence template: {2}" #define STRING_CMD_DIAG_ENABLED "Abilitato" #define STRING_CMD_DIAG_DISABLED "Disabilitato" #define STRING_CMD_DIAG_CONFIG "Configurazione" #define STRING_CMD_DIAG_TESTS "Test" #define STRING_CMD_DIAG_UUID_SCAN "Valutati {1} task per duplicazione UUID:" +#define STRING_CMD_DIAG_REF_SCAN "Scanned {1} tasks for broken references:" +#define STRING_CMD_DIAG_REF_OK "No broken references found" #define STRING_CMD_DIAG_UUID_DUP "Trovato duplicato {1}" #define STRING_CMD_DIAG_UUID_NO_DUP "Nessun duplicato trovato" #define STRING_CMD_DIAG_NONE "-nessuno-" diff --git a/src/l10n/jpn-JPN.h b/src/l10n/jpn-JPN.h index 8db51f148..65bc7915d 100644 --- a/src/l10n/jpn-JPN.h +++ b/src/l10n/jpn-JPN.h @@ -502,11 +502,15 @@ #define STRING_CMD_DIAG_COMMIT "Commit" #define STRING_CMD_DIAG_FOUND "(found)" #define STRING_CMD_DIAG_MISSING "(missing)" +#define STRING_CMD_DIAG_MISS_DEP "Task {1} depends on nonexistent task: {2}" +#define STRING_CMD_DIAG_MISS_PAR "Task {1} has nonexistent recurrence template: {2}" #define STRING_CMD_DIAG_ENABLED "Enabled" #define STRING_CMD_DIAG_DISABLED "Disabled" #define STRING_CMD_DIAG_CONFIG "Configuration" #define STRING_CMD_DIAG_TESTS "Tests" #define STRING_CMD_DIAG_UUID_SCAN "Scanned {1} tasks for duplicate UUIDs:" +#define STRING_CMD_DIAG_REF_SCAN "Scanned {1} tasks for broken references:" +#define STRING_CMD_DIAG_REF_OK "No broken references found" #define STRING_CMD_DIAG_UUID_DUP "Found duplicate {1}" #define STRING_CMD_DIAG_UUID_NO_DUP "No duplicates found" #define STRING_CMD_DIAG_NONE "-none-" diff --git a/src/l10n/pol-POL.h b/src/l10n/pol-POL.h index 96e08661b..acdd9db21 100644 --- a/src/l10n/pol-POL.h +++ b/src/l10n/pol-POL.h @@ -502,11 +502,15 @@ #define STRING_CMD_DIAG_COMMIT "Zatwierdzenie" #define STRING_CMD_DIAG_FOUND "(jest)" #define STRING_CMD_DIAG_MISSING "(brak)" +#define STRING_CMD_DIAG_MISS_DEP "Task {1} depends on nonexistent task: {2}" +#define STRING_CMD_DIAG_MISS_PAR "Task {1} has nonexistent recurrence template: {2}" #define STRING_CMD_DIAG_ENABLED "Włączone" #define STRING_CMD_DIAG_DISABLED "Wyłączone" #define STRING_CMD_DIAG_CONFIG "Konfiguracja" #define STRING_CMD_DIAG_TESTS "Testy" #define STRING_CMD_DIAG_UUID_SCAN "Zeskanowano {1} zadań w poszukiwaniu zdublowanych UUIDów:" +#define STRING_CMD_DIAG_REF_SCAN "Scanned {1} tasks for broken references:" +#define STRING_CMD_DIAG_REF_OK "No broken references found" #define STRING_CMD_DIAG_UUID_DUP "Znaleziono duplikaty {1}" #define STRING_CMD_DIAG_UUID_NO_DUP "Nie znaleziono duplikatów" #define STRING_CMD_DIAG_NONE "-brak-" diff --git a/src/l10n/por-PRT.h b/src/l10n/por-PRT.h index 8b85739f2..b9f5a4d66 100644 --- a/src/l10n/por-PRT.h +++ b/src/l10n/por-PRT.h @@ -502,11 +502,15 @@ #define STRING_CMD_DIAG_COMMIT "Commit" // |por-PRT|==|eng-USA| #define STRING_CMD_DIAG_FOUND "(presente)" #define STRING_CMD_DIAG_MISSING "(em falta)" +#define STRING_CMD_DIAG_MISS_DEP "Task {1} depends on nonexistent task: {2}" +#define STRING_CMD_DIAG_MISS_PAR "Task {1} has nonexistent recurrence template: {2}" #define STRING_CMD_DIAG_ENABLED "Ativado" #define STRING_CMD_DIAG_DISABLED "Desativado" #define STRING_CMD_DIAG_CONFIG "Configuração" #define STRING_CMD_DIAG_TESTS "Testes" #define STRING_CMD_DIAG_UUID_SCAN "UUIDs duplicados em {1} tarefas:" +#define STRING_CMD_DIAG_REF_SCAN "Scanned {1} tasks for broken references:" +#define STRING_CMD_DIAG_REF_OK "No broken references found" #define STRING_CMD_DIAG_UUID_DUP "UUID duplicado {1}" #define STRING_CMD_DIAG_UUID_NO_DUP "Nenhum duplicado encontrado" #define STRING_CMD_DIAG_NONE "-nenhum-"