38 lines
1.0 KiB
PHP
38 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\Audition;
|
|
use App\Models\Entry;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
|
class EntryController extends Controller
|
|
{
|
|
// TODO authorization policies
|
|
public function index()
|
|
{
|
|
$entries = Auth::user()->entries()->with(['student','audition'])->get();
|
|
$auditions = Audition::all();
|
|
$students = Auth::user()->students;
|
|
|
|
return view('entries.index',['entries' => $entries, 'students' => $students, 'auditions' => $auditions]);
|
|
}
|
|
|
|
public function store(Request $request)
|
|
{
|
|
// TODO write custom rule to verify the combination of student and audition is unique
|
|
$request->validate([
|
|
'student_id' => ['required', 'exists:students,id'],
|
|
'audition_id' => ['required', 'exists:auditions,id']
|
|
]);
|
|
|
|
$entry = Entry::create([
|
|
'student_id' => request('student_id'),
|
|
'audition_id' => request('audition_id')
|
|
]);
|
|
|
|
return redirect('/entries');
|
|
}
|
|
}
|