89 lines
3.9 KiB
PHP
89 lines
3.9 KiB
PHP
<?php
|
|
use Illuminate\Support\Facades\Route;
|
|
use App\Http\Controllers\FingerDevicesControlller;
|
|
use App\Http\Controllers\DashboardController;
|
|
use App\Http\Controllers\EmployeeController;
|
|
use App\Http\Controllers\AttendanceController;
|
|
use App\Http\Controllers\LeaveController;
|
|
use App\Http\Controllers\ReportController;
|
|
use App\Http\Controllers\AnnouncementController;
|
|
use App\Http\Controllers\Api\AuthController;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use App\Http\Controllers\Admin\ProfileController;
|
|
|
|
|
|
// Web Routes
|
|
Route::get('/', function () {
|
|
return redirect()->route('login');
|
|
})->name('welcome');
|
|
|
|
Auth::routes(['register' => false]);
|
|
|
|
// Admin Web Routes
|
|
Route::group(['middleware' => ['auth:admin']], function () {
|
|
Route::get('/admin', [DashboardController::class, 'index'])->name('admin.dashboard');
|
|
|
|
// Profile Route
|
|
Route::get('/profile', [App\Http\Controllers\Admin\ProfileController::class, 'index'])->name('profile.view');
|
|
|
|
// Logout Route
|
|
Route::post('/admin/logout', [AuthController::class, 'logout'])->name('admin.logout');
|
|
|
|
// Data Karyawan
|
|
Route::resource('employees', '\App\Http\Controllers\EmployeeController');
|
|
|
|
// Monitoring Presensi
|
|
Route::get('/attendance', [AttendanceController::class, 'index'])->name('admin.attendance');
|
|
|
|
// Pengajuan Izin
|
|
Route::get('/leave', [LeaveController::class, 'index'])->name('admin.leave');
|
|
Route::get('/leave/{id}/details', [LeaveController::class, 'getDetails'])->name('leave.details');
|
|
Route::post('/leave/{id}/update-status', [LeaveController::class, 'updateStatus'])->name('leave.updateStatus');
|
|
|
|
// Rekap Data
|
|
Route::get('/check', [ReportController::class, 'index'])->name('admin.reports');
|
|
Route::get('/sheet-report', [ReportController::class, 'sheetReport'])->name('sheet-report');
|
|
Route::post('/check-store', [ReportController::class, 'checkStore'])->name('check_store');
|
|
Route::post('/sheet-report/generate', [ReportController::class, 'generatePDF'])->name('admin.reports.generate');
|
|
|
|
// Announcement Routes
|
|
Route::get('/announcements', [AnnouncementController::class, 'announcement'])->name('announcements.announcement');
|
|
Route::get('/announcements/create', [AnnouncementController::class, 'create'])->name('announcements.create');
|
|
Route::post('/announcements', [AnnouncementController::class, 'store'])->name('announcements.store');
|
|
Route::get('/announcements/{announcement}/edit', [AnnouncementController::class, 'edit'])->name('announcements.edit');
|
|
Route::put('/announcements/{announcement}', [AnnouncementController::class, 'update'])->name('announcements.update');
|
|
Route::delete('/announcements/{announcement}', [AnnouncementController::class, 'destroy'])->name('announcements.destroy');
|
|
|
|
Route::delete('/attendance/{id}', [AttendanceController::class, 'destroy'])->name('attendance.destroy');
|
|
});
|
|
|
|
Route::get('attended/{user_id}', [AttendanceController::class, 'attended'])->name('attended');
|
|
Route::get('attended-before/{user_id}', [AttendanceController::class, 'attendedBefore'])->name('attendedBefore');
|
|
|
|
|
|
// Route::get('/attendance/assign', function () {
|
|
// return view('attendance_leave_login');
|
|
// })->name('attendance.login');
|
|
|
|
// Route::post('/attendance/assign', '\App\Http\Controllers\AttendanceController@assign')->name('attendance.assign');
|
|
|
|
|
|
// Route::get('/leave/assign', function () {
|
|
// return view('attendance_leave_login');
|
|
// })->name('leave.login');
|
|
|
|
// Route::post('/leave/assign', '\App\Http\Controllers\LeaveController@assign')->name('leave.assign');
|
|
|
|
|
|
// Route::get('{any}', 'App\http\controllers\VeltrixController@index');
|
|
|
|
// Route untuk mendapatkan CSRF token mentah
|
|
Route::get('/get-csrf-token', function () {
|
|
return response()->json([
|
|
'token' => csrf_token()
|
|
]);
|
|
});
|
|
|
|
Route::get('/reports/data', [ReportController::class, 'getData'])->name('admin.reports.data');
|
|
Route::get('/reports/summary', [ReportController::class, 'getSummary'])->name('admin.reports.summary');
|