Advancement working.
This commit is contained in:
parent
24e1c3d95e
commit
d0bd3f5092
|
|
@ -8,6 +8,7 @@ use App\Models\Ensemble;
|
|||
use App\Models\Entry;
|
||||
use App\Models\Seat;
|
||||
use App\Services\AuditionService;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Illuminate\Support\Facades\View;
|
||||
|
|
@ -28,6 +29,7 @@ class ResultsPage extends Controller
|
|||
*/
|
||||
public function __invoke(Request $request)
|
||||
{
|
||||
Model::preventLazyLoading(false);
|
||||
$cacheKey = 'publicResultsPage';
|
||||
|
||||
if (Cache::has($cacheKey)) {
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ use App\Actions\Tabulation\CalculateAuditionScores;
|
|||
use App\Actions\Tabulation\RankAuditionEntries;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Audition;
|
||||
use App\Models\Entry;
|
||||
use App\Models\EntryFlag;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
|
||||
|
|
@ -81,16 +81,24 @@ class AdvancementController extends Controller
|
|||
public function setAuditionPassers(Request $request, Audition $audition)
|
||||
{
|
||||
$passingEntries = $request->input('pass');
|
||||
|
||||
$audition->addFlag('advancement_published');
|
||||
if (! is_null($passingEntries)) {
|
||||
$passingEntries = array_keys($passingEntries);
|
||||
$entries = Entry::whereIn('id', $passingEntries)->get();
|
||||
foreach ($entries as $entry) {
|
||||
$entry->addFlag('will_advance');
|
||||
}
|
||||
$passEntries = collect(array_keys($passingEntries));
|
||||
EntryFlag::insert(
|
||||
$passEntries
|
||||
->map(fn ($entryId) => [
|
||||
'entry_id' => $entryId,
|
||||
'flag_name' => 'will_advance',
|
||||
'created_at' => now(),
|
||||
'updated_at' => now(),
|
||||
])->toArray()
|
||||
);
|
||||
|
||||
}
|
||||
Cache::forget('audition'.$audition->id.'advancement');
|
||||
Cache::forget('publicResultsPage');
|
||||
Cache::forget('rank_advancement_'.$audition->id);
|
||||
|
||||
return redirect()->route('advancement.ranking', ['audition' => $audition->id])->with('success',
|
||||
'Passers have been set successfully');
|
||||
|
|
@ -99,9 +107,10 @@ class AdvancementController extends Controller
|
|||
public function clearAuditionPassers(Request $request, Audition $audition)
|
||||
{
|
||||
$audition->removeFlag('advancement_published');
|
||||
foreach ($audition->entries as $entry) {
|
||||
$entry->removeFlag('will_advance');
|
||||
}
|
||||
$audition->entries
|
||||
->filter(fn ($entry) => $entry->hasFlag('will_advance'))
|
||||
->each(fn ($entry) => $entry->removeFlag('will_advance'));
|
||||
|
||||
Cache::forget('audition'.$audition->id.'advancement');
|
||||
Cache::forget('publicResultsPage');
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue