diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index ed1a5e0..772fad4 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -5,9 +5,13 @@ use App\Http\Controllers\Controller; use App\Providers\RouteServiceProvider; use App\Models\User; +use Illuminate\Auth\Events\Registered; use Illuminate\Foundation\Auth\RegistersUsers; +use Illuminate\Http\JsonResponse; +use Illuminate\Http\Request; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Validator; +use Spatie\Permission\Models\Role; class RegisterController extends Controller { @@ -50,9 +54,11 @@ public function __construct() protected function validator(array $data) { return Validator::make($data, [ - 'name' => ['required', 'string', 'max:255'], - 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], - 'password' => ['required', 'string', 'min:8', 'confirmed'], + 'name' => ['required'], + 'username' => ['required', 'unique:users'], + 'email' => ['required', 'email', 'unique:users'], + 'phone' => ['required', 'unique:users', 'numeric', 'min:10'], + 'password' => ['required', 'min:6'], ]); } @@ -67,7 +73,28 @@ protected function create(array $data) return User::create([ 'name' => $data['name'], 'email' => $data['email'], - 'password' => Hash::make($data['password']), + 'username' => $data['username'], + 'phone' => $data['phone'], + 'password' => bcrypt($data['password']), ]); } + + public function register(Request $request) + { + $this->validator($request->all())->validate(); + + event(new Registered($user = $this->create($request->all()))); + + $user->syncRoles(Role::where('name', 'user')->first()->id); + + $this->guard()->login($user); + + if ($response = $this->registered($request, $user)) { + return $response; + } + + return $request->wantsJson() + ? response()->json(['message' => "User registered successfully!"], 201) + : redirect($this->redirectPath()); + } } diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php index d4cef3c..ae65d69 100644 --- a/resources/views/auth/login.blade.php +++ b/resources/views/auth/login.blade.php @@ -53,6 +53,8 @@ +

OR

+ Create an account diff --git a/resources/views/auth/register.blade.php b/resources/views/auth/register.blade.php index d236a48..5e83006 100644 --- a/resources/views/auth/register.blade.php +++ b/resources/views/auth/register.blade.php @@ -1,77 +1,139 @@ -@extends('layouts.app') +@extends('adminr.layouts.auth') @section('content') -
-
-
-
-
{{ __('Register') }}
+
+
+
+
+
+
+

Register

+

Create a new account

+
+ @csrf +
+
+ +
+
+ + + + + +
+ + @error('name') + + {{ $message }} + + @enderror +
+
+
+ +
+
+ + + + + +
+ + @error('username') + + {{ $message }} + + @enderror +
+
+
+ +
+
+ + + + + +
+ + @error('email') + + {{ $message }} + + @enderror +
+
+
+ +
+
+ + + + + +
+ + @error('phone') + + {{ $message }} + + @enderror +
+
+
+ +
+
+ + + + + +
+ + @error('password') + + {{ $message }} + + @enderror +
+
+
-
- - @csrf -
- +
+
+ +
+ +
+ +
+
-
- - - @error('name') - - {{ $message }} - - @enderror -
-
- -
- - -
- - - @error('email') - - {{ $message }} - - @enderror -
-
- -
- - -
- - - @error('password') - - {{ $message }} - - @enderror -
-
- -
- - -
- -
-
- -
-
- -
-
- -
-
-
-
-
+
+
+
+
@endsection