diff --git a/app/Http/Controllers/RegisteredUserController.php b/app/Http/Controllers/RegisteredUserController.php new file mode 100644 index 0000000..94b6cd7 --- /dev/null +++ b/app/Http/Controllers/RegisteredUserController.php @@ -0,0 +1,30 @@ +validated(); + $status = UserStatus::Active->value; + if ($request->role === UserTypes::Broker){ + $status = UserStatus::Pending->value; + } + $data['status'] = $status; + + User::create($data); + + return to_route('login')->with('success', 'User registered successfully.'); + } +} diff --git a/app/Http/Requests/StoreRegisterdUser.php b/app/Http/Requests/StoreRegisterdUser.php new file mode 100644 index 0000000..f7bfccb --- /dev/null +++ b/app/Http/Requests/StoreRegisterdUser.php @@ -0,0 +1,35 @@ +|string> + */ + public function rules(): array + { + return [ + 'name' => 'required|string|max:255', + 'password' => ['required', 'confirmed', Password::min(8)->letters()->mixedCase()->numbers()->symbols()], + 'email' => 'required|string|email|max:255|unique:users', + 'role' => ['required', Rule::in(UserTypes::values()), Rule::notIn(UserTypes::Admin->value)], + ]; + } +} diff --git a/app/Models/User.php b/app/Models/User.php index 749c7b7..29980cb 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -21,6 +21,8 @@ class User extends Authenticatable 'name', 'email', 'password', + 'status', + 'role', ]; /** diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php index 966aff0..a6f21eb 100644 --- a/resources/views/auth/login.blade.php +++ b/resources/views/auth/login.blade.php @@ -26,7 +26,7 @@
Don't have an account? - Sign Up + Sign Up
diff --git a/resources/views/auth/register.blade.php b/resources/views/auth/register.blade.php index 99014dd..85bc739 100644 --- a/resources/views/auth/register.blade.php +++ b/resources/views/auth/register.blade.php @@ -19,10 +19,11 @@ class="bg-linear-135 flex-1 overflow-y-scroll wrapper py-12 from-[#EFF6FF] to-[#Join {{config('app.name')}} and start discovering great deals
-