Example #1
0
 public function store(Request $request)
 {
     $ids = $request->input('ids');
     foreach ($ids as $id) {
         $interval = ClassroomInterval::find($id);
         $interval->enable_excuses = $request->has('excuses_' . $id);
         $interval->enable_attendances = $request->has('attendance_' . $id);
         $interval->save();
     }
     return redirect()->route('classrooms.settings.index')->with('success', trans('classrooms::settings.settings_updated'));
 }
Example #2
0
 public function store(CreateClassroomSessionRequest $request)
 {
     $session = new ClassroomSession();
     $interval = ClassroomInterval::find($request->input('interval_id'));
     $session->fill($request->all());
     $session->title = $interval->title;
     $session->interval_id = $interval->id;
     if ($session->save()) {
         $this->dispatch(new CreateVirtualClassroomJob($session));
         return redirect()->route('classrooms.sessions.index');
     }
 }
 public function register()
 {
     //Classroom
     Classroom::created(function ($classroom) {
         UserLog::create(['operation' => 'create', 'user_id' => user() ? user()->id : NULL, 'reference_key' => 'classrooms', 'reference_id' => $classroom->id]);
     });
     Classroom::updated(function ($classroom) {
         UserLog::create(['operation' => 'update', 'user_id' => user() ? user()->id : NULL, 'reference_key' => 'classrooms', 'reference_id' => $classroom->id]);
     });
     Classroom::deleted(function ($classroom) {
         UserLog::create(['operation' => 'delete', 'user_id' => user() ? user()->id : NULL, 'reference_key' => 'classrooms', 'reference_id' => $classroom->id]);
     });
     //ClassroomInterval
     ClassroomInterval::created(function ($classroominterval) {
         UserLog::create(['operation' => 'create', 'user_id' => user() ? user()->id : NULL, 'reference_key' => 'classroom_intervals', 'reference_id' => $classroominterval->id]);
     });
     ClassroomInterval::updated(function ($classroominterval) {
         UserLog::create(['operation' => 'update', 'user_id' => user() ? user()->id : NULL, 'reference_key' => 'classroom_intervals', 'reference_id' => $classroominterval->id]);
     });
     ClassroomInterval::deleted(function ($classroominterval) {
         UserLog::create(['operation' => 'delete', 'user_id' => user() ? user()->id : NULL, 'reference_key' => 'classroom_intervals', 'reference_id' => $classroominterval->id]);
     });
     //ClassroomSessionExcuse
     ClassroomSessionExcuse::created(function ($classroomsessionexcuses) {
         UserLog::create(['operation' => 'create', 'user_id' => user() ? user()->id : NULL, 'reference_key' => 'classroom_session_excuses', 'reference_id' => $classroomsessionexcuses->id]);
     });
     ClassroomSessionExcuse::updated(function ($classroomsessionexcuses) {
         UserLog::create(['operation' => 'update', 'user_id' => user() ? user()->id : NULL, 'reference_key' => 'classroom_session_excuses', 'reference_id' => $classroomsessionexcuses->id]);
     });
     ClassroomSessionExcuse::deleted(function ($classroomsessionexcuses) {
         UserLog::create(['operation' => 'delete', 'user_id' => user() ? user()->id : NULL, 'reference_key' => 'classroom_session_excuses', 'reference_id' => $classroomsessionexcuses->id]);
     });
     //ClassroomSession
     ClassroomSession::created(function ($classroomsession) {
         UserLog::create(['operation' => 'create', 'user_id' => user() ? user()->id : NULL, 'reference_key' => 'classroom_sessions', 'reference_id' => $classroomsession->id]);
     });
     ClassroomSession::updated(function ($classroomsession) {
         UserLog::create(['operation' => 'update', 'user_id' => user() ? user()->id : NULL, 'reference_key' => 'classroom_sessions', 'reference_id' => $classroomsession->id]);
     });
     ClassroomSession::deleted(function ($classroomsession) {
         UserLog::create(['operation' => 'delete', 'user_id' => user() ? user()->id : NULL, 'reference_key' => 'classroom_sessions', 'reference_id' => $classroomsession->id]);
     });
 }
Example #4
0
    public function weekly(Request $request)
    {
        $sessions = ClassroomSession::with(['teacher', 'subject'])->select(DB::raw('teacher_id ,
			 				subject_subject_id ,
			 				 count(classroom_id) 			   as count_classroom_id,
							  count(id) 					   as count_session,
							  sum(details_is_in_time) 	   	   as count_details_is_in_time,
							  sum(details_is_teacher_absent)   as count_details_is_teacher_absent,
							  sum(details_is_tech_problem)     as count_details_is_tech_problem,
							  sum(details_is_delayed) 	   	   as count_details_is_delayed,
							  sum(details_is_board_used)       as count_details_is_board_used,
							  sum(details_is_camera_used)      as count_details_is_camera_used,
							  sum(details_teacher_level_summary)      as details_teacher_level_summary,
							  sum(details_teacher_level_tech)      as details_teacher_level_tech
							  '))->groupBy('teacher_id', 'subject_subject_id');
        if ($request->has('interval_id')) {
            $sessions->where('interval_id', $request->input('interval_id'));
        }
        $sessions = $sessions->get();
        $intervals = ClassroomInterval::Done()->where('semester_id', semester()->id)->pluck('title', 'id')->toArray();
        return view('classrooms::reports.weekly', compact('intervals', 'sessions'));
    }
 public function regiserEvents()
 {
     Classroom::creating(function ($classroom) {
         $classroom->semester_id = semester()->id;
     });
     ClassroomInterval::creating(function ($interval) {
         $interval->semester_id = semester()->id;
     });
     ClassroomSession::creating(function ($session) {
         $session->semester_id = semester()->id;
     });
 }
Example #6
0
 private function checkIntervalsConflict(Request $request, $interval_id = 0)
 {
     $intervals = ClassroomInterval::whereHas('classrooms', function ($query) {
         $query->whereIn('classroom_id', request('classroom_id'));
     })->where('classroom_intervals.id', '!=', $interval_id)->whereRaw("'" . $request->from_date . "' < classroom_intervals.to_date\n\t\t\t\t\tAND classroom_intervals.from_date < '" . $request->to_date . "'")->get();
     return $intervals->count();
 }