/** * Update the specified assignment with request info. * * @param Request $request * @return Response */ public function update_assignment(Request $request, $assignment_id) { if (!Auth::user()->hasRole('admin')) { return view('access_denied'); } $assignment = Assignment::find($request->assignment_id); //check whether professor matches the course $correctProfessorCheck = DB::select('select * from current_professors where user_id = ? and course_id = ?', [$request->professor, $request->course]); if ($correctProfessorCheck == null) { $errors['badProf'] = 'This professor is not currently teaching this course!'; session()->put('error', $errors['badProf']); } //check whether tutor matches the course $correctTutorCheck = DB::select('select * from available_tutors where user_id = ? and course_id = ?', [$request->tutor, $request->course]); if ($correctTutorCheck == null) { $errors['badTutor'] = 'This tutor is not currently tutoring this course!'; session()->put('error', $errors['badTutor']); } //handles errors by setting $errors array and displaying the value in blade if (!empty($errors)) { $data = array('errors' => $errors, 'old' => $request, 'assignment' => $assignment, 'courses' => Course::all(), 'tutors' => UserController::getTutors(), 'students' => UserController::getStudents(), 'professors' => UserController::getProfessors()); return view('assignment_edit', $data); } $assignment->tutor_id = $request->tutor; $assignment->student_id = $request->student; $assignment->course_id = $request->course; $assignment->professor_id = $request->professor; $assignment->save(); session()->put('success', 'Tutor assignment successfully updated!'); return redirect('/assignment/' . $assignment->id); }