is_admin) abort(403); #$unassignedAuditions = Audition::with('entries')->where('room_id','=','0')->orderBy('score_order')->get(); $rooms = Room::with('auditions.entries')->orderBy('name')->get(); return view('admin.rooms.index', ['rooms' => $rooms]); } public function judgingAssignment() { $usersWithoutRooms = User::doesntHave('rooms')->orderBy('last_name')->orderBy('first_name')->get(); $usersWithRooms = User::has('rooms')->orderBy('last_name')->orderBy('first_name')->get(); $rooms = Room::with(['judges.school','auditions'])->get(); return view('admin.rooms.judge_assignments', compact('usersWithoutRooms','usersWithRooms','rooms')); } public function updateJudgeAssignment(Request $request, Room $room) { $validData = $request->validate([ 'judge' => 'exists:users,id' ]); $judge = User::find($validData['judge']); if($request->isMethod('post')) { // attach judge on post $room->judges()->attach($judge->id); $message = "Assigned " . $judge->full_name() . " to " . $room->name; } elseif ($request->isMethod('delete')) { // detach judge on delete $room->judges()->detach($judge->id); $message = "Removed " . $judge->full_name() . " from " . $room->name; } else { return redirect('/admin/rooms/judging_assignments')->with('error', 'Invalid request method.'); } return redirect('/admin/rooms/judging_assignments')->with('success',$message); } }