Merge branch 'authentication' into dev
This commit is contained in:
@@ -4,8 +4,8 @@ namespace App\Http\Controllers\Admin;
|
|||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Http\Requests;
|
use App\Http\Requests;
|
||||||
|
use App\Http\Requests\CreateNewUserRequest;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use Illuminate\Contracts\Hashing\Hasher;
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Hash;
|
use Illuminate\Support\Facades\Hash;
|
||||||
|
|
||||||
@@ -43,18 +43,12 @@ class UserManagement extends Controller
|
|||||||
*
|
*
|
||||||
* This method saves new user into database
|
* 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
|
// when user did not provide any username, use his email
|
||||||
$username = isset($request->username) && !empty($request->username) ? $request->username : $request->email;
|
$username = isset($request->username) && !empty($request->username) ? $request->username : $request->email;
|
||||||
|
|
||||||
@@ -68,6 +62,10 @@ class UserManagement extends Controller
|
|||||||
|
|
||||||
// store user into database
|
// store user into database
|
||||||
$user->save();
|
$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'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,12 +17,12 @@ class Authenticate
|
|||||||
*/
|
*/
|
||||||
public function handle($request, Closure $next, $guard = null)
|
public function handle($request, Closure $next, $guard = null)
|
||||||
{
|
{
|
||||||
if (Auth::check()) {
|
if (!Auth::check($guard)) {
|
||||||
if ($request->ajax()) {
|
if ($request->ajax()) {
|
||||||
return response('Unauthorized.', 401);
|
return response('Unauthorized.', 401);
|
||||||
} else {
|
|
||||||
return redirect()->guest('login');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return redirect()->guest('login');
|
||||||
}
|
}
|
||||||
|
|
||||||
return $next($request);
|
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'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
+2
-6
@@ -24,9 +24,9 @@ Route::group([
|
|||||||
'namespace' => 'Admin',
|
'namespace' => 'Admin',
|
||||||
'prefix' => 'admin'
|
'prefix' => 'admin'
|
||||||
], function () {
|
], function () {
|
||||||
|
|
||||||
// display dashboard with some usefull information
|
// display dashboard with some usefull information
|
||||||
Route::get('/', 'Dashboard@getIndex');
|
Route::get('/', 'Dashboard@getIndex')
|
||||||
|
->name('admin.dashboard');
|
||||||
|
|
||||||
// display form for creating new user
|
// display form for creating new user
|
||||||
Route::get('admin/users/new', 'UserManagement@getNewUser')
|
Route::get('admin/users/new', 'UserManagement@getNewUser')
|
||||||
@@ -43,8 +43,4 @@ Route::group([
|
|||||||
// display list of all users registered into our system
|
// display list of all users registered into our system
|
||||||
Route::get('admin/users/overview/{state?}', 'UserManagement@getOverview')
|
Route::get('admin/users/overview/{state?}', 'UserManagement@getOverview')
|
||||||
->name('users.overview');
|
->name('users.overview');
|
||||||
|
|
||||||
// POST methods
|
|
||||||
Route::post('login', 'Admin\Login@postLogin')
|
|
||||||
->name('login');
|
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ return [
|
|||||||
'role_admin' => 'Admin',
|
'role_admin' => 'Admin',
|
||||||
'role_editor' => 'Editor',
|
'role_editor' => 'Editor',
|
||||||
'role_visitor' => 'Visitor',
|
'role_visitor' => 'Visitor',
|
||||||
'register' => 'Create user'
|
'register' => 'Create user',
|
||||||
|
'registrationSuccessfull' => 'New user successfully added.'
|
||||||
|
|
||||||
];
|
];
|
||||||
@@ -1,9 +1,16 @@
|
|||||||
@extends('admin.layout')
|
<!doctype html>
|
||||||
|
<html class="no-js" lang="en">
|
||||||
{{--Set page name--}}
|
<head>
|
||||||
@section('pageName', @trans('admin/loginForm.pageName'))
|
<meta charset="utf-8" />
|
||||||
|
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
||||||
@section('content')
|
<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="row">
|
||||||
<div class="medium-6 medium-centered large-4 large-centered columns login-form">
|
<div class="medium-6 medium-centered large-4 large-centered columns login-form">
|
||||||
@@ -54,4 +61,10 @@
|
|||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</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')
|
@extends('admin.layout')
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<form method="POST" action="{{route('users.new')}}">
|
<form method="POST" action="{{route('users.newPost')}}">
|
||||||
{!! csrf_field() !!}
|
{!! csrf_field() !!}
|
||||||
|
|
||||||
<label>
|
<label>
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
<input type="text" name="email" placeholder="somebody@example.com">
|
<input type="text" name="email" placeholder="somebody@example.com">
|
||||||
|
|
||||||
@if ($errors->has('email'))
|
@if (isset($errors) && $errors->has('email'))
|
||||||
<span class="help-block">
|
<span class="help-block">
|
||||||
<strong>{{ $errors->first('email') }}</strong>
|
<strong>{{ $errors->first('email') }}</strong>
|
||||||
</span>
|
</span>
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
|
|
||||||
<input type="text" name="password">
|
<input type="text" name="password">
|
||||||
|
|
||||||
@if ($errors->has('password'))
|
@if (isset($errors) && $errors->has('password'))
|
||||||
<span class="help-block">
|
<span class="help-block">
|
||||||
<strong>{{ $errors->first('password') }}</strong>
|
<strong>{{ $errors->first('password') }}</strong>
|
||||||
</span>
|
</span>
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
@endforeach
|
@endforeach
|
||||||
|
|
||||||
|
|
||||||
@if ($errors->has('role'))
|
@if (isset($errors) && $errors->has('role'))
|
||||||
<span class="help-block">
|
<span class="help-block">
|
||||||
<strong>{{ $errors->first('role') }}</strong>
|
<strong>{{ $errors->first('role') }}</strong>
|
||||||
</span>
|
</span>
|
||||||
|
|||||||
Reference in New Issue
Block a user