Merge branch 'authentication' into dev

This commit is contained in:
Michal Kváček
2016-01-22 17:52:39 +01:00
7 changed files with 78 additions and 36 deletions
+10 -12
View File
@@ -4,8 +4,8 @@ namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Http\Requests;
use App\Http\Requests\CreateNewUserRequest;
use App\Models\User;
use Illuminate\Contracts\Hashing\Hasher;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
@@ -43,18 +43,12 @@ class UserManagement extends Controller
*
* This method saves new user into database
*
* @param Request $request
* @param CreateNewUserRequest $request
*
* @return \Illuminate\Http\RedirectResponse
*/
protected function postRegistration(Request $request)
protected function postRegistration(CreateNewUserRequest $request)
{
// validate input data
$this->validate($request, [
'role' => 'required',
'email' => 'required|email|max:128|unique:users',
'password' => 'required|min:6'
]);
// when user did not provide any username, use his email
$username = isset($request->username) && !empty($request->username) ? $request->username : $request->email;
@@ -68,6 +62,10 @@ class UserManagement extends Controller
// store user into database
$user->save();
// @todo add some redirect, inform user etc.
// refresh page with information about successfull registration
return redirect()
->route('users.new')
->with('message', trans('admin/userManagement.registrationSuccessfull'));
}
}
+3 -3
View File
@@ -17,12 +17,12 @@ class Authenticate
*/
public function handle($request, Closure $next, $guard = null)
{
if (Auth::check()) {
if (!Auth::check($guard)) {
if ($request->ajax()) {
return response('Unauthorized.', 401);
} else {
return redirect()->guest('login');
}
return redirect()->guest('login');
}
return $next($request);
@@ -0,0 +1,34 @@
<?php
namespace App\Http\Requests;
use App\Http\Requests\Request;
use App\Models\User;
class CreateNewUserRequest extends Request
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return \Auth::check() && \Auth::$user->role == User::ROLE_ADMIN;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'role' => 'required',
'email' => 'required|email|max:128|unique:users',
'password' => 'required|min:6'
];
}
}
+3 -7
View File
@@ -20,13 +20,13 @@ Route::group(['middleware' => ['web']], function () {
* This route group serves to handle request in admin
*/
Route::group([
// 'middleware' => ['auth'],
// 'middleware' => ['auth'],
'namespace' => 'Admin',
'prefix' => 'admin'
], function () {
// display dashboard with some usefull information
Route::get('/', 'Dashboard@getIndex');
Route::get('/', 'Dashboard@getIndex')
->name('admin.dashboard');
// display form for creating new user
Route::get('admin/users/new', 'UserManagement@getNewUser')
@@ -43,8 +43,4 @@ Route::group([
// display list of all users registered into our system
Route::get('admin/users/overview/{state?}', 'UserManagement@getOverview')
->name('users.overview');
// POST methods
Route::post('login', 'Admin\Login@postLogin')
->name('login');
});
+2 -1
View File
@@ -8,6 +8,7 @@ return [
'role_admin' => 'Admin',
'role_editor' => 'Editor',
'role_visitor' => 'Visitor',
'register' => 'Create user'
'register' => 'Create user',
'registrationSuccessfull' => 'New user successfully added.'
];
+20 -7
View File
@@ -1,9 +1,16 @@
@extends('admin.layout')
{{--Set page name--}}
@section('pageName', @trans('admin/loginForm.pageName'))
@section('content')
<!doctype html>
<html class="no-js" lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
@yield('head_meta')
<title>@lang('admin/loginForm.login') | {{$vendorName}}</title>
<link rel="stylesheet" href="{{asset('../resources/assets/css/foundation.css')}}" />
<link rel="stylesheet" href="{{asset('../resources/assets/css/admin.css')}}" />
@yield('head_stylesheets')
</head>
<body>
<div class="row">
<div class="medium-6 medium-centered large-4 large-centered columns login-form">
@@ -54,4 +61,10 @@
</form>
</div>
</div>
@stop
<script src="{{asset('../resources/assets/js/vendor/jquery.min.js')}}"></script>
<script src="{{asset('../resources/assets/js/vendor/what-input.min.js')}}"></script>
<script src="{{asset('../resources/assets/js/foundation.min.js')}}"></script>
</body>
</html>
@@ -1,7 +1,7 @@
@extends('admin.layout')
@section('content')
<form method="POST" action="{{route('users.new')}}">
<form method="POST" action="{{route('users.newPost')}}">
{!! csrf_field() !!}
<label>
@@ -14,7 +14,7 @@
<input type="text" name="email" placeholder="somebody@example.com">
@if ($errors->has('email'))
@if (isset($errors) && $errors->has('email'))
<span class="help-block">
<strong>{{ $errors->first('email') }}</strong>
</span>
@@ -26,7 +26,7 @@
<input type="text" name="password">
@if ($errors->has('password'))
@if (isset($errors) && $errors->has('password'))
<span class="help-block">
<strong>{{ $errors->first('password') }}</strong>
</span>
@@ -44,7 +44,7 @@
@endforeach
@if ($errors->has('role'))
@if (isset($errors) && $errors->has('role'))
<span class="help-block">
<strong>{{ $errors->first('role') }}</strong>
</span>