From 1403bcfe1ab543a10617b637b3f0d437c80082d4 Mon Sep 17 00:00:00 2001 From: Bahar Date: Sat, 22 Aug 2026 11:11:24 +0330 Subject: [PATCH] feat:change flight managing for admin side --- app/Http/Controllers/FlightController.php | 11 ++++++++++- app/Http/Controllers/IndexController.php | 18 +++++++++++++++++- app/Models/Flight.php | 2 ++ 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/FlightController.php b/app/Http/Controllers/FlightController.php index 86dafcf..d7f2ab6 100644 --- a/app/Http/Controllers/FlightController.php +++ b/app/Http/Controllers/FlightController.php @@ -55,7 +55,16 @@ class FlightController extends Controller 404 ); - $flight->increment('views'); + $viewedFlights = session()->get('viewed_flights', []); + + if (!in_array($flight->id, $viewedFlights)) { + + $flight->increment('views'); + + $viewedFlights[] = $flight->id; + + session()->put('viewed_flights', $viewedFlights); + } $flight->load([ 'departureAirport.city', diff --git a/app/Http/Controllers/IndexController.php b/app/Http/Controllers/IndexController.php index 6a39ccd..cd764fe 100644 --- a/app/Http/Controllers/IndexController.php +++ b/app/Http/Controllers/IndexController.php @@ -3,16 +3,32 @@ namespace App\Http\Controllers; use App\Models\Flight; +use App\Models\SiteVisit; use App\Models\Tour; use Illuminate\Http\Request; class IndexController extends Controller { - public function index() + public function index(Request $request) { $title = 'صفحه اصلی'; + $visitedKey = 'visited_' . now()->toDateString(); + + if (! $request->session()->has($visitedKey)) { + + SiteVisit::create([ + 'ip_address' => $request->ip(), + 'url' => $request->fullUrl(), + 'user_agent' => $request->userAgent(), + ]); + + $request->session()->put($visitedKey, true); + + } + + $flights = Flight::query() ->with([ 'departureAirport.city', diff --git a/app/Models/Flight.php b/app/Models/Flight.php index b3b905b..2cc38a5 100644 --- a/app/Models/Flight.php +++ b/app/Models/Flight.php @@ -8,6 +8,7 @@ namespace App\Models; use App\Enums\FlightStatus; use App\Enums\FlightType; +use App\Traits\LogsActivity; use Carbon\Carbon; use Illuminate\Contracts\Database\Query\Builder; use Illuminate\Database\Eloquent\Attributes\Scope; @@ -43,6 +44,7 @@ use Illuminate\Database\Eloquent\Model; */ class Flight extends Model { + use LogsActivity; protected $table = 'flights'; public static $snakeAttributes = false;