store cell validation

This commit is contained in:
Olivier Legat 2022-01-02 13:03:40 +01:00
parent fd544a446c
commit ad6499bce6
2 changed files with 51 additions and 1 deletions

View file

@ -4,6 +4,7 @@ namespace App\Http\Controllers;
use App\Enums\Planning\ActivityType;
use App\Enums\Role;
use App\Http\Requests\StoreScheduleRequest;
use App\Models\Schedule;
use App\Models\User;
use App\Models\WeekPlanning;
@ -118,7 +119,7 @@ class ScheduleController extends Controller
return view('schedule.index', compact('users', 'date', 'weekCells', 'arSchedules'));
}
public function setCellContent(Request $request)
public function setCellContent(StoreScheduleRequest $request)
{
$date = CarbonImmutable::createFromFormat('d/m/Y', $request->date);
$fill = $request->all();

View file

@ -0,0 +1,49 @@
<?php
namespace App\Http\Requests;
use App\Enums\Planning\ActivityType;
use App\Enums\Planning\CellModel;
use App\Enums\Planning\TableRow;
use Illuminate\Foundation\Http\FormRequest;
use Kwaadpepper\Enum\Rules\EnumIsValidRule;
class StoreScheduleRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return auth()->check() and $this->ajax();
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'user_id' => 'required|exists:users,id',
'date' => 'date',
'activity' => [
'required',
new EnumIsValidRule(ActivityType::class)
],
'slot' => [
'required',
new EnumIsValidRule(TableRow::class)
],
'model_lie' => [
'nullable',
new EnumIsValidRule(CellModel::class)
],
'id_lie' => 'required_with:model_lie|nullable|numeric',
'description' => 'required|string|min:5|max:90'
];
}
}