diff --git a/app/Http/Controllers/Account/EditProfileController.php b/app/Http/Controllers/Account/EditProfileController.php new file mode 100644 index 0000000..a72fcb4 --- /dev/null +++ b/app/Http/Controllers/Account/EditProfileController.php @@ -0,0 +1,41 @@ +only([ + 'first_name', + 'last_name', + 'mobile', + 'email', + 'province_id', + 'city_id' + ]); + + if ($request->filled('password')){ + $inputs['password'] = Hash::make($request->input('password')); + } + + Auth::user()->update($inputs); + + return redirect()->back()->withErrors([ + 'success'=> 'پروفایل با موفقیت آپدیت شد' + ]); + } +} diff --git a/app/Http/Controllers/Account/ProfileController.php b/app/Http/Controllers/Account/ProfileController.php new file mode 100644 index 0000000..3adfe7b --- /dev/null +++ b/app/Http/Controllers/Account/ProfileController.php @@ -0,0 +1,16 @@ +user(); + + return view('account.profile', compact('user')); + } +} diff --git a/app/Http/Requests/EditProfilePostRequest.php b/app/Http/Requests/EditProfilePostRequest.php new file mode 100644 index 0000000..591b237 --- /dev/null +++ b/app/Http/Requests/EditProfilePostRequest.php @@ -0,0 +1,72 @@ +|string> + */ + public function rules(): array + { + return [ + 'first_name' => [ + 'required', + 'min:2', + 'max:100', + 'persian_alpha', + ], + + 'last_name' => [ + 'required', + 'min:3', + 'max:100', + 'persian_alpha', + ], + + 'email' => [ + 'required', + 'max:150', + 'email', + Rule::unique('users', 'email')->ignore(auth()->id()), + ], + + 'mobile' => [ + 'required', + 'ir_mobile:zero', + Rule::unique('users', 'mobile')->ignore(auth()->id()), + ], + + 'province_id' => [ + 'nullable', + 'exists:provinces,id', + ], + + 'city_id' => [ + 'nullable', + 'exists:cities,id', + ], + + 'image' => [ + 'nullable', + 'image', + 'mimes:jpg,png,webp', + 'max:800', + ], + ]; + } +} diff --git a/resources/views/account/profile.blade.php b/resources/views/account/profile.blade.php new file mode 100644 index 0000000..504aac3 --- /dev/null +++ b/resources/views/account/profile.blade.php @@ -0,0 +1,20 @@ +@extends('account.layouts.app') +@section('title' , 'پروفایل') + +@section('account-content') +
+@endsection