have installer check db info again before writing out the env file

This commit is contained in:
Nabeel Shahzad
2017-12-24 12:10:31 -06:00
parent 89cde530a0
commit 960cbc7cd1
2 changed files with 27 additions and 13 deletions

View File

@@ -33,13 +33,25 @@ class InstallerController extends AppBaseController
*/ */
public function index() public function index()
{ {
if(config('app.key') !== 'base64:zdgcDqu9PM8uGWCtMxd74ZqdGJIrnw812oRMmwDF6KY=') { /*if(config('app.key') !== 'base64:zdgcDqu9PM8uGWCtMxd74ZqdGJIrnw812oRMmwDF6KY=') {
return view('installer::errors/already-installed'); return view('installer::errors/already-installed');
} }*/
return view('installer::index-start'); return view('installer::index-start');
} }
protected function testDb(Request $request)
{
$this->dbService->checkDbConnection(
$request->input('db_conn'),
$request->input('db_host'),
$request->input('db_port'),
$request->input('db_name'),
$request->input('db_user'),
$request->input('db_pass')
);
}
/** /**
* Check the database connection * Check the database connection
*/ */
@@ -49,14 +61,7 @@ class InstallerController extends AppBaseController
$message = 'Database connection looks good!'; $message = 'Database connection looks good!';
try { try {
$this->dbService->checkDbConnection( $this->testDb($request);
$request->input('db_conn'),
$request->input('db_host'),
$request->input('db_port'),
$request->input('db_name'),
$request->input('db_user'),
$request->input('db_pass')
);
} catch (\Exception $e) { } catch (\Exception $e) {
$status = 'danger'; $status = 'danger';
$message = 'Failed! ' . $e->getMessage(); $message = 'Failed! ' . $e->getMessage();
@@ -129,6 +134,16 @@ class InstallerController extends AppBaseController
{ {
Log::info('ENV setup', $request->toArray()); Log::info('ENV setup', $request->toArray());
// Before writing out the env file, test the DB credentials
try {
$this->testDb($request);
} catch (\Exception $e) {
flash()->error($e->getMessage());
return redirect(route('installer.step2'))->withInput();
}
// Now write out the env file
try { try {
$this->envService->createEnvFile( $this->envService->createEnvFile(
$request->input('db_conn'), $request->input('db_conn'),
@@ -140,7 +155,7 @@ class InstallerController extends AppBaseController
); );
} catch(FileException $e) { } catch(FileException $e) {
flash()->error($e->getMessage()); flash()->error($e->getMessage());
return redirect(route('installer.step2')); return redirect(route('installer.step2'))->withInput();
} }
# Needs to redirect so it can load the new .env # Needs to redirect so it can load the new .env
@@ -157,7 +172,7 @@ class InstallerController extends AppBaseController
$console_out = $this->dbService->setupDB($request->input('db_conn')); $console_out = $this->dbService->setupDB($request->input('db_conn'));
} catch(QueryException $e) { } catch(QueryException $e) {
flash()->error($e->getMessage()); flash()->error($e->getMessage());
return redirect(route('installer.step2')); return redirect(route('installer.step2'))->withInput();
} }
return view('installer::steps/step2a-completed', [ return view('installer::steps/step2a-completed', [

View File

@@ -7,6 +7,5 @@
<p style="text-align: right"> <p style="text-align: right">
{!! Form::submit('Go to your site >>', ['class' => 'btn btn-success']) !!} {!! Form::submit('Go to your site >>', ['class' => 'btn btn-success']) !!}
</p> </p>
{!! PirepState::REJECTED !!}
{!! Form::close() !!} {!! Form::close() !!}
@endsection @endsection