diff --git a/app/Http/Controllers/EnvironmentController.php b/app/Http/Controllers/EnvironmentController.php index 2ce919e9..388fdf28 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']); 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/plugins/en.js b/resources/assets/js/plugins/en.js index 404bebda..0b1d9cbd 100644 --- a/resources/assets/js/plugins/en.js +++ b/resources/assets/js/plugins/en.js @@ -740,7 +740,8 @@ export default { migrate_failed: 'Migrate Failed', database_variables_save_error: 'Unable to connect to the DB with Provided Values.', mail_variables_save_error: 'Email configuration failed.', - connection_failed: 'Database Connection Failed' + connection_failed: 'Database connection failed', + database_should_be_empty: 'Database should be empty' }, success: { mail_variables_save_successfully: 'Email configured successfully', diff --git a/resources/assets/js/views/wizard/Database.vue b/resources/assets/js/views/wizard/Database.vue index 0f5d30c0..8f43550e 100644 --- a/resources/assets/js/views/wizard/Database.vue +++ b/resources/assets/js/views/wizard/Database.vue @@ -97,7 +97,6 @@