diff --git a/app/Http/Controllers/BookingController.php b/app/Http/Controllers/BookingController.php new file mode 100644 index 0000000..8bb7d1e --- /dev/null +++ b/app/Http/Controllers/BookingController.php @@ -0,0 +1,76 @@ +status !== 1) { + abort(404); + } + + $flight->load([ + 'travelType', + 'origin', + 'destination', + ]); + + return view('account.bookings', compact('flight')); + } + + public function storeFlight(Request $request, Flight $flight) + { + // بررسی فعال بودن پرواز + if ((int) $flight->status !== 1) { + abort(404); + } + + // اعتبارسنجی + $validated = $request->validate([ + 'first_name' => [ + 'required', + 'string', + 'max:100', + ], + + 'last_name' => [ + 'required', + 'string', + 'max:100', + ], + + 'national_code' => [ + 'required', + 'string', + 'max:20', + ], + + 'phone' => [ + 'required', + 'string', + 'max:20', + ], + + 'passengers' => [ + 'required', + 'integer', + 'min:1', + 'max:10', + ], + ]); + + + // فعلاً برای تست + return redirect() + ->route('flights.show', $flight) + ->with( + 'success', + 'درخواست رزرو پرواز با موفقیت ثبت شد.' + ); + } +} diff --git a/app/Models/Booking.php b/app/Models/Booking.php new file mode 100644 index 0000000..fe397a1 --- /dev/null +++ b/app/Models/Booking.php @@ -0,0 +1,84 @@ + 'int', + 'tour_id' => 'int', + 'flight_id' => 'int', + 'passengers' => 'int', + 'price' => 'float', + 'status' => 'int' + ]; + + protected $fillable = [ + 'user_id', + 'tour_id', + 'flight_id', + 'booking_code', + 'first_name', + 'last_name', + 'national_code', + 'mobile', + 'email', + 'passengers', + 'price', + 'status', + 'payment_status', + 'notes' + ]; + + public function user() + { + return $this->belongsTo(User::class); + } + + public function tour() + { + return $this->belongsTo(Tour::class); + } + + public function flight() + { + return $this->belongsTo(Flight::class); + } +} diff --git a/resources/views/booking/flight.blade.php b/resources/views/booking/flight.blade.php new file mode 100644 index 0000000..1aa8ec3 --- /dev/null +++ b/resources/views/booking/flight.blade.php @@ -0,0 +1,202 @@ +@extends('layouts.app') + +@section('content') + +
+ +
+ +
+ +
+ +
+

+ رزرو پرواز +

+
+ +
+ + {{-- اطلاعات پرواز --}} + +
+ +

+ {{ $flight->title }} +

+ +
+ +

+ + شماره پرواز: + + + {{ $flight->flight_number ?? '-' }} +

+ +

+ + مبدا: + + + {{ $flight->origin->name ?? $flight->origin ?? '-' }} +

+ +

+ + مقصد: + + + {{ $flight->destination->name ?? $flight->destination ?? '-' }} +

+ +

+ + تاریخ حرکت: + + + {{ $flight->departure_date ?? '-' }} +

+ +

+ + قیمت: + + + {{ number_format($flight->price ?? 0) }} + + تومان +

+ +
+ + +
+ + + {{-- فرم رزرو --}} + +
+ + @csrf + + +
+ + + + + +
+ + +
+ + + + + +
+ + +
+ + + + + +
+ + +
+ + + + + +
+ + +
+ + + + + +
+ + + + + + بازگشت + + +
+ +
+ +
+ +
+ +
+ +
+ +@endsection