From 5cbbb11ee60abf7f99bd2f789f744d0a90796477 Mon Sep 17 00:00:00 2001 From: Admin Date: Thu, 20 Aug 2026 08:11:43 -0700 Subject: [PATCH] feat: complete flights in admin side --- .../Commands/AdminGeneratorCommand.php | 66 ++++ .../views/admin/flights/create.blade.php | 359 +++++++++++++++++ resources/views/admin/flights/edit.blade.php | 367 +++++++++++++++++- resources/views/admin/flights/index.blade.php | 320 ++++++++++++++- .../views/admin/layouts/sidebar.blade.php | 28 +- resources/views/components/flight.blade.php | 67 ++-- 6 files changed, 1144 insertions(+), 63 deletions(-) create mode 100644 app/Console/Commands/AdminGeneratorCommand.php create mode 100644 resources/views/admin/flights/create.blade.php diff --git a/app/Console/Commands/AdminGeneratorCommand.php b/app/Console/Commands/AdminGeneratorCommand.php new file mode 100644 index 0000000..a8a0fea --- /dev/null +++ b/app/Console/Commands/AdminGeneratorCommand.php @@ -0,0 +1,66 @@ + 'Admin', + 'username' => 'admin', + 'password' => Hash::make('12345678'), + 'status' => AdminStatus::ENABLE + ]); + + AdminPermission::create([ + 'admin_id' => $admin->id, + + 'flight_create' => true, + 'flight_edit' => true, + 'flight_delete' => true, + + 'tour_create' => true, + 'tour_edit' => true, + 'tour_delete' => true, + + 'booking_view' => true, + 'booking_edit' => true, + 'booking_delete' => true, + + 'user_view' => true, + 'user_edit' => true, + 'user_delete' => true, + + 'admin_view' => true, + 'admin_create' => true, + 'admin_edit' => true, + 'admin_delete' => true, + ]); + + + $this->info('Admin created successfully'); + } +} diff --git a/resources/views/admin/flights/create.blade.php b/resources/views/admin/flights/create.blade.php new file mode 100644 index 0000000..f9860ae --- /dev/null +++ b/resources/views/admin/flights/create.blade.php @@ -0,0 +1,359 @@ +@extends('admin.layouts.app') + +@section('content') +
+
+ +
+
+ +
+ + @csrf + + @error('general') + {{ $message }} + @enderror + +
+ +
+
+ ایجاد پرواز +
+
+ +
+ +
+ + +
+ + + + + @error('title') + {{ $message }} + @enderror +
+ + + +
+ + + + + @error('airline_id') + {{ $message }} + @enderror +
+ + + +
+ + + + + @error('flight_type') + {{ $message }} + @enderror +
+ + + +
+ + + + + @error('departure_airport_id') + {{ $message }} + @enderror +
+ + + +
+ + + + + @error('arrival_airport_id') + {{ $message }} + @enderror +
+ + + +
+ + + + + + + @error('departure_time') + {{ $message }} + @enderror +
+ + + +
+ + + + + @error('price') + {{ $message }} + @enderror +
+ + + +
+ + + + + @error('capacity') + {{ $message }} + @enderror +
+ + + +
+ + + + + @error('status') + {{ $message }} + @enderror +
+ + + +
+ + + + + @error('summary') + {{ $message }} + @enderror +
+ + + +
+ + + + + @error('description') + {{ $message }} + @enderror +
+ + + +
+ + + + + + @error('image') + {{ $message }} + @enderror + +
+ +
+ +
+ + + +
+ +
+ +
+
+ +
+
+ + + + + +@endsection diff --git a/resources/views/admin/flights/edit.blade.php b/resources/views/admin/flights/edit.blade.php index 4f81a43..fd46586 100644 --- a/resources/views/admin/flights/edit.blade.php +++ b/resources/views/admin/flights/edit.blade.php @@ -1,18 +1,351 @@ @extends('admin.layouts.app') -@section('breadcrumb')

{{ isset($flight) ? 'ویرایش پرواز' : 'درج پرواز' }}

اطلاعات مورد نیاز سفر
@endsection -@section('content')
@include('admin.partials.errors') -
@csrf @if(isset($flight)) @method('PUT') @endif -
اطلاعات پرواز
-
-
-
-
-
-
تاریخ حرکت نباید قبل از امروز باشد.
-
-
-
-
-
تصویر سفر
تصویر اختیاری است.
-
@endsection -@push('scripts')@endpush + +@section('content') +
+
+ +
+
+ + @error('error') + {{ $message }} + @enderror + + +
+ @csrf + @method('put') + +
+ +
+
+ ویرایش پرواز +
+
+ +
+ +
+ + +
+ + + + @error('title') + {{ $message }} + @enderror +
+ + + +
+ + + + + @error('airline_id') + {{ $message }} + @enderror +
+ + + +
+ + + + + @error('flight_type') + {{ $message }} + @enderror +
+ + + +
+ + + + + @error('departure_airport_id') + {{ $message }} + @enderror +
+ + + +
+ + + + + @error('arrival_airport_id') + {{ $message }} + @enderror +
+ + + +
+ + + + + + + @error('departure_time') + {{ $message }} + @enderror +
+ + +
+ + + + + @error('price') + {{ $message }} + @enderror +
+ + + +
+ + + + + @error('capacity') + {{ $message }} + @enderror +
+ + + +
+ + + + + @error('status') + {{ $message }} + @enderror +
+ + + +
+ + + + + @error('summary') + {{ $message }} + @enderror +
+ + + +
+ + + + + @error('description') + {{ $message }} + @enderror +
+ + + +
+ + + + + @error('image') + {{ $message }} + @enderror + + @if($flight->file) +
+ {{ $flight->title }} +
+ @endif + +
+ +
+ +
+ + + +
+ +
+ +
+
+ +
+
+ + + + + +@endsection diff --git a/resources/views/admin/flights/index.blade.php b/resources/views/admin/flights/index.blade.php index 2f5917f..6b80527 100644 --- a/resources/views/admin/flights/index.blade.php +++ b/resources/views/admin/flights/index.blade.php @@ -1,5 +1,317 @@ @extends('admin.layouts.app') -@section('breadcrumb')

