2026-08-26 14:51:08 +02:00

73 lines
2.5 KiB
PHP

<?php
use App\Http\Controllers\ProfileController;
use App\Http\Controllers\UserController;
use Illuminate\Support\Facades\Route;
use App\Models\User;
Route::get('/', function () {
return view('welcome');
});
// Grupa tras chronionych autoryzacją
Route::middleware(['auth', 'verified'])->group(function () {
Route::get('/dashboard', function () {
return view('dashboard');
})->name('dashboard');
// Profil użytkownika
Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit');
Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update');
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)
Route::middleware(['can:users_access'])->group(function () {
Route::get('/users', [UserController::class, 'index'])->name('users.index');
Route::get('/users/create', [UserController::class, 'create'])->name('users.create');
Route::post('/users', [UserController::class, 'store'])->name('users.store');
Route::get('/users/{user}/edit', [UserController::class, 'edit'])->name('users.edit');
Route::put('/users/{user}', [UserController::class, 'update'])->name('users.update');
Route::delete('/users/{user}', [UserController::class, 'destroy'])->name('users.destroy');
});
// Moduł Raporty
Route::middleware(['can:raporty_access'])->group(function () {
Route::view('/raporty', 'raporty')->name('raporty');
});
// Moduł Flota
Route::middleware(['can:flota_access'])->group(function () {
Route::view('/flota', 'flota')->name('flota');
});
// Moduł Zaliczki
Route::middleware(['can:zaliczki_access'])->group(function () {
Route::view('/zaliczki', 'zaliczki')->name('zaliczki');
});
});
require __DIR__.'/auth.php';