get(); $subjects_ids = $subjects->pluck('id')->toArray(); $classes = Classes::whereIn('subject_id', $subjects_ids)->orderBy('created_at','DESC')->get(); foreach($classes as $classes_item) { $current_date = date('Y-m-d H:i:s'); $classes_date = $classes_item->created_at; $hours_difference = checkHoursDifference($classes_date, $current_date); if ($hours_difference > 1.5) { $classes_item->classes_code = null; $classes_item->save(); $classes_item->refresh(); } } $classes_grouped = $classes->groupBy($groupBy); $defaultDate = date("Y-m-d"); return view('user.user_classes', ['classes' => $classes, 'classes_grouped' => $classes_grouped, 'subjects' => $subjects, 'grouped_by' => $groupBy, 'defaultDate' => $defaultDate]); } public function add_classes(Request $request) { $subject_id = $request->input('subject_id'); $date = $request->input('date'); $classes_id = Classes::create([ 'subject_id' => $subject_id, 'date' => $date ])->id; return redirect(route('user_start_classes', ['classes_id' => $classes_id])); } public function delete_classes($classes_id) { Classes::find($classes_id)->delete(); return redirect(route('user_classes')); } public function edit_classes($classes_id) { Classes::find($classes_id); return redirect(route('user_classes')); } public function start_classes($classes_id) { $classes = Classes::find($classes_id); $classes_code = $classes->classes_code; if(!$classes_code){ $classes_code = generateRandomString(10); $classes->classes_code = $classes_code; $classes->save(); $classes->refresh(); } return view('map.start_map', ['classes_code' => $classes_code, 'classes' => $classes]); } public function start_classes_verified(Request $request) { $student_id_number = $request->input('student_id_number'); $student_name = $request->input('student_name'); $student_surname = $request->input('student_surname'); $classes = Classes::find($request->get('classes_id')); $attendances = Attendance::where('classes_id', $classes->id)->get(); $seat_numbers = $attendances->pluck('seat_number')->toArray(); $subject = Subject::find($classes->subject_id); $room_arrangement = Room::find($subject->room_id)->arrangement; if(!$room_arrangement) { $room_arrangement = Room::where('name', 'Inna sala')->first()->arrangement; } return view('map.seat_map', ['student_name' => $student_name, 'student_surname' => $student_surname, 'student_id_number' => $student_id_number, 'classes_id' => $classes->id, 'seat_numbers' => $seat_numbers, 'room_arrangement' => $room_arrangement]); } public function save_classes_data(Request $request) { $classes_id = $request->input('classes_id'); $student_id_number = $request->input('student_id_number'); $student_name = $request->input('student_name'); $student_surname = $request->input('student_surname'); $seat_number = $request->input('seat_number'); Attendance::create([ 'classes_id' => $classes_id, 'student_id_number' => $student_id_number, 'student_name' => $student_name, 'student_surname' => $student_surname, 'seat_number' => $seat_number, ]); return view('map.summary_map', ['student_name' => $student_name, 'student_surname' => $student_surname, 'seat_number' => $seat_number, 'student_id_number' => $student_id_number, 'classes_id' => $classes_id]); } public function preview_classes($classes_id) { if(!$classes_id == 0) { $classes = Classes::find($classes_id); $attendances = Attendance::where('classes_id', $classes->id)->get(); $seat_numbers = $attendances->pluck('seat_number')->toArray(); $subject = Subject::find($classes->subject_id); $room_arrangement = Room::find($subject->room_id)->arrangement; if(!$room_arrangement) { $room_arrangement = Room::where('name', 'Inna sala')->first()->arrangement; } } return view('user.user_preview_classes', ['classes_id' => $classes_id, 'room_arrangement' => $room_arrangement, 'attendances' => $attendances, 'seat_numbers' => $seat_numbers]); } }