FEATURE: add Request class for handling user registration
Laravel provides functionality for validating and authorization of incoming form requests. This commit adds this functionality to user registration.
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\CreateNewUser;
|
||||||
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 CreateNewUser $request
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Http\RedirectResponse
|
||||||
*/
|
*/
|
||||||
protected function postRegistration(Request $request)
|
protected function postRegistration(CreateNewUser $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;
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,33 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Requests;
|
||||||
|
|
||||||
|
use App\Http\Requests\Request;
|
||||||
|
use App\Models\User;
|
||||||
|
|
||||||
|
class CreateNewUser extends Request
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Determine if the user is authorized to make this request.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function authorize()
|
||||||
|
{
|
||||||
|
return \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'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user