meobda-website/app/Http/Controllers/Admin/AuditionEtudeGridController...

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.');
}
}