diff --git a/app/Http/Controllers/EnvironmentController.php b/app/Http/Controllers/EnvironmentController.php index 2ce919e9..3254b546 100755 --- a/app/Http/Controllers/EnvironmentController.php +++ b/app/Http/Controllers/EnvironmentController.php @@ -35,9 +35,7 @@ class EnvironmentController extends Controller { $results = $this->EnvironmentManager->saveDatabaseVariables($request); - if(array_key_exists("success", $results)) { - Artisan::call('config:clear'); Artisan::call('migrate --seed'); Artisan::call('migrate', ['--path' => 'vendor/laravel/passport/database/migrations']); @@ -57,13 +55,30 @@ class EnvironmentController extends Controller */ public function saveMailEnvironment(MailEnvironmentRequest $request) { + $setting = Setting::getSetting('profile_complete'); $results = $this->EnvironmentManager->saveMailVariables($request); - Setting::setSetting('profile_complete', 4); + if ($setting !== 'COMPLETED') + { + Setting::setSetting('profile_complete', 4); + } return response()->json($results); } + public function getMailEnvironment() + { + $MailData = [ + 'mail_driver' => config('mail.driver'), + 'mail_host' => config('mail.host'), + 'mail_port' => config('mail.port'), + 'mail_username' => config('mail.username'), + 'mail_password' => config('mail.password'), + 'mail_encryption' => config('mail.encryption') + ]; + + return response()->json($MailData); + } /** * diff --git a/app/Http/Controllers/OnboardingController.php b/app/Http/Controllers/OnboardingController.php index 18fd9686..49735975 100644 --- a/app/Http/Controllers/OnboardingController.php +++ b/app/Http/Controllers/OnboardingController.php @@ -203,7 +203,7 @@ class OnboardingController extends Controller ); } - Setting::setSetting('version','1.0.0'); + Setting::setSetting('version', config('crater.version')); Artisan::call('passport:install --force'); diff --git a/app/Space/EnvironmentManager.php b/app/Space/EnvironmentManager.php index 1fae5937..0fb13fd0 100755 --- a/app/Space/EnvironmentManager.php +++ b/app/Space/EnvironmentManager.php @@ -49,12 +49,20 @@ class EnvironmentManager 'DB_PASSWORD='.$request->database_password."\n\n"; if (! $this->checkDatabaseConnection($request)) { + return [ 'error' => 'connection_failed' ]; + } else { + if(count(DB::connection()->select('SHOW TABLES'))) { + return [ + 'error' => 'database_should_be_empty' + ]; + } } try { + file_put_contents($this->envPath, str_replace( $oldDatabaseData, $newDatabaseData, @@ -101,7 +109,7 @@ class EnvironmentManager 'MAIL_USERNAME='.$request->mail_username."\n". 'MAIL_PASSWORD='.$request->mail_password."\n". 'MAIL_ENCRYPTION='.$request->mail_encryption."\n\n"; - // dd($newMailData); + try { file_put_contents($this->envPath, str_replace( diff --git a/config/crater.php b/config/crater.php new file mode 100644 index 00000000..0278efcf --- /dev/null +++ b/config/crater.php @@ -0,0 +1,14 @@ + '1.0.0', + +]; diff --git a/resources/assets/js/components/base/BaseButton.vue b/resources/assets/js/components/base/BaseButton.vue index 2bb758ba..d624d158 100644 --- a/resources/assets/js/components/base/BaseButton.vue +++ b/resources/assets/js/components/base/BaseButton.vue @@ -1,9 +1,29 @@ - diff --git a/resources/assets/js/components/base/BaseInput.vue b/resources/assets/js/components/base/BaseInput.vue index 08a85bfd..09936d55 100644 --- a/resources/assets/js/components/base/BaseInput.vue +++ b/resources/assets/js/components/base/BaseInput.vue @@ -4,7 +4,7 @@ +