diff --git a/app/Enums/UserStatus.php b/app/Enums/UserStatus.php new file mode 100644 index 0000000..f55c164 --- /dev/null +++ b/app/Enums/UserStatus.php @@ -0,0 +1,13 @@ +validated(); + + if ($request->hasFile('image')) { + + $image = $request->file('image'); + + $imageName = time() . '.' . $image->getClientOriginalExtension(); + + $image->move( + public_path('uploads/users'), + $imageName + ); + + $inputs['image'] = $imageName; + } + + + + $inputs['password']=Hash::make($inputs['password']); + $inputs['status']=UserStatus::Draft; + + $user= User::create($inputs); + + Auth::login($user); + + return redirect()->route('index'); + } } diff --git a/app/Http/Controllers/IndexController.php b/app/Http/Controllers/IndexController.php new file mode 100644 index 0000000..ec950ad --- /dev/null +++ b/app/Http/Controllers/IndexController.php @@ -0,0 +1,14 @@ + [ + 'required', + 'persian_alpha', + 'string', + 'max:255' + ], + + 'last_name' => [ + 'required', + 'persian_alpha', + 'string', + 'max:255' + ], + + 'national_code' => [ + 'required', + 'unique:users,national_code' + ], + + 'gender' => [ + 'required', + 'in:0,1' + ], + + 'marital_status' => [ + 'required', + 'in:0,1,2' + ], + + 'spouse_name' => [ + 'nullable' + ], + + 'mobile' => [ + 'required', + 'unique:users,mobile', + 'ir_mobile:zero_code' + ], + + 'email' => [ + 'required', + 'email', + 'unique:users,email', + 'ir_national_id' + ], + + 'username' => [ + 'required', + 'unique:users,username' + ], + 'image' => [ + 'nullable', + 'image', + 'mimes:jpg,jpeg,png,webp', + 'max:800', + ], + + 'province_id' => [ + 'required', + 'exists:provinces,id', + ], + + 'city_id' => [ + 'required', + 'exists:cities,id', + ], + + + 'password' => [ + 'required', + 'confirmed', + 'min:8' + ], + ]; } } diff --git a/app/Models/User.php b/app/Models/User.php index 918b357..9464f5a 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -12,7 +12,7 @@ use Illuminate\Database\Eloquent\Model; /** * Class User - * + * * @property int $id * @property string $Firstname * @property string $Lastname @@ -30,7 +30,7 @@ use Illuminate\Database\Eloquent\Model; * @property int $status * @property Carbon $created_at * @property Carbon $updated_at - * + * * @property Collection|Comment[] $comments * @property Collection|Favorite[] $favorites * @@ -51,8 +51,8 @@ class User extends Model ]; protected $fillable = [ - 'Firstname', - 'Lastname', + 'first_name', + 'last_name', 'national_code', 'gender', 'marital_status', diff --git a/resources/views/auth/register.blade.php b/resources/views/auth/register.blade.php index 34cb946..561ad23 100644 --- a/resources/views/auth/register.blade.php +++ b/resources/views/auth/register.blade.php @@ -1,74 +1,336 @@ @extends('layouts.app') @section('content') -
حساب Bookify جدید ایجاد کنید
-از قبل حساب کاربری دارید؟ - ورود. -
-با ثبت نام، شرایط استفاده
-
و
- سیاست حفظ حریم خصوصی ما را می پذیرید
- .
-
حساب Bookify جدید ایجاد کنید
+ حساب کاربری دارید ؟ + ورود +
+ +