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;
 }
示例#2
0
 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!');
 }
示例#3
0
    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!';
});