113 lines
7.8 KiB
PHP
113 lines
7.8 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\ActivitiesAttendedController;
|
|
use App\Http\Controllers\ActivitiesOrganisedController;
|
|
use App\Http\Controllers\ProfileController;
|
|
use Illuminate\Support\Facades\Route;
|
|
use App\Http\Controllers\RoleController;
|
|
use App\Http\Controllers\DepartmentController;
|
|
use App\Http\Controllers\UserController;
|
|
use App\Http\Controllers\AdminController;
|
|
use App\Http\Controllers\CoordinatorController;
|
|
use App\Http\Controllers\FacultyController;
|
|
use App\Http\Middleware\CheckRole;
|
|
|
|
Route::get('/', function () {
|
|
return view('welcome');
|
|
});
|
|
|
|
Route::get('/dashboard', function () {
|
|
// Redirect users to different pages based on their role
|
|
$user = auth()->user();
|
|
|
|
if ($user->role->name === 'Admin') {
|
|
return redirect()->route('admin.dashboard');
|
|
} elseif ($user->role->name === 'Coordinator') {
|
|
return redirect()->route('coordinator.dashboard');
|
|
} elseif ($user->role->name === 'Faculty') {
|
|
return redirect()->route('faculty.dashboard');
|
|
} else {
|
|
return abort(403, 'Unauthorized');
|
|
}
|
|
})->middleware(['auth', 'verified'])->name('dashboard');
|
|
|
|
|
|
Route::middleware('auth')->group(function () {
|
|
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');
|
|
});
|
|
|
|
// Activities Attended common routes
|
|
Route::delete('/activities-attended/{id}', [ActivitiesAttendedController::class, 'destroy'])->name('activitiesAttended.destroy');
|
|
|
|
// Activities Organised common routes
|
|
Route::delete('/activities-organised/{id}', [ActivitiesOrganisedController::class, 'destroy'])->name('activitiesOrganised.destroy');
|
|
|
|
// Admin routes
|
|
Route::middleware(['auth', CheckRole::class . ':Admin'])->group(function () {
|
|
Route::get('/admin', [AdminController::class, 'index'])->name('admin.dashboard');
|
|
|
|
// Activities Attended Routes
|
|
Route::get('/admin/ActivitiesAttendedResponses', [AdminController::class, 'viewActivitiesAttendedResponses'])->name('admin.ActivitiesAttendedResponses');
|
|
Route::get('/admin/ActivitiesAttendedResponses/data', [ActivitiesAttendedController::class, 'getActivitiesAttendedResponses'])->name('admin.ActivitiesAttendedResponses.data');
|
|
Route::get('/admin/activities-attended/{id}/edit', [ActivitiesAttendedController::class, 'edit'])->name('admin.ActivitiesAttended.edit');
|
|
Route::put('/admin/activities-attended/{id}', [ActivitiesAttendedController::class, 'update'])->name('admin.ActivitiesAttended.update');
|
|
Route::delete('/admin/activities-attended/{id}', [ActivitiesAttendedController::class, 'destroy'])->name('admin.ActivitiesAttended.destroy');
|
|
|
|
// Activities Organised Routes
|
|
Route::get('/admin/ActivitiesOrganisedResponses', [AdminController::class, 'viewActivitiesOrganisedResponses'])->name('admin.ActivitiesOrganisedResponses');
|
|
Route::get('/admin/ActivitiesOrganisedResponses/data', [ActivitiesOrganisedController::class, 'getActivitiesOrganisedResponses'])->name('admin.ActivitiesOrganisedResponses.data');
|
|
Route::get('/admin/activities-organised/{id}/edit', [ActivitiesOrganisedController::class, 'edit'])->name('admin.ActivitiesOrganised.edit');
|
|
Route::put('/admin/activities-organised/{id}', [ActivitiesOrganisedController::class, 'update'])->name('admin.ActivitiesOrganised.update');
|
|
Route::delete('/admin/activities-organised/{id}', [ActivitiesOrganisedController::class, 'destroy'])->name('admin.ActivitiesOrganised.destroy');
|
|
});
|
|
|
|
// Coordinator routes
|
|
Route::middleware(['auth', CheckRole::class . ':Coordinator'])->group(function () {
|
|
Route::get('/coordinator', [CoordinatorController::class, 'index'])->name('coordinator.dashboard');
|
|
|
|
// Activities Attended Routes
|
|
Route::get('/coordinator/ActivitiesAttendedResponses', [CoordinatorController::class, 'viewActivitiesAttendedResponses'])->name('coordinator.ActivitiesAttendedResponses');
|
|
Route::get('/coordinator/ActivitiesAttendedResponses/data', [ActivitiesAttendedController::class, 'getActivitiesAttendedResponses'])->name('coordinator.ActivitiesAttendedResponses.data');
|
|
Route::get('/coordinator/activities-attended/{id}/edit', [ActivitiesAttendedController::class, 'edit'])->name('coordinator.ActivitiesAttended.edit');
|
|
Route::put('/coordinator/activities-attended/{id}', [ActivitiesAttendedController::class, 'update'])->name('coordinator.ActivitiesAttended.update');
|
|
Route::delete('/coordinator/activities-attended/{id}', [ActivitiesAttendedController::class, 'destroy'])->name('coordinator.ActivitiesAttended.destroy');
|
|
|
|
// Activities Organised Routes
|
|
Route::get('/coordinator/ActivitiesOrganisedResponses', [CoordinatorController::class, 'viewActivitiesOrganisedResponses'])->name('coordinator.ActivitiesOrganisedResponses');
|
|
Route::get('/coordinator/ActivitiesOrganisedResponses/data', [ActivitiesOrganisedController::class, 'getActivitiesOrganisedResponses'])->name('coordinator.ActivitiesOrganisedResponses.data');
|
|
Route::get('/coordinator/activities-organised/{id}/edit', [ActivitiesOrganisedController::class, 'edit'])->name('coordinator.ActivitiesOrganised.edit');
|
|
Route::put('/coordinator/activities-organised/{id}', [ActivitiesOrganisedController::class, 'update'])->name('coordinator.ActivitiesOrganised.update');
|
|
Route::delete('/coordinator/activities-organised/{id}', [ActivitiesOrganisedController::class, 'destroy'])->name('coordinator.ActivitiesOrganised.destroy');
|
|
});
|
|
|
|
// Faculty routes
|
|
Route::middleware(['auth', CheckRole::class . ':Faculty'])->group(function () {
|
|
Route::get('/faculty', [FacultyController::class, 'index'])->name('faculty.dashboard');
|
|
|
|
// Activities Attended Routes
|
|
Route::get('/faculty/ActivitiesAttendedForm', [FacultyController::class, 'ActivitiesAttendedForm'])->name('faculty.ActivitiesAttendedForm');
|
|
Route::post('/faculty/ActivitiesAttendedFormResponse', [FacultyController::class, 'ActivitiesAttendedFormResponse'])->name('faculty.ActivitiesAttendedFormResponse');
|
|
Route::get('/faculty/ActivitiesAttendedResponses', [FacultyController::class, 'viewActivitiesAttendedResponses'])->name('faculty.ActivitiesAttendedResponses');
|
|
Route::get('/faculty/ActivitiesAttendedResponses/data', [ActivitiesAttendedController::class, 'getActivitiesAttendedResponses'])->name('faculty.ActivitiesAttendedResponses.data');
|
|
Route::get('/faculty/activities-attended/{id}/edit', [ActivitiesAttendedController::class, 'edit'])->name('faculty.ActivitiesAttended.edit');
|
|
Route::put('/faculty/activities-attended/{id}', [ActivitiesAttendedController::class, 'update'])->name('faculty.ActivitiesAttended.update');
|
|
|
|
// Activities Organised Routes
|
|
Route::get('/faculty/ActivitiesOrganisedForm', [FacultyController::class, 'ActivitiesOrganisedForm'])->name('faculty.ActivitiesOrganisedForm');
|
|
Route::post('/faculty/ActivitiesOrganisedFormResponse', [FacultyController::class, 'ActivitiesOrganisedFormResponse'])->name('faculty.ActivitiesOrganisedFormResponse');
|
|
Route::get('/faculty/ActivitiesOrganisedResponses', [FacultyController::class, 'viewActivitiesOrganisedResponses'])->name('faculty.ActivitiesOrganisedResponses');
|
|
Route::get('/faculty/ActivitiesOrganisedResponses/data', [ActivitiesOrganisedController::class, 'getActivitiesOrganisedResponses'])->name('faculty.ActivitiesOrganisedResponses.data');
|
|
Route::get('/faculty/activities-organised/{id}/edit', [ActivitiesOrganisedController::class, 'edit'])->name('faculty.ActivitiesOrganised.edit');
|
|
Route::put('/faculty/activities-organised/{id}', [ActivitiesOrganisedController::class, 'update'])->name('faculty.ActivitiesOrganised.update');
|
|
});
|
|
|
|
// API Resources
|
|
Route::apiResources([
|
|
'roles' => RoleController::class,
|
|
'departments' => DepartmentController::class,
|
|
'users' => UserController::class,
|
|
]);
|
|
|
|
require __DIR__ . '/auth.php'; |