From 737e8a6b5cc21c04157090711ca04bbc16f918cc Mon Sep 17 00:00:00 2001 From: Admin Date: Thu, 20 Aug 2026 17:00:47 -0700 Subject: [PATCH] fix : update user profile edit in user side --- .../Controllers/Account/ProfileController.php | 58 ++++++++++++++++++- .../Controllers/Admin/DashboardController.php | 2 + .../views/account/layouts/sidebar.blade.php | 45 +++++++++++++- resources/views/components/flight.blade.php | 22 +++++++ .../views/show-layouts/sidebar.blade.php | 2 +- routes/web.php | 2 + 6 files changed, 128 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/Account/ProfileController.php b/app/Http/Controllers/Account/ProfileController.php index 3adfe7b..fe51605 100644 --- a/app/Http/Controllers/Account/ProfileController.php +++ b/app/Http/Controllers/Account/ProfileController.php @@ -3,14 +3,70 @@ namespace App\Http\Controllers\Account; use App\Http\Controllers\Controller; +use App\Models\File; +use Illuminate\Http\Request; +use function Symfony\Component\String\s; class ProfileController extends Controller { - // public function index() { $user = auth()->user(); return view('account.profile', compact('user')); } + + public function updateImage(Request $request) + { + $request->validate([ + 'image' => [ + 'required', + 'image', + 'mimes:jpg,jpeg,png,webp', + 'max:2048', + ], + ]); + + $user = auth()->user(); + + if ($request->hasFile('image')) { + + $image = $request->file('image'); + + $extension = $image->extension(); + + $imageName = $user->id . '_' . rand(11111, 99999) . '_' . time() . '.' . $extension; + + $path = $image->storeAs('user_profile', $imageName, 'public' + ); + + if ($user->file) { + + $user->file->update([ + 'name' => $imageName, + 'original_name' => $image->getClientOriginalName(), + 'path' => $path, + 'extension' => $extension, + 'size' => $image->getSize(), + ]); + + } else { + + $file = File::create([ + 'name' => $imageName, + 'original_name' => $image->getClientOriginalName(), + 'path' => $path, + 'extension' => $extension, + 'size' => $image->getSize(), + ]); + + $user->update([ + 'file_id' => $file->id, + ]); + } + } + + return back()->with('success', 'عکس پروفایل با موفقیت تغییر کرد.'); + } + } diff --git a/app/Http/Controllers/Admin/DashboardController.php b/app/Http/Controllers/Admin/DashboardController.php index b981c14..caed6ec 100644 --- a/app/Http/Controllers/Admin/DashboardController.php +++ b/app/Http/Controllers/Admin/DashboardController.php @@ -33,4 +33,6 @@ class DashboardController extends Controller return view('admin.dashboard', compact('flightsCount', 'usersCount', 'bookingsCount', 'indexPageCont' , 'visits')); } + + } diff --git a/resources/views/account/layouts/sidebar.blade.php b/resources/views/account/layouts/sidebar.blade.php index bef44a3..a4afb60 100644 --- a/resources/views/account/layouts/sidebar.blade.php +++ b/resources/views/account/layouts/sidebar.blade.php @@ -7,7 +7,24 @@ @endif - +
+ @csrf + + +
+

{{ getUserFullName() }}

@@ -21,3 +38,29 @@
  • خروج
  • + + diff --git a/resources/views/components/flight.blade.php b/resources/views/components/flight.blade.php index 46adfef..6588860 100644 --- a/resources/views/components/flight.blade.php +++ b/resources/views/components/flight.blade.php @@ -107,6 +107,28 @@ +

    + + + @switch($flight->flight_type) + + @case(0) + رفت + @break + + @case(1) + برگشت + @break + + @case(2) + رفت و برگشت + @break + + @default + - + @endswitch +

    +

    {{ $flight->departure_time->toJalali()->format('Y/m/d H:i') }} diff --git a/resources/views/show-layouts/sidebar.blade.php b/resources/views/show-layouts/sidebar.blade.php index fe7d682..00c0194 100644 --- a/resources/views/show-layouts/sidebar.blade.php +++ b/resources/views/show-layouts/sidebar.blade.php @@ -38,7 +38,7 @@ diff --git a/routes/web.php b/routes/web.php index 28f8ccd..eeb5d68 100644 --- a/routes/web.php +++ b/routes/web.php @@ -35,6 +35,8 @@ Route::prefix('account')->name('account.')->middleware('auth')->group(function ( Route::get('profile', [ProfileController::class, 'index'])->name('profile'); + Route::post('profile/image', [ProfileController::class, 'updateImage']) ->name('profile.image.update'); + Route::prefix('edit-profile')->name('edit-profile.')->controller(EditProfileController::class)->group(function () { Route::get('/', 'index')->name('index');