installer refactoring

This commit is contained in:
denisdulici
2018-02-20 17:05:58 +03:00
parent 3928adccfe
commit e387548a37
7 changed files with 293 additions and 296 deletions

View File

@ -4,16 +4,18 @@ namespace App\Http\Controllers\Install;
use Artisan;
use App\Http\Requests\Install\Database as Request;
use App\Utilities\AppConfigurer;
use App\Utilities\Installer;
use Illuminate\Routing\Controller;
class Database extends Controller {
class Database extends Controller
{
/**
* Show the form for creating a new resource.
*
* @return Response
*/
public function create() {
public function create()
{
return view( 'install.database.create' );
}
@ -24,7 +26,8 @@ class Database extends Controller {
*
* @return Response
*/
public function store( Request $request ) {
public function store(Request $request)
{
$host = $request['hostname'];
$port = env( 'DB_PORT', '3306' );
$database = $request['database'];
@ -32,27 +35,14 @@ class Database extends Controller {
$password = $request['password'];
// Check database connection
if ( ! AppConfigurer::isDbValid($host,$port,$database,$username,$password) ) {
$message = trans( 'install.error.connection' );
if (!Installer::createDbTables($host, $port, $database, $username, $password)) {
$message = trans('install.error.connection');
flash( $message )->error()->important();
return redirect( 'install/database' )->withInput();
}
// Set database details
AppConfigurer::saveDbVariables($host, $port, $database, $username, $password);
// Try to increase the maximum execution time
set_time_limit( 300 ); // 5 minutes
// Create tables
Artisan::call( 'migrate', [ '--force' => true ] );
// Create Roles
Artisan::call( 'db:seed', [ '--class' => 'Database\Seeds\Roles', '--force' => true ] );
return redirect( 'install/settings' );
return redirect('install/settings' );
}
}

View File

@ -2,8 +2,8 @@
namespace App\Http\Controllers\Install;
use App\Utilities\Installer;
use File;
use App\Utilities\AppConfigurer;
use Illuminate\Routing\Controller;
class Requirements extends Controller
@ -16,12 +16,12 @@ class Requirements extends Controller
public function show()
{
// Check requirements
$requirements = AppConfigurer::checkServerRequirements();
$requirements = Installer::checkServerRequirements();
if (empty($requirements)) {
// Create the .env file
if (!File::exists(base_path('.env'))) {
AppConfigurer::createDefaultEnvFile();
Installer::createDefaultEnvFile();
}
redirect('install/language')->send();

View File

@ -3,7 +3,7 @@
namespace App\Http\Controllers\Install;
use App\Http\Requests\Install\Setting as Request;
use App\Utilities\AppConfigurer;
use App\Utilities\Installer;
use Illuminate\Routing\Controller;
class Settings extends Controller
@ -28,19 +28,13 @@ class Settings extends Controller
public function store(Request $request)
{
// Create company
$companyName = $request['company_name'];
$companyEmail= $request['company_email'];
$locale= session('locale');
AppConfigurer::createCompany($companyName, $companyEmail, $locale);
Installer::createCompany($request->get('company_name'), $request->get('company_email'), session('locale'));
// Create user
$adminEmail = $request['user_email'];
$adminPassword = $request['user_password'];
$locale= session('locale');
AppConfigurer::createUser($adminEmail, $adminPassword, $locale);
Installer::createUser($request->get('user_email'), $request->get('user_password'), session('locale'));
// Make the final touches
AppConfigurer::finalTouches();
Installer::finalTouches();
// Redirect to dashboard
return redirect('auth/login');