From 4dee2011f964aacdf317f976ad6ea91f6399abeb Mon Sep 17 00:00:00 2001 From: Jeremy Quinton Date: Fri, 6 Jul 2018 13:18:04 +0200 Subject: [PATCH] Installer improvements 1) Added additional edge case for installer that I missed. 2) Reference class via use statement and correct namespacing. 3) If we are using the docker environment set certain defaults from environment variables instead of hardcoding. --- app/Http/Controllers/InstallerController.php | 19 ++++++++++++++++--- docker-compose.yml | 3 +++ resources/views/Installer/Installer.blade.php | 19 +++++++++---------- 3 files changed, 28 insertions(+), 13 deletions(-) diff --git a/app/Http/Controllers/InstallerController.php b/app/Http/Controllers/InstallerController.php index 69311b40..987f4245 100644 --- a/app/Http/Controllers/InstallerController.php +++ b/app/Http/Controllers/InstallerController.php @@ -9,6 +9,7 @@ use DB; use Illuminate\Http\Request; use Illuminate\Support\MessageBag; use PhpSpec\Exception\Example\ExampleException; +use Log; class InstallerController extends Controller { @@ -102,11 +103,23 @@ class InstallerController extends Controller 'database_username' => 'required', 'database_password' => 'required' ]); + $connectionDetailsValid = true; } catch (\Exception $e) { - \Log::error('Please enter all app settings. ' . $e->getMessage()); - return view('Installer.Installer', $this->data); + Log::error('Please enter all app settings. ' . $e->getMessage()); + $connectionDetailsValid = false; } + if (!$connectionDetailsValid) { + + if ($request->get('test') === 'db') { + return [ + 'status' => 'error', + 'message' => trans("Installer.connection_failure"), + 'test' => 1, + ]; + } + return view('Installer.Installer', $this->data); + } $mail['driver'] = $request->get('mail_driver'); $mail['port'] = $request->get('mail_port'); @@ -236,7 +249,7 @@ class InstallerController extends Controller } } catch (\Exception $e) { - \Log::error('Database connection details invalid' . $e->getMessage()); + Log::error('Database connection details invalid' . $e->getMessage()); } return $databaseConnectionValid; diff --git a/docker-compose.yml b/docker-compose.yml index 9ae9ad51..825e09f4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,6 +5,8 @@ services: build: context: . dockerfile: Dockerfile-nginx + env_file: + - ./.env ports: - "8080:80" networks: @@ -55,6 +57,7 @@ services: - ./.env environment: MYSQL_ROOT_PASSWORD: "yes" + MYSQL_HOST: ${DB_HOST} MYSQL_DATABASE: ${DB_DATABASE} MYSQL_USER: ${DB_USERNAME} MYSQL_PASSWORD: ${DB_PASSWORD} diff --git a/resources/views/Installer/Installer.blade.php b/resources/views/Installer/Installer.blade.php index 420c5a04..bc65d9a2 100644 --- a/resources/views/Installer/Installer.blade.php +++ b/resources/views/Installer/Installer.blade.php @@ -125,7 +125,7 @@
{!! Form::label('database_host', trans("Installer.database_host"), array('class'=>'control-label required')) !!} - {!! Form::text('database_host', 'db', + {!! Form::text('database_host', $value = env("DB_HOST") , array( 'class'=>'form-control ', 'placeholder'=>'' @@ -133,10 +133,9 @@
-
- {!! Form::label('database_name', trans("Installer.database_name"), array('class'=>'required control-label ')) !!} - {!! Form::text('database_name', 'attendize', + {!! Form::label('database_name', trans("Installer.database_name"), array('class'=>'required control-label required')) !!} + {!! Form::text('database_name', $value = env("DB_DATABASE") , array( 'class'=>'form-control' )) !!} @@ -144,15 +143,15 @@
{!! Form::label('database_username', trans("Installer.database_username"), array('class'=>'control-label required')) !!} - {!! Form::text('database_username', 'attendize', + {!! Form::text('database_username', $value = env("DB_USERNAME"), array( 'class'=>'form-control ', 'placeholder'=>'', )) !!}
- {!! Form::label('database_password', trans("Installer.database_password"), array('class'=>'control-label ')) !!} - {!! Form::text('database_password', 'attendize', + {!! Form::label('database_password', trans("Installer.database_password"), array('class'=>'control-label required')) !!} + {!! Form::text('database_password', $value = env("DB_PASSWORD"), array( 'class'=>'form-control ', 'placeholder'=>'', @@ -197,14 +196,14 @@
{!! Form::label('mail_from_address', trans("Installer.mail_from_address"), array('class'=>' control-label required')) !!} - {!! Form::text('mail_from_address', Input::old('mail_from_address'), + {!! Form::text('mail_from_address', $value = env("MAIL_FROM_ADDRESS") , array( 'class'=>'form-control' )) !!}
{!! Form::label('mail_from_name', trans("Installer.mail_from_name"), array('class'=>' control-label required')) !!} - {!! Form::text('mail_from_name', Input::old('mail_from_name'), + {!! Form::text('mail_from_name', $value = env("MAIL_FROM_NAME") , array( 'class'=>'form-control' )) !!} @@ -238,7 +237,7 @@
{!! Form::label('mail_host', trans("Installer.mail_host"), array('class'=>' control-label ')) !!} - {!! Form::text('mail_host', Input::old('mail_host'), + {!! Form::text('mail_host', $value = env("MAIL_HOST"), array( 'class'=>'form-control' )) !!}