feat: update edit for flights and add create flights in admin panel
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\Admins\FlightPostRequest;
|
||||
use App\Http\Requests\Admins\FlightUpdatePostRequest;
|
||||
use App\Models\Airline;
|
||||
use App\Models\Airport;
|
||||
@@ -75,11 +76,36 @@ class FlightController extends Controller
|
||||
|
||||
public function create()
|
||||
{
|
||||
$airports = Airport::all();
|
||||
$airlines = Airline::query()
|
||||
->orderBy('name')
|
||||
->get();
|
||||
|
||||
return view('admin.flights.create', compact('airports'));
|
||||
$airports = Airport::query()
|
||||
->orderBy('name')
|
||||
->get();
|
||||
|
||||
return view('admin.flights.create', compact('airlines', 'airports'));
|
||||
}
|
||||
public function store(FlightPostRequest $request)
|
||||
{
|
||||
$data = $request->validated();
|
||||
|
||||
Flight::create([
|
||||
'flight_number' => $data['flight_number'],
|
||||
'airline_id' => $data['airline_id'],
|
||||
'origin_airports_id' => $data['origin_airports_id'],
|
||||
'destination_airports_id' => $data['destination_airports_id'],
|
||||
'start_time' => Verta::parse($data['start_time'])->datetime(),
|
||||
'end_time' => Verta::parse($data['end_time'])->datetime(),
|
||||
'price' => $data['price'],
|
||||
'capacity' => $data['capacity'],
|
||||
'status' => $data['status'] ?? 1,
|
||||
]);
|
||||
|
||||
return redirect()
|
||||
->route('admin.flights.index')
|
||||
->with('success', 'پرواز جدید با موفقیت ثبت شد.');
|
||||
}
|
||||
public function destroy(Flight $flight)
|
||||
{
|
||||
$flight->delete();
|
||||
@@ -89,9 +115,6 @@ class FlightController extends Controller
|
||||
->with('success', 'پرواز با موفقیت حذف شد.');
|
||||
}
|
||||
|
||||
public function store()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Admins;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class FlightPostRequest extends FormRequest
|
||||
{
|
||||
public function authorize(): bool
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public function rules(): array
|
||||
{
|
||||
return [
|
||||
'flight_number' => [
|
||||
'required',
|
||||
'string',
|
||||
'max:255'
|
||||
],
|
||||
'airline_id' => [
|
||||
'required',
|
||||
'integer',
|
||||
'exists:airlines,id'
|
||||
],
|
||||
'origin_airports_id' => [
|
||||
'required',
|
||||
'integer',
|
||||
'exists:airports,id'
|
||||
],
|
||||
'destination_airports_id' => [
|
||||
'required',
|
||||
'integer',
|
||||
'exists:airports,id',
|
||||
'different:origin_airports_id'
|
||||
],
|
||||
'start_time' => [
|
||||
'required',
|
||||
],
|
||||
'end_time' => [
|
||||
'required',
|
||||
],
|
||||
'price' => [
|
||||
'required',
|
||||
'integer',
|
||||
'min:0'
|
||||
],
|
||||
'capacity' => [
|
||||
'required',
|
||||
'integer',
|
||||
'min:1'
|
||||
],
|
||||
'status' => [
|
||||
'nullable',
|
||||
'integer'
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
public function messages(): array
|
||||
{
|
||||
return [
|
||||
//
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user