phpvms/app/Http/Requests/CreatePirepRequest.php

57 lines
1.5 KiB
PHP
Raw Normal View History

2017-06-29 08:54:05 +08:00
<?php
namespace App\Http\Requests;
use App\Models\Pirep;
use App\Repositories\PirepFieldRepository;
2018-02-21 12:33:09 +08:00
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Facades\Log;
2017-07-05 02:57:08 +08:00
class CreatePirepRequest extends FormRequest
2017-06-29 08:54:05 +08:00
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
2018-05-30 00:04:28 +08:00
// Don't run validations if it's just being saved
$action = strtolower(request('submit', 'submit'));
2018-08-27 00:40:04 +08:00
if ($action === 'save') {
2018-05-30 00:04:28 +08:00
return [
'airline_id' => 'required|exists:airlines,id',
'flight_number' => 'required',
'dpt_airport_id' => 'required',
'arr_airport_id' => 'required',
];
}
$field_rules = Pirep::$rules;
2019-08-02 01:15:33 +08:00
$field_rules['hours'] = 'required|integer';
$field_rules['minutes'] = 'required|integer';
2018-08-27 00:40:04 +08:00
// Add the validation rules for the custom fields
$pirepFieldRepo = app(PirepFieldRepository::class);
$custom_fields = $pirepFieldRepo->all();
foreach ($custom_fields as $field) {
2019-08-02 01:15:33 +08:00
// Log::info('field:', $field->toArray());
$field_rules[$field->slug] = $field->required ? 'required' : 'nullable';
}
return $field_rules;
2017-06-29 08:54:05 +08:00
}
}