131 lines
5.6 KiB
PHP
131 lines
5.6 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;
|
|
|
|
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Public Routes & General Pages
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
|
|
// Home Page
|
|
Route::get('/', function () {
|
|
return view('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');
|
|
|
|
// Guest Authentication View Routes
|
|
Route::view('/signin', 'signin')->name('signin');
|
|
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 (For Guest Users)
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
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 (Laravel Default Auth)
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
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 (Session-Based Auth)
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
|
|
// Student Login & Logout Action Routes
|
|
Route::post('/student-login', [StudentPortalController::class, 'studentlogin'])->name('student.login.submit');
|
|
Route::post('/studentlogout', [StudentPortalController::class, 'studentlogout'])->name('student.logout');
|
|
|
|
// Student Portal Section (Protected by Student Session Check)
|
|
Route::middleware(['web'])->group(function () {
|
|
|
|
|
|
Route::get('/student-portal', function () {
|
|
if (!session()->has('student_id') && !session()->has('student_log_id')) {
|
|
return redirect('/signin')->with('error', 'Please login first!');
|
|
}
|
|
return view('StudentPortal');
|
|
})->name('student.portal');
|
|
|
|
|
|
Route::get('/StudentProfile', [StudentPortalController::class, 'showProfile'])->name('StudentProfile');
|
|
|
|
|
|
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('/mycourse', function () {
|
|
if (!session()->has('student_id') && !session()->has('student_log_id')) { return redirect('/signin')->with('error', 'Please login first!'); }
|
|
return view('mycourse');
|
|
})->name('mycourse');
|
|
|
|
// 2. Dynamic Timetable Controller Route එක මෙතැනට යෙදුවා
|
|
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');
|
|
}); |