Login and some routes fixed.

This commit is contained in:
James Cole
2015-02-07 22:50:47 +01:00
parent 6b54ef8398
commit 1499b2cd40
7 changed files with 142 additions and 147 deletions

View File

@@ -5,34 +5,38 @@ use Illuminate\Contracts\Auth\Guard;
use Illuminate\Contracts\Auth\Registrar;
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;
class AuthController extends Controller {
class AuthController extends Controller
{
/*
|--------------------------------------------------------------------------
| Registration & Login Controller
|--------------------------------------------------------------------------
|
| This controller handles the registration of new users, as well as the
| authentication of existing users. By default, this controller uses
| a simple trait to add these behaviors. Why don't you explore it?
|
*/
/*
|--------------------------------------------------------------------------
| Registration & Login Controller
|--------------------------------------------------------------------------
|
| This controller handles the registration of new users, as well as the
| authentication of existing users. By default, this controller uses
| a simple trait to add these behaviors. Why don't you explore it?
|
*/
use AuthenticatesAndRegistersUsers;
use AuthenticatesAndRegistersUsers;
/**
* Create a new authentication controller instance.
*
* @param \Illuminate\Contracts\Auth\Guard $auth
* @param \Illuminate\Contracts\Auth\Registrar $registrar
* @return void
*/
public function __construct(Guard $auth, Registrar $registrar)
{
$this->auth = $auth;
$this->registrar = $registrar;
public $redirectTo = '/';
$this->middleware('guest', ['except' => 'getLogout']);
}
/**
* Create a new authentication controller instance.
*
* @param \Illuminate\Contracts\Auth\Guard $auth
* @param \Illuminate\Contracts\Auth\Registrar $registrar
*
* @return void
*/
public function __construct(Guard $auth, Registrar $registrar)
{
$this->auth = $auth;
$this->registrar = $registrar;
$this->middleware('guest', ['except' => 'getLogout']);
}
}

View File

@@ -136,13 +136,19 @@ Route::group(
//Route::any('/transactions/unrelate/{tj}', ['uses' => 'TransactionController@unrelate', 'as' => 'transactions.unrelate']);
/**
* User Controller
* TODO move to AuthController
* Auth\Auth Controller
*/
Route::get('/logout', ['uses' => 'UserController@logout', 'as' => 'logout']);
Route::get('/logout', ['uses' => 'Auth\AuthController@getLogout', 'as' => 'logout']);
}
);
/**
* Auth\AuthController
*/
Route::get('/register', ['uses' => 'Auth\AuthController@getRegister', 'as' => 'register']);
Route::controllers(
[
'auth' => 'Auth\AuthController',

View File

@@ -1,39 +1,44 @@
<?php namespace FireflyIII\Services;
use FireflyIII\User;
use Validator;
use Illuminate\Contracts\Auth\Registrar as RegistrarContract;
use Validator;
class Registrar implements RegistrarContract {
class Registrar implements RegistrarContract
{
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @return \Illuminate\Contracts\Validation\Validator
*/
public function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|confirmed|min:6',
]);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
*
* @return User
*/
public function create(array $data)
{
return User::create(
[
'email' => $data['email'],
'password' => bcrypt($data['password']),
]
);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return User
*/
public function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
}
/**
* Get a validator for an incoming registration request.
*
* @param array $data
*
* @return \Illuminate\Contracts\Validation\Validator
*/
public function validator(array $data)
{
return Validator::make(
$data, [
'email' => 'required|email|max:255|unique:users',
'password' => 'required|confirmed|min:6',
]
);
}
}

View File

@@ -63,5 +63,6 @@ return [
'table' => 'password_resets',
'expire' => 60,
],
'allow_register' => true
];

View File

