From c7036ad68af5d89a79bfeea0c1aeb6b7233d3ba8 Mon Sep 17 00:00:00 2001 From: manavo Date: Mon, 24 Nov 2014 17:01:58 +0000 Subject: [PATCH 1/4] Open Cachet GitHub page in a new tab --- app/views/index.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/index.blade.php b/app/views/index.blade.php index 9018f394..0e12f0ac 100644 --- a/app/views/index.blade.php +++ b/app/views/index.blade.php @@ -25,7 +25,7 @@ @if(Setting::get('show_support'))
@endif @stop From ad115bc9159f04fc6b639096eddbe2f85b862dba Mon Sep 17 00:00:00 2001 From: manavo Date: Mon, 24 Nov 2014 17:02:21 +0000 Subject: [PATCH 2/4] Don't show login page if you're already logged in --- app/routes/app.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/routes/app.php b/app/routes/app.php index f6afbb08..3376b44b 100644 --- a/app/routes/app.php +++ b/app/routes/app.php @@ -10,7 +10,7 @@ }); }); - Route::get('/auth/login', 'AuthController@showLogin'); + Route::get('/auth/login', 'AuthController@showLogin')->before('guest'); Route::group(['before' => 'auth'], function() { // Dashboard/Management Panel etc. Route::get('/dashboard', 'DashboardController@showDashboard'); From 66ddd7bd04b4d82add651cbbef9c932801bcf8fd Mon Sep 17 00:00:00 2001 From: manavo Date: Mon, 24 Nov 2014 17:21:36 +0000 Subject: [PATCH 3/4] Don't save passwords in plaintext --- app/controllers/SetupController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/SetupController.php b/app/controllers/SetupController.php index 62a85ee3..d2bf4c21 100644 --- a/app/controllers/SetupController.php +++ b/app/controllers/SetupController.php @@ -26,7 +26,7 @@ $user = new User; $user->username = $userDetails['name']; $user->email = $userDetails['email']; - $user->password = $userDetails['password']; + $user->password = Hash::make($userDetails['password']); $user->save(); Auth::login($user); From 2176e63ad95c1e0682e8188f6fb00833b7342993 Mon Sep 17 00:00:00 2001 From: manavo Date: Mon, 24 Nov 2014 17:21:50 +0000 Subject: [PATCH 4/4] Login page --- app/controllers/AuthController.php | 10 ++++++++- app/routes/app.php | 2 ++ app/views/auth/login.blade.php | 35 ++++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 app/views/auth/login.blade.php diff --git a/app/controllers/AuthController.php b/app/controllers/AuthController.php index 31efa39a..dae85ffa 100644 --- a/app/controllers/AuthController.php +++ b/app/controllers/AuthController.php @@ -5,7 +5,15 @@ */ class AuthController extends Controller { public function showLogin() { - return 'Coming soon...'; + return View::make('auth.login'); + } + + public function postLogin() { + if (Auth::attempt(Input::only(['email', 'password']))) { + return Redirect::intended('dashboard'); + } else { + return Redirect::back()->withInput(Input::except('password'))->with('error', 'Invalid email or password'); + } } public function logoutAction() { diff --git a/app/routes/app.php b/app/routes/app.php index 3376b44b..bf8d6f5b 100644 --- a/app/routes/app.php +++ b/app/routes/app.php @@ -11,6 +11,8 @@ }); Route::get('/auth/login', 'AuthController@showLogin')->before('guest'); + Route::post('/auth/login', 'AuthController@postLogin')->before('guest|csrf'); + Route::group(['before' => 'auth'], function() { // Dashboard/Management Panel etc. Route::get('/dashboard', 'DashboardController@showDashboard'); diff --git a/app/views/auth/login.blade.php b/app/views/auth/login.blade.php new file mode 100644 index 00000000..bf6088da --- /dev/null +++ b/app/views/auth/login.blade.php @@ -0,0 +1,35 @@ +@extends('layout.master') + +@section('content') + +
+
+ {{ Form::open() }} +
+ Login + + @if(Session::has('error')) + {{ Session::get('error') }} + @endif + +
+ + {{ Form::email('email', Input::old('email'), [ + 'class' => 'form-control', 'placeholder' => 'Email', 'required' => 'required' + ]) }} +
+
+ + {{ Form::password('password', [ + 'class' => 'form-control', 'placeholder' => 'Password', 'required' => 'required' + ]) }} +
+
+ +
+
+ {{ Form::close() }} +
+
+ +@stop