49 lines
1.4 KiB
PHP
49 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
use App\Actions\UpdateEtude;
|
|
use App\Http\Controllers\Controller;
|
|
use App\Http\Requests\EtudeUploadRequest;
|
|
use App\Models\AuditionEtude;
|
|
use App\Models\Ensemble;
|
|
use App\Models\Instrument;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Storage;
|
|
|
|
class AuditionEtudeGridController extends Controller
|
|
{
|
|
public function index()
|
|
{
|
|
$ensembles = Ensemble::with('etudes')->get();
|
|
$instruments = Instrument::orderBy('score_order')->get();
|
|
|
|
return view('admin.audition_etude.grid', compact('ensembles', 'instruments'));
|
|
}
|
|
|
|
public function store(EtudeUploadRequest $request, UpdateEtude $updater)
|
|
{
|
|
$updater(
|
|
Ensemble::find($request->ensemble_id),
|
|
Instrument::find($request->instrument_id),
|
|
$request->set,
|
|
$request->file('file_upload')
|
|
);
|
|
|
|
return redirect()->route('admin.etude-grid')->with('success', 'Etude updated successfully.');
|
|
|
|
}
|
|
|
|
public function destroy(Request $request)
|
|
{
|
|
$validated = $request->validate([
|
|
'etude_id' => 'required|integer|exists:audition_etudes,id',
|
|
]);
|
|
$etude = AuditionEtude::findOrFail($validated['etude_id']);
|
|
|
|
$etude->delete();
|
|
|
|
return redirect()->route('admin.etude-grid')->with('success', 'Etude deleted successfully.');
|
|
}
|
|
}
|