@@ -1,63 +1,51 @@
@extends('app')
@extends('layouts.guest')
@section('content')
<div class="container-fluid">
<div class="row">
<div class="col-md-8 col-md-offset-2">
<div class="panel panel-default">
<div class="panel-heading">Login</div>
<div class="panel-body">
@if (count($errors) > 0)
<div class="alert alert-danger">
<strong>Whoops!</strong> There were some problems with your input.<br><br>
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<form class="form-horizontal" role="form" method="POST" action="/auth/login">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<div class="form-group">
<label class="col-md-4 control-label">E-Mail Address</label>
<div class="col-md-6">
<input type="email" class="form-control" name="email" value="{{ old('email') }}">
</div>
</div>
<div class="form-group">
<label class="col-md-4 control-label">Password</label>
<div class="col-md-6">
<input type="password" class="form-control" name="password">
</div>
</div>
<div class="form-group">
<div class="col-md-6 col-md-offset-4">
<div class="checkbox">
<label>
<input type="checkbox" name="remember"> Remember Me
</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-md-6 col-md-offset-4">
<button type="submit" class="btn btn-primary" style="margin-right: 15px;">
Login
</button>
<a href="/password/email">Forgot Your Password?</a>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
@if($errors->has('email'))
<div class="row">
<div class="col-lg-12">
<div class="alert alert-danger alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
<strong>Error!</strong> {{$errors->get('email')[0]}}
</div>
</div>
</div>
@endsection
@endif
<div class="row">
<div class="col-md-4 col-md-offset-4">
<div class="login-panel panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Firefly III &mdash; Sign In</h3>
</div>
<div class="panel-body">
<form role="form" method="POST" id="login" action="/auth/login">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<div class="form-group">
<input type="email" class="form-control" id="inputEmail" name="email" placeholder="E-mail">
</div>
<div class="form-group">
<input type="password" class="form-control" id="inputPassword" name="password" placeholder="Password">
</div>
<div class="checkbox">
<label>
<input type="checkbox" name="remember" value="1"> Remember me
</label>
</div>
<p>
<button type="submit" class="btn btn-lg btn-success btn-block">Login</button>
</p>
<div class="btn-group btn-group-justified btn-group-sm">
@if(Config::get('auth.allow_register') === true)
<a href="{{route('register')}}" class="btn btn-default">Register</a>
@endif
<a href="/password/email" class="btn btn-default">Forgot your password?</a>
</div>
</form>
</div>
</div>
</div>
</div>
@stop

View File

@@ -1,12 +1,14 @@
@extends('app')
@extends('layouts.guest')
@section('content')
<div class="container-fluid">
<div class="row">
<div class="col-md-8 col-md-offset-2">
<div class="panel panel-default">
<div class="panel-heading">Register</div>
<div class="col-md-4 col-md-offset-4">
<div class="login-panel panel panel-default">
<div class="panel-heading">Firefly III &mdash; Register</div>
<div class="panel-body">
<p>
Registering an account on Firefly requires an e-mail address.
</p>
@if (count($errors) > 0)
<div class="alert alert-danger">
<strong>Whoops!</strong> There were some problems with your input.<br><br>
@@ -18,35 +20,22 @@
</div>
@endif
<form class="form-horizontal" role="form" method="POST" action="/auth/register">
<form role="form" id="register" method="POST" action="/auth/register">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<div class="form-group">
<label class="col-md-4 control-label">Name</label>
<div class="col-md-6">
<input type="text" class="form-control" name="name" value="{{ old('name') }}">
</div>
<label class="control-label">E-Mail Address</label>
<input type="email" class="form-control" name="email" value="{{ old('email') }}">
</div>
<div class="form-group">
<label class="col-md-4 control-label">E-Mail Address</label>
<div class="col-md-6">
<input type="email" class="form-control" name="email" value="{{ old('email') }}">
</div>
<label class="control-label">Password</label>
<input type="password" class="form-control" name="password">
</div>
<div class="form-group">
<label class="col-md-4 control-label">Password</label>
<div class="col-md-6">
<input type="password" class="form-control" name="password">
</div>
</div>
<div class="form-group">
<label class="col-md-4 control-label">Confirm Password</label>
<div class="col-md-6">
<input type="password" class="form-control" name="password_confirmation">
</div>
<label class="control-label">Confirm Password</label>
<input type="password" class="form-control" name="password_confirmation">
</div>
<div class="form-group">

View File

@@ -7,10 +7,10 @@
<base href="{{URL::route('index')}}/">
<title>Firefly III</title>
<link rel="stylesheet" href="assets/stylesheets/bootstrap/bootstrap.min.css" type="text/css" media="all" />
<link rel="stylesheet" href="assets/stylesheets/metisMenu/metisMenu.min.css" type="text/css" media="all" />
<link rel="stylesheet" href="assets/stylesheets/sbadmin/sb.css" type="text/css" media="all" />
<link rel="stylesheet" href="assets/stylesheets/fa/css/font-awesome.min.css" type="text/css" media="all" />
<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css" type="text/css" media="all" />
<link rel="stylesheet" href="css/metisMenu.min.css" type="text/css" media="all" />
<link rel="stylesheet" href="css/sb.css" type="text/css" media="all" />
<link rel="stylesheet" href="font-awesome/css/font-awesome.min.css" type="text/css" media="all" />
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
@@ -42,5 +42,7 @@
@include('partials.flashes')
@yield('content')
</div>
<script type="text/javascript" src="js/jquery-2.1.3.min.js"></script>
<script type="text/javascript" src="bootstrap/js/bootstrap.min.js"></script>
</body>
</html>