diff --git a/app/controllers/HomeController.php b/app/controllers/HomeController.php index 06a1d322..2d5de188 100644 --- a/app/controllers/HomeController.php +++ b/app/controllers/HomeController.php @@ -1,11 +1,20 @@ component = $component; + } + /** * Returns the rendered Blade templates. * @return \Illuminate\View\View */ public function showIndex() { - return View::make('index', ['components' => Component::all()]); + return View::make('index', ['components' => $this->component->all()]); } } diff --git a/app/controllers/SetupController.php b/app/controllers/SetupController.php index d2d2723a..d25bae57 100644 --- a/app/controllers/SetupController.php +++ b/app/controllers/SetupController.php @@ -1,11 +1,15 @@ beforeFilter('csrf', ['only' => ['postCachet']]); + } + /** * Returns the setup page. * @return \Illuminate\View\View */ - public function showSetup() { + public function getIndex() { return View::make('setup')->with([ 'pageTitle' => 'Setup' ]); @@ -15,26 +19,25 @@ class SetupController extends Controller { * Handles the actual app setup. * @return \Illuminate\Http\RedirectResponse */ - public function setupCachet() { + public function postIndex() { $postData = Input::get(); $v = Validator::make($postData, [ 'settings.app_name' => 'required', - 'settings.app_domain' => 'url|required', + 'settings.app_domain' => 'required', 'settings.show_support' => 'boolean', - 'user.name' => 'alpha_dash|required', + 'user.username' => 'alpha_dash|required', 'user.email' => 'email|required', 'user.password' => 'required' ]); if ($v->passes()) { // Pull the user details out. - $userDetails = array_get($postData, 'user'); - unset($postData['user']); + $userDetails = array_pull($postData, 'user'); $user = new User; - $user->username = $userDetails['name']; + $user->username = $userDetails['username']; $user->email = $userDetails['email']; - $user->password = Hash::make($userDetails['password']); + $user->password = $userDetails['password']; $user->save(); Auth::login($user); diff --git a/app/models/User.php b/app/models/User.php index a1987a11..8bf054da 100644 --- a/app/models/User.php +++ b/app/models/User.php @@ -23,4 +23,15 @@ class User extends Eloquent implements UserInterface, RemindableInterface { */ protected $hidden = ['password', 'remember_token']; + /** + * Hash any password being inserted by default + * + * @param string @password + * @return void + */ + public function setPasswordAttribute($password) { + $this->attributes['password'] = Hash::make($password); + } + + } diff --git a/app/routes/app.php b/app/routes/app.php index 6afe4eac..f9f6e6d5 100644 --- a/app/routes/app.php +++ b/app/routes/app.php @@ -10,10 +10,7 @@ Route::group(['before' => 'has_setting:app_name'], function() { }); Route::group(['before' => 'no_setup:app_name'], function() { - Route::get('/setup', 'SetupController@showSetup'); - Route::group(['before' => 'csrf'], function() { - Route::post('/setup', 'SetupController@setupCachet'); - }); + Route::controller('/setup', 'SetupController'); }); Route::group(['before' => 'auth'], function() { diff --git a/app/views/setup.blade.php b/app/views/setup.blade.php index 283e91a4..d60574a4 100644 --- a/app/views/setup.blade.php +++ b/app/views/setup.blade.php @@ -41,9 +41,9 @@