diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index 583ec3d..cded314 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -2,17 +2,35 @@ namespace App\Http\Controllers\Auth; +use App\Enums\UserMaritalStatus; use App\Http\Controllers\Controller; +use App\Http\Requests\Auth\RegisterPostRequest; +use App\Models\Province; +use App\Models\User; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Hash; class RegisterController extends Controller { public function index() { + $provinces = Province::all(); + $maritalStatuses = UserMaritalStatus::cases(); $withoutHeader = true; $withoutFooter = true; - return view('auth.register' , compact('withoutFooter' , 'withoutHeader')); + return view('auth.register' , compact('withoutFooter' , 'withoutHeader' , 'provinces' , 'maritalStatuses')); } + + public function post(RegisterPostRequest $request) + { + $input = $request->validated(); + $input['password'] = Hash::make($input['password']); + + $user = User::create($input); + Auth::login($user); + return redirect()->route('index'); + } } diff --git a/app/Http/Requests/Auth/RegisterPostRequest.php b/app/Http/Requests/Auth/RegisterPostRequest.php index fbd8b9b..e0697db 100644 --- a/app/Http/Requests/Auth/RegisterPostRequest.php +++ b/app/Http/Requests/Auth/RegisterPostRequest.php @@ -82,7 +82,20 @@ class RegisterPostRequest extends FormRequest 'persian_alpha' ], 'gender' => [ - 'required' + 'required', + 'int', + 'in:0,1,2' + ], + 'marital_status' => [ + 'required', + 'int', + 'in:0,1' + ], + 'user_province' => [ + 'nullable' + ], + 'user_city' => [ + 'nullable' ] ]; } diff --git a/app/Models/User.php b/app/Models/User.php index 51b450d..51f4b78 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -6,13 +6,15 @@ namespace App\Models; +use App\Enums\UserGender; +use App\Enums\UserMaritalStatus; use Carbon\Carbon; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; - +use Illuminate\Foundation\Auth\User as Authenticated; /** * Class User - * + * * @property int $id * @property string $first_name * @property string $last_name @@ -30,19 +32,19 @@ use Illuminate\Database\Eloquent\SoftDeletes; * @property Carbon $created_at * @property Carbon $updated_at * @property string|null $deleted_at - * + * * @property File $file * * @package App\Models */ -class User extends Model +class User extends Authenticated { use SoftDeletes; protected $table = 'users'; protected $casts = [ - 'gender' => 'bool', - 'marital_status' => 'int', + 'gender' => UserGender::class, + 'marital_status' => UserMaritalStatus::class, 'file_id' => 'int' ]; diff --git a/resources/views/auth/register.blade.php b/resources/views/auth/register.blade.php index e650ec5..7cdd09a 100644 --- a/resources/views/auth/register.blade.php +++ b/resources/views/auth/register.blade.php @@ -1,12 +1,13 @@ @extends('layouts.app') @section('content') +
@@ -61,8 +76,12 @@ class="form-control" placeholder="کد ملی" id="national_code" + value="{{old('national_code')}}" > + @error('national_code') + ({{ $message }}) + @enderror @@ -71,9 +90,12 @@
+ @error('gender') + ({{ $message }}) + @enderror
@@ -82,11 +104,14 @@
+ @error('marital_status') + ({{ $message }}) + @enderror
@@ -99,8 +124,13 @@ class="form-control" placeholder="نام و نام خانوادگی همسر" id="spouse_name" + value="{{old('spouse_name')}}" + > + @error('spouse_name') + ({{ $message }}) + @enderror @@ -113,7 +143,12 @@ class="form-control" placeholder="شماره موبایل" id="mobile" + value="{{old('mobile')}}" + > + @error('mobile') + ({{ $message }}) + @enderror @@ -126,7 +161,12 @@ class="form-control" placeholder="ایمیل خود را وارد کنید" id="email" + value="{{old('email')}}" + > + @error('email') + ({{ $message }}) + @enderror @@ -140,20 +180,29 @@ accept="image/*" id="image" > + @error('image') + ({{ $message }}) + @enderror
- +
+ @error('user_name') + ({{ $message }}) + @enderror
@@ -167,6 +216,9 @@ placeholder="رمز عبور را وارد کنید" id="password" > + @error('password') + ({{ $message }}) + @enderror @@ -189,12 +241,15 @@
+ @error('province') + ({{ $message }}) + @enderror
@@ -209,6 +264,9 @@ + @error('city') + ({{ $message }}) + @enderror @@ -246,7 +304,7 @@

از قبل حساب کاربری دارید؟ - + وارد شدن.

diff --git a/routes/auth.php b/routes/auth.php index abe7b86..0430f35 100644 --- a/routes/auth.php +++ b/routes/auth.php @@ -1,11 +1,21 @@ name('auth.')->middleware('guest')->group(function (){ - Route::get('login' , [LoginController::class , 'index'])->name('login'); - Route::get('register' , [RegisterController::class , 'index'])->name('register'); +Route::prefix('auth/')->name('auth.')->middleware('guest')->group(function () { + Route::prefix('login')->controller(LoginController::class)->name('login.')->group(function () { + Route::get('', 'index')->name('index'); + Route::post('', 'post')->name('post'); + + }); + Route::prefix('register')->controller(RegisterController::class)->name('register.')->group(function () { + Route::get('/', 'index')->name('index'); + Route::post('/', 'post')->name('post'); + }); + }); +Route::get('logout', [LogoutController::class, 'index'])->name('logout');