diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index 7f0438d..78b41ed 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -26,9 +26,9 @@ class RegisterController extends Controller { $inputs = $request->validated(); - if ($request->hasFile('image')) { + if ($request->hasFile('profile_image')) { - $image = $request->file('image'); + $image = $request->file('profile_image'); $imageName = time() . '.' . $image->getClientOriginalExtension(); @@ -37,7 +37,7 @@ class RegisterController extends Controller $imageName ); - $inputs['image'] = $imageName; + $inputs['profile_image'] = $imageName; } diff --git a/app/Http/Controllers/FavoriteController.php b/app/Http/Controllers/FavoriteController.php index 926f388..77802fd 100644 --- a/app/Http/Controllers/FavoriteController.php +++ b/app/Http/Controllers/FavoriteController.php @@ -7,4 +7,16 @@ use Illuminate\Http\Request; class FavoriteController extends Controller { // + public function create() + { + + } + public function store() + { + + } + public function destroy() + { + + } } diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php index a5f1ac8..d448428 100644 --- a/app/Http/Controllers/ProfileController.php +++ b/app/Http/Controllers/ProfileController.php @@ -3,19 +3,54 @@ namespace App\Http\Controllers; use App\Http\Requests\ProfileUpdateRequest; +use App\Models\User; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Hash; class ProfileController extends Controller { public function edite() { + $withoutHero=true; $user=Auth::User(); - return view('users.profile.edit',compact('user')); + return view('users.profile.edit',compact('user','withoutHero')); } public function update(ProfileUpdateRequest $request) { + $user=$request->user(); + $inputs=$request->validated(); - } + if (!empty($inputs['new_password'])){ + $user->password=Hash::make($inputs['new_password']); + } + + unset( + $inputs['current_password'], + $inputs['new_password'], + $inputs['new_password_confirmation'], + + ); + + if ($request->hasFile('profile_image')) { + + $image = $request->file('profile_image'); + + $imageName = time() . '.' . $image->getClientOriginalExtension(); + + $image->move( + public_path('uploads/users'), + $imageName + ); + + $inputs['profile_image'] = $imageName; + } + $user->update($inputs); + + return back()->with([ + 'success','اطلاعات کاربر با موفقیت ویرایش شد.' + ]); + + } } diff --git a/app/Http/Requests/ProfileUpdateRequest.php b/app/Http/Requests/ProfileUpdateRequest.php index 49d52b1..9fffb51 100644 --- a/app/Http/Requests/ProfileUpdateRequest.php +++ b/app/Http/Requests/ProfileUpdateRequest.php @@ -4,6 +4,7 @@ namespace App\Http\Requests; use Illuminate\Contracts\Validation\ValidationRule; use Illuminate\Foundation\Http\FormRequest; +use Illuminate\Validation\Rule; class ProfileUpdateRequest extends FormRequest { @@ -12,7 +13,7 @@ class ProfileUpdateRequest extends FormRequest */ public function authorize(): bool { - return false; + return true; } /** @@ -22,7 +23,110 @@ class ProfileUpdateRequest extends FormRequest */ public function rules(): array { + $user = auth()->user(); + return [ - ]; - } + 'first_name' => [ + 'required', + 'persian_alpha', + 'string', + 'max:255' + ], + + 'last_name' => [ + 'required', + 'persian_alpha', + 'string', + 'max:255' + ], + + 'national_code' => [ + 'required', + 'ir_national_id', + Rule::unique('users', 'national_code') + ->ignore($user->id), + ], + + 'gender' => [ + 'required', + 'in:0,1' + ], + + 'marital_status' => [ + 'required', + 'in:0,1,2' + ], + + 'spouse_name' => [ + 'nullable', + 'string', + 'persian_alpha', + 'max:255', + 'required_if:marital_status,1', + ], + + 'mobile' => [ + 'required', + 'ir_mobile', + Rule::unique('users','mobile') + ->ignore($user->id) + ], + + 'email' => [ + 'required', + 'email', + Rule::unique('users','email') + ->ignore($user->id) + ], + + 'username' => [ + 'required', + 'string', + 'regex:/^[A-Za-z0-9]+$/', + Rule::unique('users','username')->ignore($user->id) + ], + 'profile_image' => [ + 'nullable', + 'image', + 'mimes:jpg,jpeg,png,webp', + 'max:800', + ], + + 'province_id' => [ + 'nullable', + 'exists:provinces,id', + ], + + 'city_id' => [ + 'nullable', + Rule::exists('cities', 'id') + ->where(fn ($query) => $query->where('province_id', $this->province_id)), + ], + + + 'password' => [ + 'required', + 'confirmed', + 'min:8' + ], + 'current_password' => [ + 'required_with:new_password', + 'current_password:web', + ], + + 'new_password' => [ + 'nullable', + 'string', + 'min:8', + 'confirmed', + ], + + 'new_password_confirmation' => [ + 'nullable', + 'string', + ], + + ]; + + } } diff --git a/app/Http/Requests/RegisterPostRequest.php b/app/Http/Requests/RegisterPostRequest.php index 40d16a3..28dae7f 100644 --- a/app/Http/Requests/RegisterPostRequest.php +++ b/app/Http/Requests/RegisterPostRequest.php @@ -41,7 +41,7 @@ class RegisterPostRequest extends FormRequest 'national_code' => [ 'required', 'unique:users,national_code', -// 'ir_national_id' + 'ir_national_id' ], 'gender' => [ @@ -75,7 +75,7 @@ class RegisterPostRequest extends FormRequest 'unique:users,username', 'regex:/^[A-Za-z0-9]+$/', ], - 'image' => [ + 'profile_image' => [ 'nullable', 'image', 'mimes:jpg,jpeg,png,webp', diff --git a/resources/views/auth/register.blade.php b/resources/views/auth/register.blade.php index a054957..fdfdad4 100644 --- a/resources/views/auth/register.blade.php +++ b/resources/views/auth/register.blade.php @@ -346,7 +346,7 @@
- @error('image') + @error('profile_image') {{ $message }} diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index f296d82..5b220ed 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -3,7 +3,7 @@ - قالب رزرواسیون + airline_agency @@ -15,9 +15,9 @@ @includeUnless(isset($withoutHeader),'layouts.header') -@includeUnless(isset($withoutHeader),'layouts.hero') +@includeUnless(isset($withoutHero),'layouts.hero') @yield('content') -@includeUnless(isset($withoutHeader),'layouts.footer') +@includeUnless(isset($withoutFooter),'layouts.footer') diff --git a/resources/views/layouts/header.blade.php b/resources/views/layouts/header.blade.php index 699c099..585d65a 100644 --- a/resources/views/layouts/header.blade.php +++ b/resources/views/layouts/header.blade.php @@ -1049,15 +1049,10 @@