doublerService = $doublerService; $this->entryService = $entryService; $this->decider = $decider; } public function accept(Entry $entry) { // $doublerInfo = $this->doublerService->simpleDoubleInfo($entry); // foreach ($doublerInfo as $doublerEntry) { // /** @var Entry $doublerEntry */ // if ($doublerEntry->id !== $entry->id) { // $doublerEntry->addFlag('declined'); // } // } try { $this->decider->accept($entry); } catch (AuditionAdminException $e) { return redirect()->back()->with('error', $e->getMessage()); } $returnMessage = $entry->student->full_name().' accepted seating in '.$entry->audition->name; $this->clearCache($entry); return redirect()->back()->with('success', $returnMessage); } public function decline(Entry $entry) { // if ($entry->hasFlag('declined')) { // return redirect()->back()->with('caution', 'Entry is already declined'); // } // // $entry->addFlag('declined'); try { $this->decider->decline($entry); } catch (AuditionAdminException $e) { return redirect()->back()->with('error', $e->getMessage()); } $returnMessage = $entry->student->full_name().' declined seating in '.$entry->audition->name; $this->clearCache($entry); return redirect()->back()->with('success', $returnMessage); } protected function clearCache($entry) { $cacheKey = 'event'.$entry->audition->event_id.'doublers-seating'; Cache::forget($cacheKey); $cacheKey = 'event'.$entry->audition->event_id.'doublers-advancement'; Cache::forget($cacheKey); } }