76 lines
2.4 KiB
PHP
76 lines
2.4 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\NominationEnsembles;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\NominationEnsemble;
|
|
|
|
use function redirect;
|
|
|
|
class ScobdaNominationEnsembleController extends Controller implements NominationEnsembleController
|
|
{
|
|
public function index()
|
|
{
|
|
return view('nomination_ensembles.scobda.index');
|
|
}
|
|
|
|
public function show(NominationEnsemble $ensemble)
|
|
{
|
|
// TODO: Implement show() method.
|
|
}
|
|
|
|
public function create()
|
|
{
|
|
// TODO: Implement create() method.
|
|
}
|
|
|
|
public function store()
|
|
{
|
|
//dd(request()->all());
|
|
$validated = request()->validate([
|
|
'ensemble_name' => 'required',
|
|
'entry_deadline' => 'required|date',
|
|
'min_grade' => 'required|numeric|min:0',
|
|
'max_grade' => 'required|numeric|gte:min_grade',
|
|
'max_nominations' => 'required|numeric|min:1',
|
|
'target_size' => 'required|numeric|min:1',
|
|
'rounding_direction' => 'required|in:up,down',
|
|
'instrument_list' => 'required|string',
|
|
], [
|
|
'maximum_grade.gte' => 'The maximum grade must be greater than the minimum grade.',
|
|
'rounding_direction.in' => 'The rounding direction must be either "up" or "down".',
|
|
]);
|
|
$instrument_list = preg_replace('/\s*,\s*/', ',', $validated['instrument_list']);
|
|
$instrument_array = explode(',', $instrument_list);
|
|
|
|
$ensemble = new NominationEnsemble();
|
|
$ensemble->name = $validated['ensemble_name'];
|
|
$ensemble->entry_deadline = $validated['entry_deadline'];
|
|
$ensemble->minimum_grade = $validated['min_grade'];
|
|
$ensemble->maximum_grade = $validated['max_grade'];
|
|
$data = [];
|
|
$data['max_nominations'] = $validated['max_nominations'];
|
|
$data['target_size'] = $validated['target_size'];
|
|
$data['instruments'] = $instrument_array;
|
|
$ensemble->data = $data;
|
|
$ensemble->save();
|
|
|
|
return redirect()->route('nomination.admin.ensemble.index')->with('success', 'Nomination Ensemble has been created.');
|
|
}
|
|
|
|
public function edit(NominationEnsemble $ensemble)
|
|
{
|
|
// TODO: Implement edit() method.
|
|
}
|
|
|
|
public function update()
|
|
{
|
|
// TODO: Implement update() method.
|
|
}
|
|
|
|
public function destroy()
|
|
{
|
|
// TODO: Implement destroy() method.
|
|
}
|
|
}
|