diff --git a/app/Http/Controllers/EntryController.php b/app/Http/Controllers/EntryController.php index fedfc6a..ee2b5d0 100644 --- a/app/Http/Controllers/EntryController.php +++ b/app/Http/Controllers/EntryController.php @@ -2,12 +2,11 @@ namespace App\Http\Controllers; -use App\Events\AuditionChange; use App\Models\Audition; use App\Models\Entry; -use App\Models\School; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; + use function abort; class EntryController extends Controller @@ -16,34 +15,45 @@ class EntryController extends Controller public function index() { - $entries = Auth::user()->entries()->with(['student','audition'])->get(); + $entries = Auth::user()->entries()->with(['student', 'audition'])->get(); $auditions = Audition::deadlineNotPast(); $students = Auth::user()->students; - return view('entries.index',['entries' => $entries, 'students' => $students, 'auditions' => $auditions]); + return view('entries.index', ['entries' => $entries, 'students' => $students, 'auditions' => $auditions]); } public function store(Request $request) { - if ($request->user()->cannot('create', Entry::class)) abort(403); + if ($request->user()->cannot('create', Entry::class)) { + abort(403); + } // TODO write custom rule to verify the combination of student and audition is unique - $request->validate([ + $validData = $request->validate([ 'student_id' => ['required', 'exists:students,id'], - 'audition_id' => ['required', 'exists:auditions,id'] + 'audition_id' => ['required', 'exists:auditions,id'], ]); + $validData['for_seating'] = $request->get('for_seating') ? 1 : 0; + $validData['for_advancement'] = $request->get('for_advancement') ? 1 : 0; + $entry = Entry::create([ - 'student_id' => request('student_id'), - 'audition_id' => request('audition_id') + 'student_id' => $validData['student_id'], + 'audition_id' => $validData['audition_id'], + 'for_seating' => $validData['for_seating'], + 'for_advancement' => $validData['for_advancement'], ]); + return redirect('/entries'); } public function destroy(Request $request, Entry $entry) { - if ($request->user()->cannot('delete', $entry)) abort(403); + if ($request->user()->cannot('delete', $entry)) { + abort(403); + } $entry->delete(); - return redirect('/entries')->with('success','The ' . $entry->audition->name . 'entry for ' . $entry->student->full_name(). 'has been deleted.'); + + return redirect('/entries')->with('success', 'The '.$entry->audition->name.'entry for '.$entry->student->full_name().'has been deleted.'); } } diff --git a/resources/views/entries/index.blade.php b/resources/views/entries/index.blade.php index 7da0984..1838d73 100644 --- a/resources/views/entries/index.blade.php +++ b/resources/views/entries/index.blade.php @@ -11,7 +11,7 @@ Add Entry - + Student @@ -29,6 +29,23 @@ + @if(auditionSetting('advanceTo')) +
+ +
+
+ +
+ @else + + @endif + + + Save
@@ -45,6 +62,10 @@ Name Grade Audition + @if(auditionSetting('advanceTo')) + {{ auditionSetting('auditionAbbreviation') }} + {{ auditionSetting('advanceTo') }} + @endif Edit @@ -56,6 +77,24 @@ {{ $entry->student->full_name(true) }} {{ $entry->student->grade }} {{ $entry->audition->name }} + + @if(auditionSetting('advanceTo')) + + @if($entry->for_seating) + + @else + + @endif + + + @if($entry->for_advancement) + + @else + + @endif + + @endif + @if( $entry->audition->entry_deadline >= now())