Adds model, repo, controller, and request classes for Vehicle and Convoy. Registers routes for vehicles and convoys, updates client store. Adds front‑end files to list, add, edit vehicles. Cleans up console logging from client store.
52 lines
2.4 KiB
PHP
52 lines
2.4 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Requests;
|
|
|
|
use Illuminate\Foundation\Http\FormRequest;
|
|
use Illuminate\Validation\Rule;
|
|
|
|
class UpdateConvoyRequest extends FormRequest
|
|
{
|
|
public function authorize(): bool
|
|
{
|
|
return true;
|
|
}
|
|
|
|
public function rules(): array
|
|
{
|
|
return [
|
|
'deceased_id' => ['sometimes', 'required', 'exists:deceased,id'],
|
|
'client_id' => ['nullable', 'exists:clients,id'],
|
|
'vehicle_id' => ['nullable', 'exists:vehicles,id'],
|
|
'mission_title' => ['nullable', 'string', 'max:255'],
|
|
'convoy_type' => ['nullable', Rule::in(['local', 'national', 'international'])],
|
|
'transport_mode' => ['nullable', Rule::in(['road', 'air', 'sea', 'rail'])],
|
|
'status' => ['nullable', Rule::in(['planned', 'in_progress', 'completed', 'cancelled'])],
|
|
'planned_start_at' => ['sometimes', 'required', 'date'],
|
|
'estimated_end_at' => ['nullable', 'date'],
|
|
'family_email' => ['nullable', 'email', 'max:255'],
|
|
'automatic_notifications' => ['nullable', 'boolean'],
|
|
'departure_location_selection_mode' => ['nullable', Rule::in(['place', 'manual'])],
|
|
'departure_location_id' => ['nullable', 'exists:client_locations,id'],
|
|
'departure_name' => ['nullable', 'string', 'max:255'],
|
|
'departure_address' => ['nullable', 'string', 'max:255'],
|
|
'departure_city' => ['nullable', 'string', 'max:255'],
|
|
'departure_postal_code' => ['nullable', 'string', 'max:20'],
|
|
'departure_country_code' => ['nullable', 'string', 'size:2'],
|
|
'departure_latitude' => ['nullable', 'numeric', 'between:-90,90'],
|
|
'departure_longitude' => ['nullable', 'numeric', 'between:-180,180'],
|
|
'departure_additional_details' => ['nullable', 'string'],
|
|
'tab_itinerary' => ['nullable', 'boolean'],
|
|
'tab_legal_documents' => ['nullable', 'boolean'],
|
|
'tab_team_resources' => ['nullable', 'boolean'],
|
|
'tab_procedures' => ['nullable', 'boolean'],
|
|
'tab_cost_tracking' => ['nullable', 'boolean'],
|
|
'tab_fuel' => ['nullable', 'boolean'],
|
|
'tab_ceremony' => ['nullable', 'boolean'],
|
|
'tab_thanatopraxy' => ['nullable', 'boolean'],
|
|
'tab_gps_tracking_steps' => ['nullable', 'boolean'],
|
|
'tab_communication' => ['nullable', 'boolean'],
|
|
];
|
|
}
|
|
}
|