Human readable database inconsistent error (#12950)

* Human readable database inconsistent error
In case a db error causes an exception, check validate and show the db errors to the user in the webui.

* only failed validations

* fix style
This commit is contained in:
Tony Murray
2021-06-14 13:33:59 -05:00
committed by GitHub
parent 20c44b85c3
commit bd3da058d3
8 changed files with 122 additions and 9 deletions

View File

@@ -2,7 +2,6 @@
namespace App\Exceptions;
use Exception;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Throwable;
@@ -33,6 +32,7 @@ class Handler extends ExceptionHandler
\LibreNMS\Exceptions\DuskUnsafeException::class,
\LibreNMS\Exceptions\UnserializableRouteCache::class,
\LibreNMS\Exceptions\MaximumExecutionTimeExceeded::class,
\LibreNMS\Exceptions\DatabaseInconsistentException::class,
];
public function render($request, Throwable $exception)

View File

@@ -79,11 +79,10 @@ class DatabaseController extends InstallationController implements InstallerStep
(new Database())->validateSystem($validator);
$results = $validator->getResults('database');
/** @var \LibreNMS\ValidationResult $result */
foreach ($results as $result) {
if ($result->getStatus() == ValidationResult::FAILURE) {
$ok = false;
$messages[] = $result->getMessage();
$messages[] = $result->getMessage() . ' ' . $result->getFix();
}
}
} catch (\Exception $e) {