protected function createStudentAttendance($student, $day, $course, $absenceType) { $absence = new StudentAttendance(); $absence->setCareerSchoolYearId($course->getCareerSchoolYear()->getId()); $absence->setStudentId($student->getId()); $absence->setDay($day); $absence->setAbsenceTypeId($absenceType->getId()); $absence->setValue($absenceType->getValue()); $absence->save(); return $absence; }
public function updateAttendance() { $date = Input::get('date'); $class_id = Input::get('class_id'); $students = Input::get('students'); $drop_absences_count = DB::table('classes')->where('id', '=', $class_id)->pluck('drop_absences_count'); if (!empty($students['excused'])) { foreach ($students['excused'] as $student_id) { $attendance = new StudentAttendance(); $attendance->student_id = $student_id; $attendance->class_id = $class_id; $attendance->date = $date; $attendance->type = 'excused'; $attendance->save(); } } if (!empty($students['absent'])) { foreach ($students['absent'] as $student_id) { $id = $class_id . $student_id; $attendance = new StudentAttendance(); $attendance->student_id = $student_id; $attendance->class_id = $class_id; $attendance->date = $date; $attendance->type = 'absent'; $attendance->save(); $current_absence_count = DB::table('student_classes')->where('id', '=', $id)->pluck('current_absence_count'); $current_absence_count += 1; if ($current_absence_count == $drop_absences_count) { //update status to: to_drop DB::table('student_classes')->where('id', '=', $id)->update(array('status' => 'to_drop')); } //increment current_absence_count DB::table('student_classes')->where('id', $id)->increment('current_absence_count'); } } return array('type' => 'success', 'text' => 'Updated Attendance!'); }
Route::post('/claim', 'AdminController@updateStudentStatus'); Route::get('/absences/{id}', 'AdminController@absences'); Route::get('/semester', 'AdminController@semesterSettings'); Route::post('/semester', 'AdminController@updateSemesterSettings'); }); Route::get('/password/forgot', 'RemindersController@getRemind'); Route::post('/password/remind', 'RemindersController@postRemind'); Route::get('/password/reset/{token}', 'RemindersController@getReset'); Route::post('/password/reset', 'RemindersController@postReset'); Route::get('/import', function () { $class_id = 2; $student_id = '1100723'; $date = '2015-09-12'; $id = $class_id . $student_id; $drop_absences_count = 1; $attendance = new StudentAttendance(); $attendance->student_id = $student_id; $attendance->class_id = $class_id; $attendance->date = $date; $attendance->type = 'absent'; $attendance->save(); $current_absence_count = DB::table('student_classes')->where('id', '=', $id)->pluck('current_absence_count'); $current_absence_count += 1; if ($current_absence_count == $drop_absences_count) { //update status to: to_drop DB::table('student_classes')->where('id', '=', $id)->update(array('status' => 'to_drop')); } //increment current_absence_count DB::table('student_classes')->where('id', $id)->increment('current_absence_count'); return 'done!'; });