diff --git a/app/Http/Controllers/Account/EditProfileController.php b/app/Http/Controllers/Account/EditProfileController.php new file mode 100644 index 0000000..7cad266 --- /dev/null +++ b/app/Http/Controllers/Account/EditProfileController.php @@ -0,0 +1,40 @@ +user(); + $provinces = Province::with('cities')->get(); + return view('account.edit-profile' , compact('title','user', 'provinces')); + } + + public function update(EditProfileUpdateRequest $request) + { + $inputs = $request->only([ + 'first_name', + 'last_name', + 'email', + 'mobile', + 'city_id', + 'province_id' + ]); + + + Auth::user()->update($inputs); + + return redirect()->back(); + } + +} diff --git a/app/Http/Requests/EditProfileUpdateRequest.php b/app/Http/Requests/EditProfileUpdateRequest.php new file mode 100644 index 0000000..9180b7b --- /dev/null +++ b/app/Http/Requests/EditProfileUpdateRequest.php @@ -0,0 +1,60 @@ +|string> + */ + public function rules(): array + { + return [ + 'first_name' => [ + 'required', + 'min:2', + 'max:64', + 'persian_alpha' + ], + 'last_name' => [ + 'required', + 'min:3', + 'max:64', + 'persian_alpha' + ], + 'mobile' => [ + 'required', + 'string', + 'ir_mobile:zero' + ], + 'email' => [ + 'required', + 'email', + 'max:150', + 'unique:App\Models\User,email,' . auth()->id() + ], + 'province_id' => [ + 'nullable', + 'exists:provinces,id' + ], + 'city_id' => [ + 'nullable', + 'exists:cities,id' + ], + + ]; + } +} diff --git a/resources/views/account/edit-profile.blade.php b/resources/views/account/edit-profile.blade.php new file mode 100644 index 0000000..f4579a8 --- /dev/null +++ b/resources/views/account/edit-profile.blade.php @@ -0,0 +1,136 @@ +@extends('account.layouts.app') + +@section('account-content') +
+@endsection diff --git a/resources/views/account/layouts/sidebar.blade.php b/resources/views/account/layouts/sidebar.blade.php index c7ad780..b391cb2 100644 --- a/resources/views/account/layouts/sidebar.blade.php +++ b/resources/views/account/layouts/sidebar.blade.php @@ -26,7 +26,7 @@