mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Offer opt in to usage and error reporting during install (#13906)
and on the about page
This commit is contained in:
@@ -26,9 +26,12 @@
|
||||
namespace App\Http\Controllers\Install;
|
||||
|
||||
use Exception;
|
||||
use Illuminate\Http\Request;
|
||||
use LibreNMS\Config;
|
||||
use LibreNMS\Exceptions\FileWriteFailedException;
|
||||
use LibreNMS\Interfaces\InstallerStep;
|
||||
use LibreNMS\Util\EnvHelper;
|
||||
use LibreNMS\Util\Git;
|
||||
|
||||
class FinalizeController extends InstallationController implements InstallerStep
|
||||
{
|
||||
@@ -40,6 +43,29 @@ class FinalizeController extends InstallationController implements InstallerStep
|
||||
return $this->redirectToIncomplete();
|
||||
}
|
||||
|
||||
return view('install.finish', $this->formatData([
|
||||
'can_update' => Git::make()->isAvailable(),
|
||||
'success' => '',
|
||||
'env' => '',
|
||||
'config' => '',
|
||||
'messages' => '',
|
||||
'env_message' => '',
|
||||
'config_message' => '',
|
||||
]));
|
||||
}
|
||||
|
||||
public function saveConfig(Request $request): \Illuminate\Http\JsonResponse
|
||||
{
|
||||
$request->validate([
|
||||
'update_channel' => 'in:master,release',
|
||||
'site_style' => 'in:light,dark',
|
||||
]);
|
||||
|
||||
$this->saveSetting('update_channel', $request->get('update_channel', 'master'));
|
||||
$this->saveSetting('site_style', $request->get('site_style'));
|
||||
$this->saveSetting('reporting.error', $request->has('error_reporting'));
|
||||
$this->saveSetting('reporting.usage', $request->has('usage_reporting'));
|
||||
|
||||
$env = '';
|
||||
$config = '';
|
||||
$config_file = base_path('config.php');
|
||||
@@ -65,14 +91,14 @@ class FinalizeController extends InstallationController implements InstallerStep
|
||||
$env_message = trans('install.finish.env_not_written');
|
||||
}
|
||||
|
||||
return view('install.finish', $this->formatData([
|
||||
return response()->json([
|
||||
'success' => $success,
|
||||
'env' => $env,
|
||||
'config' => $config,
|
||||
'messages' => $messages,
|
||||
'env_message' => $env_message,
|
||||
'config_message' => $config_message,
|
||||
]));
|
||||
]);
|
||||
}
|
||||
|
||||
private function writeEnvFile()
|
||||
@@ -138,6 +164,18 @@ class FinalizeController extends InstallationController implements InstallerStep
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $name
|
||||
* @param mixed $value
|
||||
* @return void
|
||||
*/
|
||||
private function saveSetting(string $name, $value): void
|
||||
{
|
||||
if (Config::get($name) !== $value) {
|
||||
Config::persist($name, $value);
|
||||
}
|
||||
}
|
||||
|
||||
public function enabled(): bool
|
||||
{
|
||||
foreach ($this->hydrateControllers() as $step => $controller) {
|
||||
|
||||
Reference in New Issue
Block a user