From 79c8b71843891ae2bc78a62e2cf4460f1c4561c1 Mon Sep 17 00:00:00 2001 From: Bahar Date: Sat, 22 Aug 2026 15:15:01 +0330 Subject: [PATCH] feat:add final changes --- .../Controllers/Admin/AdminController.php | 8 ++--- .../Controllers/Admin/FlightController.php | 31 ++++++------------- app/Http/Controllers/Admin/TourController.php | 24 -------------- resources/views/admin/admins/create.blade.php | 4 +-- .../views/admin/layouts/sidebar.blade.php | 13 ++++++++ 5 files changed, 27 insertions(+), 53 deletions(-) diff --git a/app/Http/Controllers/Admin/AdminController.php b/app/Http/Controllers/Admin/AdminController.php index 84911b2..311ef8b 100644 --- a/app/Http/Controllers/Admin/AdminController.php +++ b/app/Http/Controllers/Admin/AdminController.php @@ -151,24 +151,24 @@ class AdminController extends Controller 'admin_id' => $admin->id, ], [ - // مدیران + 'admin_view' => $request->boolean('admin_view'), 'admin_create' => $request->boolean('admin_create'), 'admin_edit' => $request->boolean('admin_edit'), 'admin_delete' => $request->boolean('admin_delete'), - // کاربران + 'user_view' => $request->boolean('user_view'), 'user_edit' => $request->boolean('user_edit'), 'user_delete' => $request->boolean('user_delete'), - // تورها + 'tour_view' => $request->boolean('tour_view'), 'tour_create' => $request->boolean('tour_create'), 'tour_edit' => $request->boolean('tour_edit'), 'tour_delete' => $request->boolean('tour_delete'), - // پروازها + 'flight_view' => $request->boolean('flight_view'), 'flight_create' => $request->boolean('flight_create'), 'flight_edit' => $request->boolean('flight_edit'), diff --git a/app/Http/Controllers/Admin/FlightController.php b/app/Http/Controllers/Admin/FlightController.php index db68006..53c9f64 100644 --- a/app/Http/Controllers/Admin/FlightController.php +++ b/app/Http/Controllers/Admin/FlightController.php @@ -119,7 +119,7 @@ class FlightController extends Controller 'airports' )); } - + public function edit(Flight $flight) { @@ -164,7 +164,6 @@ class FlightController extends Controller try { - // 1. ذخیره عکس $image = $request->file('image'); $imageName = time() @@ -179,7 +178,6 @@ class FlightController extends Controller 'public' ); - // 2. ایجاد رکورد فایل $file = File::create([ 'name' => $imageName, 'size' => $image->getSize(), @@ -188,7 +186,6 @@ class FlightController extends Controller 'extension' => $image->extension(), ]); - // 3. ایجاد پرواز با file_id $flight = Flight::create([ 'file_id' => $file->id, 'arrival_aiport_id' => $request->arrival_aiport_id, @@ -204,6 +201,9 @@ class FlightController extends Controller 'status' => $request->status, ]); + // ثبت لاگ ایجاد پرواز + logActivity($flight, 'created'); + DB::commit(); } catch (Exception $exception) { @@ -232,7 +232,6 @@ class FlightController extends Controller $oldFile = $flight->file; - // اطلاعات پرواز $flight->update([ 'arrival_aiport_id' => $request->arrival_aiport_id, 'departure_airport_id' => $request->departure_airport_id, @@ -246,16 +245,16 @@ class FlightController extends Controller 'status' => $request->status, ]); + // ثبت لاگ ویرایش پرواز (باید بلافاصله بعد از update صدا زده شود) + logActivity($flight, 'updated'); + - // اگر عکس جدید انتخاب شده if ($request->hasFile('image')) { $image = $request->file('image'); - // ذخیره عکس جدید $path = $image->store('flights', 'public'); - // ایجاد رکورد فایل جدید $newFile = File::create([ 'name' => pathinfo( $image->hashName(), @@ -267,15 +266,13 @@ class FlightController extends Controller 'path' => $path, ]); - // اتصال پرواز به فایل جدید $flight->update([ 'file_id' => $newFile->id, ]); + // ثبت لاگ تغییر عکس (به‌صورت جدا، چون update دومیه) + logActivity($flight, 'updated'); - // حذف فقط فایل فیزیکی قبلی - // رکورد files قبلی را حذف نمی‌کنیم - // چون FK روی flights.file_id وجود دارد. if ($oldFile) { if (Storage::disk('public')->exists($oldFile->path)) { @@ -324,15 +321,5 @@ class FlightController extends Controller ->with('success', 'پرواز با موفقیت حذف شد.'); } - public function logs(Flight $flight) - { - $logs = ActivityLog::query() - ->where('model_type', Flight::class) - ->where('model_id', $flight->id) - ->with('admin') - ->orderByDesc('created_at') - ->paginate(20); - return view('admin.flights.logs', compact('flight', 'logs')); - } } diff --git a/app/Http/Controllers/Admin/TourController.php b/app/Http/Controllers/Admin/TourController.php index 93c0b27..a3ec4ee 100644 --- a/app/Http/Controllers/Admin/TourController.php +++ b/app/Http/Controllers/Admin/TourController.php @@ -40,7 +40,6 @@ class TourController extends Controller }) - // فیلتر وضعیت ->when($request->filled('status'), function (Builder $query) use ($request) { $query->where( @@ -69,7 +68,6 @@ class TourController extends Controller try { - // ذخیره تصویر $image = $request->file('image'); $path = $image->store('tours', 'public'); @@ -85,8 +83,6 @@ class TourController extends Controller 'path' => $path, ]); - - // ایجاد تور $tour = Tour::create([ 'title' => $request->title, 'summary' => $request->input('summary') ?? '', @@ -102,8 +98,6 @@ class TourController extends Controller 'updated_at' => now(), ]); - - // ایجاد تاریخ تور TourDate::create([ 'tour_id' => $tour->id, 'start_date' => $request->start_date, @@ -170,11 +164,9 @@ class TourController extends Controller try { - // فایل قبلی $fileId = $tour->file_id; - // اگر عکس جدید انتخاب شده باشد if ($request->hasFile('image')) { $image = $request->file('image'); @@ -195,8 +187,6 @@ class TourController extends Controller $fileId = $file->id; } - - // ویرایش اطلاعات تور $tour->update([ 'title' => $request->title, 'summary' => $request->input('summary') ?? '', @@ -209,11 +199,8 @@ class TourController extends Controller 'status' => $request->status, ]); - - // تاریخ تور $tourDate = $tour->tourDates()->first(); - if ($tourDate) { $tourDate->update([ @@ -226,7 +213,6 @@ class TourController extends Controller } else { - // اگر تور تاریخ نداشت، یک تاریخ جدید ایجاد شود $tour->tourDates()->create([ 'start_date' => $request->start_date, 'end_date' => $request->end_date, @@ -277,15 +263,5 @@ class TourController extends Controller ->with('success', 'تور با موفقیت حذف شد.'); } - public function logs(Tour $tour) - { - $logs = ActivityLog::query() - ->where('model_type', Tour::class) - ->where('model_id', $tour->id) - ->with('admin') - ->orderByDesc('created_at') - ->paginate(20); - return view('admin.tours.logs', compact('tour', 'logs')); - } } diff --git a/resources/views/admin/admins/create.blade.php b/resources/views/admin/admins/create.blade.php index 7019605..bd70db1 100644 --- a/resources/views/admin/admins/create.blade.php +++ b/resources/views/admin/admins/create.blade.php @@ -33,7 +33,6 @@ @csrf - {{-- اطلاعات مدیر --}}
@@ -46,7 +45,6 @@
- {{-- نام --}}
@@ -66,7 +64,7 @@
- {{-- نام خانوادگی --}} +
diff --git a/resources/views/admin/layouts/sidebar.blade.php b/resources/views/admin/layouts/sidebar.blade.php index f0481cd..6886879 100644 --- a/resources/views/admin/layouts/sidebar.blade.php +++ b/resources/views/admin/layouts/sidebar.blade.php @@ -115,6 +115,19 @@ +
  • + + + + + ثبت تغییرات + +