43 lines
1.7 KiB
PHP
43 lines
1.7 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\Admin\DepartmentController;
|
|
use App\Http\Controllers\Admin\EmployeeController;
|
|
use App\Http\Controllers\Admin\AttendanceController;
|
|
use App\Http\Controllers\Admin\PayrollController;
|
|
use App\Http\Controllers\Admin\PositionController;
|
|
use App\Http\Controllers\Admin\UserController;
|
|
use App\Http\Controllers\DashboardController;
|
|
use Inertia\Inertia;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
// Redirect root ke halaman login
|
|
Route::get('/', function () {
|
|
return redirect('/login');
|
|
})->name('home');
|
|
|
|
Route::get('dashboard', [DashboardController::class, 'index'])
|
|
->middleware(['auth', 'verified'])
|
|
->name('dashboard');
|
|
|
|
// ADMIN
|
|
Route::middleware(['auth', 'verified', 'role:admin'])->prefix('admin')->name('admin.')->group(function () {
|
|
Route::resource('departments', DepartmentController::class);
|
|
Route::resource('positions', PositionController::class);
|
|
Route::resource('employees', EmployeeController::class);
|
|
Route::resource('attendance', AttendanceController::class)->only(['index', 'create', 'store']);
|
|
Route::resource('payrolls', PayrollController::class)->only(['index', 'create', 'store', 'show']);
|
|
|
|
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::patch('users/{user}', [UserController::class, 'update'])->name('users.update');
|
|
});
|
|
|
|
// KELOMPOK KARYAWAN
|
|
Route::middleware(['auth', 'verified', 'role:employee'])->group(function () {
|
|
Route::get('/employee/index', function () {
|
|
return Inertia::render('employee/index');
|
|
})->name('employee.index');
|
|
});
|
|
|
|
require __DIR__.'/settings.php'; |