set code structures
This commit is contained in:
parent
db3373002d
commit
e6b5166782
|
|
@ -8,35 +8,31 @@ use Illuminate\Support\Facades\Hash;
|
||||||
|
|
||||||
class AdminAuthController extends Controller
|
class AdminAuthController extends Controller
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* Admin Login View එක පෙන්වීම
|
|
||||||
*/
|
|
||||||
public function showLoginForm()
|
public function showLoginForm()
|
||||||
{
|
{
|
||||||
return view('adminlogin');
|
return view('adminlogin');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Admin Login Process එක සිදු කිරීම
|
|
||||||
*/
|
|
||||||
public function login(Request $request)
|
public function login(Request $request)
|
||||||
{
|
{
|
||||||
// 1. Validation සිදු කිරීම
|
// 1. set Validation
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'username' => 'required',
|
'username' => 'required',
|
||||||
'password' => 'required',
|
'password' => 'required',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// 2. Database එකෙන් Admin පරීක්ෂා කිරීම
|
|
||||||
$admin = DB::table('adminlogins')->where('username', $request->username)->first();
|
$admin = DB::table('adminlogins')->where('username', $request->username)->first();
|
||||||
|
|
||||||
// 3. Password එක හරියටම ගැලපේ නම්
|
|
||||||
if ($admin && Hash::check($request->password, $admin->password)) {
|
if ($admin && Hash::check($request->password, $admin->password)) {
|
||||||
|
|
||||||
// Session Fixation ආරක්ෂාව සඳහා Session ID එක Regenerate කිරීම
|
|
||||||
$request->session()->regenerate();
|
$request->session()->regenerate();
|
||||||
|
|
||||||
// Session එකට Admin Data තැන්පත් කිරීම
|
|
||||||
session([
|
session([
|
||||||
'admin_id' => $admin->id,
|
'admin_id' => $admin->id,
|
||||||
'admin_username' => $admin->username
|
'admin_username' => $admin->username
|
||||||
|
|
@ -49,24 +45,22 @@ class AdminAuthController extends Controller
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4. Username හෝ Password වැරදි නම්
|
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'success' => false,
|
'success' => false,
|
||||||
'message' => 'Wrong Username or Password!'
|
'message' => 'Wrong Username or Password!'
|
||||||
], 401);
|
], 401);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Admin Logout Process එක සිදු කිරීම
|
|
||||||
*/
|
|
||||||
public function logout(Request $request)
|
public function logout(Request $request)
|
||||||
{
|
{
|
||||||
// 1. Session එකෙන් Data ඉවත් කර Session එක Invalidate කිරීම
|
|
||||||
$request->session()->forget(['admin_id', 'admin_username']);
|
$request->session()->forget(['admin_id', 'admin_username']);
|
||||||
$request->session()->invalidate();
|
$request->session()->invalidate();
|
||||||
$request->session()->regenerateToken();
|
$request->session()->regenerateToken();
|
||||||
|
|
||||||
// 2. Request එක AJAX / JSON නම් JSON Response එකක් යැවීම
|
|
||||||
if ($request->ajax() || $request->wantsJson()) {
|
if ($request->ajax() || $request->wantsJson()) {
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'success' => true,
|
'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!');
|
return redirect()->route('admin.login')->with('success', 'Logged out successfully!');
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -14,10 +14,10 @@ class AdminTimetableController extends Controller
|
||||||
return redirect()->route('admin.login')->with('error', 'Please login first.');
|
return redirect()->route('admin.login')->with('error', 'Please login first.');
|
||||||
}
|
}
|
||||||
|
|
||||||
// DB එකේ තියෙන ඔක්කොම Timetable entries ගන්නවා
|
|
||||||
$allTimetables = Timetable::all();
|
$allTimetables = Timetable::all();
|
||||||
|
|
||||||
// Time Slot එකයි Day එකයි අනුව Grid Map කරගන්නවා
|
|
||||||
$grid = [];
|
$grid = [];
|
||||||
foreach ($allTimetables as $item) {
|
foreach ($allTimetables as $item) {
|
||||||
$grid[$item->time_slot][$item->day] = $item;
|
$grid[$item->time_slot][$item->day] = $item;
|
||||||
|
|
@ -25,7 +25,7 @@ class AdminTimetableController extends Controller
|
||||||
|
|
||||||
$days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'];
|
$days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'];
|
||||||
|
|
||||||
// Image එකේ තියෙන Exact Time Slots
|
|
||||||
$timeSlots = [
|
$timeSlots = [
|
||||||
'08:30 - 10:30',
|
'08:30 - 10:30',
|
||||||
'10:45 - 12:30',
|
'10:45 - 12:30',
|
||||||
|
|
@ -39,9 +39,7 @@ class AdminTimetableController extends Controller
|
||||||
|
|
||||||
return view('admin.admintimetable', compact('allTimetables', 'days', 'timeSlots', 'grid', 'todaySchedule', 'today'));
|
return view('admin.admintimetable', compact('allTimetables', 'days', 'timeSlots', 'grid', 'todaySchedule', 'today'));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Save or Update Entry
|
|
||||||
// Save or Update Entry
|
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
$request->validate([
|
$request->validate([
|
||||||
|
|
@ -51,7 +49,7 @@ class AdminTimetableController extends Controller
|
||||||
'type' => 'required|string',
|
'type' => 'required|string',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// student_log_id පේළිය ඉවත් කර ඇත
|
|
||||||
Timetable::updateOrCreate(
|
Timetable::updateOrCreate(
|
||||||
[
|
[
|
||||||
'day' => $request->day,
|
'day' => $request->day,
|
||||||
|
|
@ -65,7 +63,6 @@ class AdminTimetableController extends Controller
|
||||||
|
|
||||||
return redirect()->back()->with('success', 'Timetable saved successfully!');
|
return redirect()->back()->with('success', 'Timetable saved successfully!');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Delete Single Slot
|
// Delete Single Slot
|
||||||
public function destroy($id)
|
public function destroy($id)
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ class TimetableController extends Controller
|
||||||
return redirect('/signin')->with('error', 'Please login first!');
|
return redirect('/signin')->with('error', 'Please login first!');
|
||||||
}
|
}
|
||||||
|
|
||||||
// DB එකේ නැති student_log_id සහ sort_order query එකෙන් ඉවත් කර ඇත
|
|
||||||
$rawTimetables = Timetable::all();
|
$rawTimetables = Timetable::all();
|
||||||
|
|
||||||
$schedule = [];
|
$schedule = [];
|
||||||
|
|
@ -29,7 +29,7 @@ class TimetableController extends Controller
|
||||||
$schedule[$item->time_slot][$item->day] = $item;
|
$schedule[$item->time_slot][$item->day] = $item;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Today's Schedule (දැනට ඇති columns වලින් පමණක් Filter කර ඇත)
|
|
||||||
$todayName = Carbon::now()->format('l');
|
$todayName = Carbon::now()->format('l');
|
||||||
$todaySchedule = Timetable::where('day', $todayName)
|
$todaySchedule = Timetable::where('day', $todayName)
|
||||||
->where('type', '!=', 'Break')
|
->where('type', '!=', 'Break')
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ use Illuminate\Support\Facades\Storage;
|
||||||
|
|
||||||
class adminmycoursesController extends Controller
|
class adminmycoursesController extends Controller
|
||||||
{
|
{
|
||||||
// 1. Courses ලැයිස්තුව පෙන්වීම (Read)
|
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
if (!session()->has('admin_id')) {
|
if (!session()->has('admin_id')) {
|
||||||
|
|
@ -19,7 +19,7 @@ class adminmycoursesController extends Controller
|
||||||
return view('admin.adminmycourses', compact('courses'));
|
return view('admin.adminmycourses', compact('courses'));
|
||||||
}
|
}
|
||||||
|
|
||||||
// 2. අලුත් Course එකක් එකතු කිරීම (Create)
|
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
$request->validate([
|
$request->validate([
|
||||||
|
|
@ -58,7 +58,7 @@ class adminmycoursesController extends Controller
|
||||||
return redirect()->back()->with('success', 'Course added successfully!');
|
return redirect()->back()->with('success', 'Course added successfully!');
|
||||||
}
|
}
|
||||||
|
|
||||||
// 3. Course එක Update කිරීම (Update)
|
|
||||||
public function update(Request $request, $id)
|
public function update(Request $request, $id)
|
||||||
{
|
{
|
||||||
$request->validate([
|
$request->validate([
|
||||||
|
|
@ -101,24 +101,23 @@ class adminmycoursesController extends Controller
|
||||||
return redirect()->back()->with('success', 'Course updated successfully!');
|
return redirect()->back()->with('success', 'Course updated successfully!');
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4. Course එක Delete කිරීම (Delete)
|
|
||||||
// Course එක Delete කිරීම (Delete)
|
public function destroy($id)
|
||||||
public function destroy($id)
|
{
|
||||||
{
|
$course = DB::table('courses')->where('id', $id)->first();
|
||||||
$course = DB::table('courses')->where('id', $id)->first();
|
|
||||||
|
|
||||||
if ($course) {
|
if ($course) {
|
||||||
// Image එක Storage එකෙන් Delete කිරීම
|
|
||||||
if ($course->image && Storage::disk('public')->exists($course->image)) {
|
if ($course->image && Storage::disk('public')->exists($course->image)) {
|
||||||
Storage::disk('public')->delete($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 කිරීම
|
return redirect()->back()->with('error', 'Course not found!');
|
||||||
DB::table('courses')->where('id', $id)->delete();
|
|
||||||
|
|
||||||
return redirect()->back()->with('success', 'Course deleted successfully!');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return redirect()->back()->with('error', 'Course not found!');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
@ -10,12 +10,12 @@ class ApplyController extends Controller
|
||||||
{
|
{
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
return view('apply'); // Tawa name ekak nam view name eka wenas karanna
|
return view('apply');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
// 1. Data Validation Rules
|
|
||||||
$validatedData = $request->validate([
|
$validatedData = $request->validate([
|
||||||
'first_name' => 'required|string|max:255',
|
'first_name' => 'required|string|max:255',
|
||||||
'last_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',
|
'emergency_contact_relationship' => 'required|string|max:255',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// 2. Multi File Upload Process
|
|
||||||
$certificatePaths = [];
|
$certificatePaths = [];
|
||||||
if ($request->hasFile('certificates')) {
|
if ($request->hasFile('certificates')) {
|
||||||
foreach ($request->file('certificates') as $file) {
|
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 = new Application($validatedData);
|
||||||
$application->user_id = Auth::id(); // Log unukena ge ID eka attach wei
|
$application->user_id = Auth::id();
|
||||||
$application->certificates = $certificatePaths; // Paths array eka save wei
|
$application->certificates = $certificatePaths;
|
||||||
$application->save();
|
$application->save();
|
||||||
|
|
||||||
return redirect()->back()->with('success', 'Your application has been submitted successfully!');
|
return redirect()->back()->with('success', 'Your application has been submitted successfully!');
|
||||||
|
|
|
||||||
|
|
@ -237,7 +237,7 @@
|
||||||
<option value="Theory">Theory</option>
|
<option value="Theory">Theory</option>
|
||||||
<option value="Practical">Practical</option>
|
<option value="Practical">Practical</option>
|
||||||
<option value="Workshop">Workshop</option>
|
<option value="Workshop">Workshop</option>
|
||||||
<option value="Exam">Exam</option>
|
<!-- <option value="Exam">Exam</option> -->
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue