diff --git a/app/Http/Controllers/AdminAuthController.php b/app/Http/Controllers/AdminAuthController.php index 0dfdcc7..99a2a2b 100644 --- a/app/Http/Controllers/AdminAuthController.php +++ b/app/Http/Controllers/AdminAuthController.php @@ -8,35 +8,31 @@ use Illuminate\Support\Facades\Hash; class AdminAuthController extends Controller { - /** - * Admin Login View එක පෙන්වීම - */ + public function showLoginForm() { return view('adminlogin'); } - /** - * Admin Login Process එක සිදු කිරීම - */ + public function login(Request $request) { - // 1. Validation සිදු කිරීම + // 1. set Validation $request->validate([ 'username' => 'required', 'password' => 'required', ]); - // 2. Database එකෙන් Admin පරීක්ෂා කිරීම + $admin = DB::table('adminlogins')->where('username', $request->username)->first(); - // 3. Password එක හරියටම ගැලපේ නම් + if ($admin && Hash::check($request->password, $admin->password)) { - // Session Fixation ආරක්ෂාව සඳහා Session ID එක Regenerate කිරීම + $request->session()->regenerate(); - // Session එකට Admin Data තැන්පත් කිරීම + session([ 'admin_id' => $admin->id, 'admin_username' => $admin->username @@ -49,24 +45,22 @@ class AdminAuthController extends Controller ]); } - // 4. Username හෝ Password වැරදි නම් + return response()->json([ 'success' => false, 'message' => 'Wrong Username or Password!' ], 401); } - /** - * Admin Logout Process එක සිදු කිරීම - */ + public function logout(Request $request) { - // 1. Session එකෙන් Data ඉවත් කර Session එක Invalidate කිරීම + $request->session()->forget(['admin_id', 'admin_username']); $request->session()->invalidate(); $request->session()->regenerateToken(); - // 2. Request එක AJAX / JSON නම් JSON Response එකක් යැවීම + if ($request->ajax() || $request->wantsJson()) { return response()->json([ 'success' => true, @@ -74,7 +68,8 @@ class AdminAuthController extends Controller ]); } - // 3. Normal Form Submit එකක් නම් Redirect කිරීම + return redirect()->route('admin.login')->with('success', 'Logged out successfully!'); } + } \ No newline at end of file diff --git a/app/Http/Controllers/AdminTimetableController.php b/app/Http/Controllers/AdminTimetableController.php index 5ef62a5..67c1834 100644 --- a/app/Http/Controllers/AdminTimetableController.php +++ b/app/Http/Controllers/AdminTimetableController.php @@ -14,10 +14,10 @@ class AdminTimetableController extends Controller return redirect()->route('admin.login')->with('error', 'Please login first.'); } - // DB එකේ තියෙන ඔක්කොම Timetable entries ගන්නවා + $allTimetables = Timetable::all(); - // Time Slot එකයි Day එකයි අනුව Grid Map කරගන්නවා + $grid = []; foreach ($allTimetables as $item) { $grid[$item->time_slot][$item->day] = $item; @@ -25,7 +25,7 @@ class AdminTimetableController extends Controller $days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']; - // Image එකේ තියෙන Exact Time Slots + $timeSlots = [ '08:30 - 10:30', '10:45 - 12:30', @@ -39,9 +39,7 @@ class AdminTimetableController extends Controller return view('admin.admintimetable', compact('allTimetables', 'days', 'timeSlots', 'grid', 'todaySchedule', 'today')); } - - // Save or Update Entry - // Save or Update Entry + public function store(Request $request) { $request->validate([ @@ -51,7 +49,7 @@ class AdminTimetableController extends Controller 'type' => 'required|string', ]); - // student_log_id පේළිය ඉවත් කර ඇත + Timetable::updateOrCreate( [ 'day' => $request->day, @@ -65,7 +63,6 @@ class AdminTimetableController extends Controller return redirect()->back()->with('success', 'Timetable saved successfully!'); } - // Delete Single Slot public function destroy($id) diff --git a/app/Http/Controllers/TimetableController.php b/app/Http/Controllers/TimetableController.php index 2c51498..f6244cc 100644 --- a/app/Http/Controllers/TimetableController.php +++ b/app/Http/Controllers/TimetableController.php @@ -16,7 +16,7 @@ class TimetableController extends Controller return redirect('/signin')->with('error', 'Please login first!'); } - // DB එකේ නැති student_log_id සහ sort_order query එකෙන් ඉවත් කර ඇත + $rawTimetables = Timetable::all(); $schedule = []; @@ -29,7 +29,7 @@ class TimetableController extends Controller $schedule[$item->time_slot][$item->day] = $item; } - // Today's Schedule (දැනට ඇති columns වලින් පමණක් Filter කර ඇත) + $todayName = Carbon::now()->format('l'); $todaySchedule = Timetable::where('day', $todayName) ->where('type', '!=', 'Break') diff --git a/app/Http/Controllers/adminmycoursesController.php b/app/Http/Controllers/adminmycoursesController.php index 54bde8b..9541867 100644 --- a/app/Http/Controllers/adminmycoursesController.php +++ b/app/Http/Controllers/adminmycoursesController.php @@ -8,7 +8,7 @@ use Illuminate\Support\Facades\Storage; class adminmycoursesController extends Controller { - // 1. Courses ලැයිස්තුව පෙන්වීම (Read) + public function index() { if (!session()->has('admin_id')) { @@ -19,7 +19,7 @@ class adminmycoursesController extends Controller return view('admin.adminmycourses', compact('courses')); } - // 2. අලුත් Course එකක් එකතු කිරීම (Create) + public function store(Request $request) { $request->validate([ @@ -58,7 +58,7 @@ class adminmycoursesController extends Controller return redirect()->back()->with('success', 'Course added successfully!'); } - // 3. Course එක Update කිරීම (Update) + public function update(Request $request, $id) { $request->validate([ @@ -101,24 +101,23 @@ class adminmycoursesController extends Controller return redirect()->back()->with('success', 'Course updated successfully!'); } - // 4. Course එක Delete කිරීම (Delete) - // Course එක Delete කිරීම (Delete) -public function destroy($id) -{ - $course = DB::table('courses')->where('id', $id)->first(); + + public function destroy($id) + { + $course = DB::table('courses')->where('id', $id)->first(); - if ($course) { - // Image එක Storage එකෙන් Delete කිරීම - if ($course->image && Storage::disk('public')->exists($course->image)) { - Storage::disk('public')->delete($course->image); + if ($course) { + + if ($course->image && Storage::disk('public')->exists($course->image)) { + Storage::disk('public')->delete($course->image); + } + + + DB::table('courses')->where('id', $id)->delete(); + + return redirect()->back()->with('success', 'Course deleted successfully!'); } - // Database record එක Delete කිරීම - DB::table('courses')->where('id', $id)->delete(); - - return redirect()->back()->with('success', 'Course deleted successfully!'); + return redirect()->back()->with('error', 'Course not found!'); } - - return redirect()->back()->with('error', 'Course not found!'); -} } \ No newline at end of file diff --git a/app/Http/Controllers/applyController.php b/app/Http/Controllers/applyController.php index b5f1886..bd02d80 100644 --- a/app/Http/Controllers/applyController.php +++ b/app/Http/Controllers/applyController.php @@ -10,12 +10,12 @@ class ApplyController extends Controller { public function index() { - return view('apply'); // Tawa name ekak nam view name eka wenas karanna + return view('apply'); } public function store(Request $request) { - // 1. Data Validation Rules + $validatedData = $request->validate([ 'first_name' => 'required|string|max:255', 'last_name' => 'required|string|max:255', @@ -41,7 +41,7 @@ class ApplyController extends Controller 'emergency_contact_relationship' => 'required|string|max:255', ]); - // 2. Multi File Upload Process + $certificatePaths = []; if ($request->hasFile('certificates')) { foreach ($request->file('certificates') as $file) { @@ -50,10 +50,10 @@ class ApplyController extends Controller } } - // 3. Current Logged-in User ID එක set කිරීම & Data Save කිරීම + $application = new Application($validatedData); - $application->user_id = Auth::id(); // Log unukena ge ID eka attach wei - $application->certificates = $certificatePaths; // Paths array eka save wei + $application->user_id = Auth::id(); + $application->certificates = $certificatePaths; $application->save(); return redirect()->back()->with('success', 'Your application has been submitted successfully!'); diff --git a/resources/views/admin/admintimetable.blade.php b/resources/views/admin/admintimetable.blade.php index 81aa53c..db11154 100644 --- a/resources/views/admin/admintimetable.blade.php +++ b/resources/views/admin/admintimetable.blade.php @@ -237,7 +237,7 @@ - +