177 lines
9.8 KiB
PHP
177 lines
9.8 KiB
PHP
<?php
|
|
|
|
use Illuminate\Support\Facades\Route;
|
|
use App\Http\Controllers\AuthController;
|
|
use App\Http\Controllers\StudentPortalController;
|
|
use App\Http\Controllers\ContactMsgController;
|
|
use App\Http\Controllers\FeedbackController;
|
|
use App\Http\Controllers\studentportalnavController;
|
|
use App\Http\Controllers\Auth\ForgotPasswordController;
|
|
use App\Http\Controllers\coursesController;
|
|
use App\Http\Controllers\ApplyController;
|
|
use App\Http\Controllers\ResultsController;
|
|
use App\Http\Controllers\TimetableController;
|
|
use App\Http\Controllers\CoureseAssignController;
|
|
use App\Http\Controllers\AdminAuthController;
|
|
use App\Http\Controllers\adminmycoursesController;
|
|
use App\Http\Controllers\AdminResultsController;
|
|
use App\Http\Controllers\AdminProfileController;
|
|
use App\Http\Controllers\AdminTimetableController;
|
|
use App\Http\Controllers\AdminDashboardController;
|
|
use App\Http\Controllers\welcomeController;
|
|
use App\Http\Controllers\DocumentDownloadController;
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Public Routes & General Pages
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
|
|
Route::get('/', [welcomeController::class, 'index'])->name('welcome');
|
|
Route::get('/courses', [coursesController::class, 'index'])->name('courses.index');
|
|
Route::view('/students', 'students')->name('students');
|
|
Route::view('/abouts', 'abouts')->name('abouts');
|
|
Route::view('/contact', 'contacts')->name('contact');
|
|
|
|
Route::view('/signin', 'signin')->name('signin');
|
|
Route::get('/login', function () {
|
|
return redirect()->route('signin')->with('error', 'Please sign in to your account to continue!');
|
|
})->name('login');
|
|
Route::view('/signup', 'signup')->name('signup');
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| System Auth & Contact Routes (POST)
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
Route::post('/signuppage', [AuthController::class, 'register']);
|
|
Route::post('/signin', [AuthController::class, 'login']);
|
|
Route::post('/custom-logout', [AuthController::class, 'logout']);
|
|
Route::post('/contact-submit', [ContactMsgController::class, 'store'])->name('contact.store');
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Password Reset Routes
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
Route::middleware('guest')->group(function () {
|
|
Route::get('/password/reset', [ForgotPasswordController::class, 'index'])->name('password.request');
|
|
Route::post('/resetEmail', [ForgotPasswordController::class, 'resetEmail'])->name('password.email');
|
|
Route::post('/verify-otp', [ForgotPasswordController::class, 'verifyOtpEmail'])->name('password.verify.otp');
|
|
Route::post('/update-password', [ForgotPasswordController::class, 'updatePassword'])->name('password.update');
|
|
});
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Regular Auth Protected Routes
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
Route::middleware(['auth'])->group(function () {
|
|
Route::get('/apply', [ApplyController::class, 'index'])->name('apply.index');
|
|
Route::post('/apply', [ApplyController::class, 'store'])->name('apply.store');
|
|
Route::put('/profile/update', [AuthController::class, 'update'])->name('profile.update');
|
|
Route::get('/profile', [AuthController::class, 'profilview'])->name('profile.view');
|
|
});
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| STUDENT PORTAL ROUTES
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
Route::post('/student-login', [StudentPortalController::class, 'studentlogin'])->name('student.login.submit');
|
|
Route::post('/studentlogout', [StudentPortalController::class, 'studentlogout'])->name('student.logout');
|
|
|
|
Route::middleware(['web'])->group(function () {
|
|
Route::get('/student-portal', [StudentPortalController::class, 'index'])->name('student.portal');
|
|
|
|
Route::get('/StudentProfile', [StudentPortalController::class, 'showProfile'])->name('StudentProfile');
|
|
Route::post('/StudentProfile/update', [StudentPortalController::class, 'updateProfile'])->name('student.profile.update');
|
|
Route::get('/results', [ResultsController::class, 'index'])->name('results');
|
|
|
|
Route::get('/Dashboard', function () {
|
|
if (!session()->has('student_id') && !session()->has('student_log_id')) {
|
|
return redirect('/signin')->with('error', 'Please login first!');
|
|
}
|
|
return view('StudentPortal');
|
|
})->name('Dashboard');
|
|
|
|
Route::get('/timetable', [TimetableController::class, 'index'])->name('timetable');
|
|
|
|
Route::get('/Assignments', function () {
|
|
if (!session()->has('student_id') && !session()->has('student_log_id')) {
|
|
return redirect('/signin')->with('error', 'Please login first!');
|
|
}
|
|
return view('Assignments');
|
|
})->name('Assignments');
|
|
|
|
Route::get('/Studentguidelines', function () {
|
|
if (!session()->has('student_id') && !session()->has('student_log_id')) {
|
|
return redirect('/signin')->with('error', 'Please login first!');
|
|
}
|
|
return view('Studentguidelines');
|
|
})->name('Studentguidelines');
|
|
|
|
Route::get('/Feedback&Complain', [FeedbackController::class, 'index'])->name('feedback.index');
|
|
Route::post('/Feedback&Complain/store', [FeedbackController::class, 'store'])->name('feedback.store');
|
|
|
|
Route::get('/mycourse', [CoureseAssignController::class, 'showMyCourse'])->name('mycourse');
|
|
Route::get('/module/{id}', [CoureseAssignController::class, 'showModule'])->name('module.show');
|
|
|
|
/* Document Downloads */
|
|
Route::get('/student/download/calendar', [DocumentDownloadController::class, 'downloadAcademicCalendar'])->name('student.download.calendar');
|
|
Route::get('/student/download/handbook', [DocumentDownloadController::class, 'downloadStudentHandbook'])->name('student.download.handbook');
|
|
Route::get('/student/download/exam-code', [DocumentDownloadController::class, 'downloadExamCode'])->name('student.download.examcode');
|
|
Route::get('/student/download/helpdesk', [DocumentDownloadController::class, 'downloadHelpdeskGuide'])->name('student.download.helpdesk');
|
|
});
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| ADMIN PORTAL ROUTES
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
|
|
Route::get('/admin/login', [AdminAuthController::class, 'showLoginForm'])->name('admin.login');
|
|
Route::post('/admin/login', [AdminAuthController::class, 'login']);
|
|
Route::post('/admin/logout', [AdminAuthController::class, 'logout'])->name('admin.logout');
|
|
|
|
Route::middleware(['web'])->prefix('admin')->group(function () {
|
|
|
|
// Admin Dashboard & Notifications Routes
|
|
Route::get('/dashboard', [AdminDashboardController::class, 'index'])->name('admin.dashboard');
|
|
Route::post('/notifications', [AdminDashboardController::class, 'store'])->name('admin.notifications.store');
|
|
Route::put('/notifications/{id}', [AdminDashboardController::class, 'update'])->name('admin.notifications.update');
|
|
Route::delete('/notifications/{id}', [AdminDashboardController::class, 'destroy'])->name('admin.notifications.destroy');
|
|
Route::post('/notifications/read/{id}', [AdminDashboardController::class, 'markAsRead'])->name('admin.notifications.read');
|
|
|
|
// Admin Users Management
|
|
Route::delete('/users/{id}', [AdminDashboardController::class, 'destroyUser'])->name('admin.users.destroy');
|
|
|
|
// Student Portal Log Management (Main User Table එකට හානියක් නොවී Portal Log එක පමණක් පාලනය කිරීමට)
|
|
Route::post('/portal-logs', [AdminDashboardController::class, 'storePortalLog'])->name('admin.portallogs.store');
|
|
Route::post('/portal-logs/send/{userId}', [AdminDashboardController::class, 'sendToPortalLog'])->name('admin.portallogs.send');
|
|
Route::put('/portal-logs/{userId}/pin', [AdminDashboardController::class, 'updatePin'])->name('admin.portallogs.update');
|
|
Route::delete('/portal-logs/{id}', [AdminDashboardController::class, 'destroyPortalLog'])->name('admin.portallogs.destroy');
|
|
|
|
// Admin Courses
|
|
Route::get('/adminmycourses', [adminmycoursesController::class, 'index'])->name('admin.mycourses');
|
|
Route::post('/adminmycourses/store', [adminmycoursesController::class, 'store'])->name('admin.courses.store');
|
|
Route::post('/adminmycourses/update/{id}', [adminmycoursesController::class, 'update'])->name('admin.courses.update');
|
|
Route::delete('/courses/{id}', [adminmycoursesController::class, 'destroy'])->name('admin.courses.delete');
|
|
|
|
// Admin Timetable Routes
|
|
Route::get('/timetable', [AdminTimetableController::class, 'index'])->name('admin.timetable');
|
|
Route::post('/timetable/store', [AdminTimetableController::class, 'store'])->name('admin.timetable.store');
|
|
Route::put('/timetable/update/{id}', [AdminTimetableController::class, 'update'])->name('admin.timetable.update');
|
|
Route::delete('/timetable/delete/{id}', [AdminTimetableController::class, 'destroy'])->name('admin.timetable.delete');
|
|
|
|
// Admin Results
|
|
Route::get('/results', [AdminResultsController::class, 'index'])->name('admin.results');
|
|
Route::post('/results/store', [AdminResultsController::class, 'store'])->name('admin.results.store');
|
|
Route::put('/results/update/{id}', [AdminResultsController::class, 'update'])->name('admin.results.update');
|
|
Route::delete('/results/delete/{id}', [AdminResultsController::class, 'destroy'])->name('admin.results.delete');
|
|
|
|
// Admin Profile
|
|
Route::get('/profile', [AdminProfileController::class, 'index'])->name('admin.profile');
|
|
Route::put('/profile/update', [AdminProfileController::class, 'update'])->name('admin.profile.update');
|
|
Route::put('/profile/password', [AdminProfileController::class, 'updatePassword'])->name('admin.profile.password');
|
|
}); |