55 lines
1.5 KiB
PHP
55 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Tabulation;
|
|
|
|
use App\Actions\Tabulation\GetBonusScoreRelatedEntries;
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\BonusScore;
|
|
use App\Models\Entry;
|
|
|
|
use function request;
|
|
|
|
class BonusScoreController extends Controller
|
|
{
|
|
public function chooseEntry()
|
|
{
|
|
$method = 'GET';
|
|
$formRoute = 'bonus-scores.entryBonusScoreSheet';
|
|
$title = 'Enter Bonus Scores';
|
|
|
|
return view('tabulation.choose_entry', compact('method', 'formRoute', 'title'));
|
|
}
|
|
|
|
public function entryBonusScoreSheet(GetBonusScoreRelatedEntries $getRelatedEntries)
|
|
{
|
|
$validData = request()->validate([
|
|
'entry_id' => 'required|exists:entries,id',
|
|
]);
|
|
$entry = Entry::find($validData['entry_id']);
|
|
$bonusScoreDefinition = $entry->audition->bonusScore->first();
|
|
$assignedJudges = $bonusScoreDefinition->judges;
|
|
$relatedEntries = $getRelatedEntries($entry);
|
|
$existingScores = [];
|
|
foreach ($relatedEntries as $related) {
|
|
$existingScores[$related->id] = BonusScore::where('entry_id', $related->id)
|
|
->with('judge')
|
|
->with('entry')
|
|
->with('originallyScoredEntry')
|
|
->get();
|
|
}
|
|
|
|
return view('tabulation.bonus-score-sheet',
|
|
compact('entry', 'bonusScoreDefinition', 'assignedJudges', 'existingScores', 'relatedEntries'));
|
|
}
|
|
|
|
public function saveEntryBonusScoreSheet()
|
|
{
|
|
|
|
}
|
|
|
|
public function destroyBonusScore()
|
|
{
|
|
|
|
}
|
|
}
|