مدیریت پروازها

درج، ویرایش، حذف و جستجوی پروازهای داخلی، خارجی و چارتر
@endsection -@section('content')
@include('admin.partials.errors') -
-
@forelse(($flights ?? []) as $flight)@empty@endforelse
عنوان سفرنوعتاریخ حرکتقیمتظرفیتبازدیدوضعیتعملیات
{{ $flight->title }}
#{{ $flight->id }}
@switch((int)$flight->flight_type) @case(1) داخلی @break @case(2) خارجی @break @case(3) چارتر @break @default - @endswitch{{ isset($flight->departure_time) ? $flight->departure_time->toJalali()->format('Y/m/d H:i') : '-' }}{{ number_format($flight->price) }} تومان{{ number_format($flight->capacity) }}{{ number_format($flight->views ?? 0) }}@if($flight->status)فعال@elseغیرفعال@endif
@csrf @method('DELETE')
پروازی ثبت نشده است.
{{ ($flights ?? collect())->links() }}
@endsection + +@section('breadcrumb') +
+

لیست پروازها

+
+ +
+
+@endsection + +@section('content') +
+
+ @error('success') + {{ $message }} + @enderror + + @error('$errors') + {{ $message }} + @enderror +
+
+
+ +
+ +
+
+ +
+ +
+ + + +
+ + + +
+ + @if(auth('admin')->user()->permission?->flight_create) + + @endif + +
+
+ +
+
+
+
+ + + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + @foreach($flights as $flight) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @endforeach + + + +
عکسعنوانایرلایننوع پرواززمان حرکتمبدامقصدقیمتظرفیتوضعیتتاریخ ثبتعملیات
+ + + @if($flight->file?->id) + {{ $flight->title }} + @else + {{ $flight->title }} + @endif + + + + + {{ $flight->title }} + + + {{ $flight->airline?->name}} + + @switch($flight->flight_type) + + @case(0) + + رفت + + @break + + @case(1) + + برگشت + + @break + + @case(2) + + رفت و برگشت + + @break + + @default + - + @endswitch + + {{ $flight->departure_time->toJalali()->format('H:i Y-m-d') }} + + {{ $flight->departureAirport?->city?->name }} + + {{ $flight->arrivalAirport?->city?->name }} + + {{ number_format($flight->price) }} + تومان + + {{ $flight->capacity }} + + @if(\App\Enums\FlightStatus::ENABLE) + + فعال + + @elseif(\App\Enums\FlightStatus::DISABLE) + + غیرفعال + + @endif + + {{ $flight->created_at->toJalali()->format('H:i Y-m-d') }} + +
+ + @if(auth('admin')->user()->permission?->flight_edit) + + + + + + @endif + + + @if(auth('admin')->user()->permission?->flight_delete) + +
+ + @csrf + @method('DELETE') + + + +
+ + @endif + +
+
+ +
+ +
+ + {{ $flights->links() }} + +
+
+ +
+
+@endsection + diff --git a/resources/views/admin/layouts/sidebar.blade.php b/resources/views/admin/layouts/sidebar.blade.php index 38f8cea..0d07bba 100644 --- a/resources/views/admin/layouts/sidebar.blade.php +++ b/resources/views/admin/layouts/sidebar.blade.php @@ -86,19 +86,21 @@ -
  • - - - - - مدیریت محصولات - -
  • + @if(auth('admin')->user()->permission?->admin_view) +
  • + + + + + مدیریت پروازها + +
  • + @endif diff --git a/resources/views/components/flight.blade.php b/resources/views/components/flight.blade.php index 59e88e3..e98269d 100644 --- a/resources/views/components/flight.blade.php +++ b/resources/views/components/flight.blade.php @@ -1,36 +1,45 @@ +
    +
    +
    + @if(getFileUrl($flight->file_id)) + {{ $flight->title }} + @else + + @endif -
    -
    -
    - - - - - -
    -
    -
    - -

    {{ $flight->departure_time->toJalali()->format('Y/m/d H:i') }} -

    + + + +
    +
    +
    + -
    -
    - از {{ number_format($flight->price) }} تومان -
    - +

    {{ $flight->departure_time->toJalali()->format('Y/m/d H:i') }} +

    +
    +
    +
    + از {{ number_format($flight->price) }} تومان +
    +
    +