user(); if ($user && $user->hasRole('pracownik')) { $myVehicles = $user->vehicles()->orderBy('brand')->orderBy('model')->get(); $myAdvances = $user->advances()->with('type')->orderByDesc('date')->orderByDesc('id')->get(); return view('dashboard', compact('myVehicles', 'myAdvances')); } $totalUsers = User::whereNull('deleted_at')->count(); $adminCount = Role::where('name', 'admin')->exists() ? User::role('admin')->whereNull('deleted_at')->count() : 0; $managerCount = Role::where('name', 'kierownik')->exists() ? User::role('kierownik')->whereNull('deleted_at')->count() : 0; $workerCount = Role::where('name', 'pracownik')->exists() ? User::role('pracownik')->whereNull('deleted_at')->count() : 0; $recentUsers = User::with('advances') ->whereNull('deleted_at') ->get() ->filter(fn (User $user) => (float) $user->advances->sum('amount') < 0) ->sortByDesc('created_at') ->take(5) ->values(); $lowestAdvanceBalances = User::with('advances') ->whereNull('deleted_at') ->get() ->filter(fn (User $user) => (float) $user->advances->sum('amount') < 0) ->sortBy(fn (User $user) => (float) $user->advances->sum('amount')) ->take(10) ->values(); $vehiclesDueSoon = Vehicle::with('user') ->where(function ($query) { $query->whereBetween('oc_expiry_date', [now()->startOfDay(), now()->addDays(14)->endOfDay()]) ->orWhereBetween('technical_inspection_date', [now()->startOfDay(), now()->addDays(14)->endOfDay()]); }) ->orderBy('oc_expiry_date') ->orderBy('technical_inspection_date') ->get(); return view('dashboard', compact( 'totalUsers', 'adminCount', 'managerCount', 'workerCount', 'recentUsers', 'lowestAdvanceBalances', 'vehiclesDueSoon' )); } }