Pniesienie logiku z rotingu do controlera

This commit is contained in:
Tomasz Boruc 2026-08-27 23:26:04 +02:00
parent de53067d89
commit a680be3fd3
2 changed files with 33 additions and 25 deletions

View File

@ -0,0 +1,29 @@
<?php
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\View\View;
class DashboardController extends Controller
{
/**
* Display the dashboard with summary statistics.
*/
public function index(): View
{
$totalUsers = User::count();
$adminCount = User::role('admin')->count();
$managerCount = User::role('kierownik')->count();
$workerCount = User::role('pracownik')->count();
$recentUsers = User::latest()->take(5)->get();
return view('dashboard', compact(
'totalUsers',
'adminCount',
'managerCount',
'workerCount',
'recentUsers'
));
}
}

View File

@ -1,9 +1,9 @@
<?php <?php
use App\Http\Controllers\DashboardController;
use App\Http\Controllers\ProfileController; use App\Http\Controllers\ProfileController;
use App\Http\Controllers\UserController; use App\Http\Controllers\UserController;
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
use App\Models\User;
Route::get('/', function () { Route::get('/', function () {
return view('welcome'); return view('welcome');
@ -12,9 +12,9 @@ Route::get('/', function () {
// Grupa tras chronionych autoryzacją // Grupa tras chronionych autoryzacją
Route::middleware(['auth', 'verified'])->group(function () { Route::middleware(['auth', 'verified'])->group(function () {
Route::get('/dashboard', function () { Route::get('/dashboard', [DashboardController::class, 'index'])
return view('dashboard'); ->middleware(['auth', 'verified'])
})->name('dashboard'); ->name('dashboard');
// Profil użytkownika // Profil użytkownika
Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit'); Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit');
@ -22,27 +22,6 @@ Route::middleware(['auth', 'verified'])->group(function () {
Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy'); Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');
Route::get('/dashboard', function () {
$totalUsers = User::count();
// Jeśli używasz Spatie Roles/Permissions:
$adminCount = User::role('admin')->count();
$managerCount = User::role('kierownik')->count();
$workerCount = User::role('pracownik')->count();
// Pobranie 5 ostatnio dodanych użytkowników:
$recentUsers = User::latest()->take(5)->get();
return view('dashboard', compact(
'totalUsers',
'adminCount',
'managerCount',
'workerCount',
'recentUsers'
));
})->middleware(['auth', 'verified'])->name('dashboard');
// Zarządzanie użytkownikami (tylko dla posiadaczy uprawnienia users_access) // Zarządzanie użytkownikami (tylko dla posiadaczy uprawnienia users_access)
Route::middleware(['can:users_access'])->group(function () { Route::middleware(['can:users_access'])->group(function () {
Route::get('/users', [UserController::class, 'index'])->name('users.index'); Route::get('/users', [UserController::class, 'index'])->name('users.index');