473 lines
18 KiB
PHP
473 lines
18 KiB
PHP
@extends('admin.layouts.app')
|
|
|
|
@section('breadcrumb')
|
|
<div>
|
|
<h1 class="page-title fw-medium fs-18 mb-2">
|
|
ایجاد پرواز
|
|
</h1>
|
|
|
|
<nav>
|
|
<ol class="breadcrumb mb-0">
|
|
<li class="breadcrumb-item">
|
|
<a href="{{ route('admin.flights.index') }}">
|
|
مدیریت پروازها
|
|
</a>
|
|
</li>
|
|
|
|
<li class="breadcrumb-item active" aria-current="page">
|
|
ایجاد پرواز
|
|
</li>
|
|
</ol>
|
|
</nav>
|
|
</div>
|
|
@endsection
|
|
|
|
|
|
@section('content')
|
|
|
|
<div class="container-fluid pt-4">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-xl-12">
|
|
|
|
<form
|
|
action="{{ route('admin.flights.store') }}"
|
|
method="POST"
|
|
enctype="multipart/form-data"
|
|
>
|
|
@csrf
|
|
@error('general')
|
|
<div class="alert alert-danger mb-3">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
|
|
|
|
|
|
<div class="card custom-card">
|
|
|
|
<div class="card-header">
|
|
|
|
<div class="card-title">
|
|
ایجاد پرواز
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
<div class="card-body pt-0">
|
|
|
|
<div class="row gy-3">
|
|
|
|
|
|
{{-- Title --}}
|
|
<div class="col-xl-6">
|
|
|
|
<label class="form-label">
|
|
عنوان پرواز
|
|
</label>
|
|
|
|
<input
|
|
type="text"
|
|
class="form-control"
|
|
name="title"
|
|
placeholder="عنوان پرواز را وارد کنید"
|
|
value="{{ old('title') }}"
|
|
>
|
|
|
|
@error('title')
|
|
<span class="text-danger">
|
|
{{ $message }}
|
|
</span>
|
|
@enderror
|
|
|
|
</div>
|
|
|
|
|
|
{{-- Airline --}}
|
|
<div class="col-xl-6">
|
|
|
|
<label class="form-label">
|
|
ایرلاین
|
|
</label>
|
|
|
|
<select
|
|
class="form-control"
|
|
name="airline_id"
|
|
>
|
|
|
|
<option value="">
|
|
یک ایرلاین انتخاب کنید
|
|
</option>
|
|
|
|
@foreach($airlines as $airline)
|
|
|
|
<option
|
|
value="{{ $airline->id }}"
|
|
@selected(old('airline_id') == $airline->id)
|
|
>
|
|
{{ $airline->name }}
|
|
</option>
|
|
|
|
@endforeach
|
|
|
|
</select>
|
|
|
|
@error('airline_id')
|
|
<span class="text-danger">
|
|
{{ $message }}
|
|
</span>
|
|
@enderror
|
|
|
|
</div>
|
|
|
|
|
|
{{-- Departure Airport --}}
|
|
<div class="col-xl-6">
|
|
|
|
<label class="form-label">
|
|
فرودگاه مبدأ
|
|
</label>
|
|
|
|
<select
|
|
class="form-control"
|
|
name="departure_airport_id"
|
|
>
|
|
<option value="">
|
|
فرودگاه مبدأ را انتخاب کنید
|
|
</option>
|
|
|
|
@foreach($airports as $airport)
|
|
<option
|
|
value="{{ $airport->id }}"
|
|
@selected(old('departure_airport_id') == $airport->id)
|
|
>
|
|
{{ $airport->city?->name ?? '-' }}
|
|
-
|
|
{{ $airport->name }}
|
|
</option>
|
|
@endforeach
|
|
</select>
|
|
|
|
@error('departure_airport_id')
|
|
<span class="text-danger">
|
|
{{ $message }}
|
|
</span>
|
|
@enderror
|
|
|
|
@error('departure_airport_id')
|
|
<span class="text-danger">
|
|
{{ $message }}
|
|
</span>
|
|
@enderror
|
|
|
|
</div>
|
|
|
|
|
|
{{-- Arrival Airport --}}
|
|
<div class="col-xl-6">
|
|
|
|
<label class="form-label">
|
|
فرودگاه مقصد
|
|
</label>
|
|
|
|
<select
|
|
class="form-control"
|
|
name="arrival_aiport_id"
|
|
>
|
|
|
|
<option value="">
|
|
فرودگاه مقصد را انتخاب کنید
|
|
</option>
|
|
|
|
@foreach($airports as $airport)
|
|
|
|
<option
|
|
value="{{ $airport->id }}"
|
|
@selected(old('arrival_aiport_id') == $airport->id)
|
|
>
|
|
{{ $airport->city?->name }}
|
|
-
|
|
{{ $airport->name }}
|
|
</option>
|
|
|
|
@endforeach
|
|
|
|
</select>
|
|
|
|
@error('arrival_aiport_id')
|
|
<span class="text-danger">
|
|
{{ $message }}
|
|
</span>
|
|
@enderror
|
|
|
|
</div>
|
|
|
|
|
|
{{-- Flight Type --}}
|
|
<div class="col-xl-6">
|
|
|
|
<label class="form-label">
|
|
نوع پرواز
|
|
</label>
|
|
|
|
<select
|
|
class="form-control"
|
|
name="flight_type"
|
|
>
|
|
|
|
<option value="">
|
|
نوع پرواز را انتخاب کنید
|
|
</option>
|
|
|
|
<option
|
|
value="{{ \App\Enums\FlightType::DEPARTURE->value }}"
|
|
@selected(
|
|
old('flight_type') ==
|
|
\App\Enums\FlightType::DEPARTURE->value
|
|
)
|
|
>
|
|
یکطرفه
|
|
</option>
|
|
|
|
<option
|
|
value="{{ \App\Enums\FlightType::RETURN->value }}"
|
|
@selected(
|
|
old('flight_type') ==
|
|
\App\Enums\FlightType::RETURN->value
|
|
)
|
|
>
|
|
برگشت
|
|
</option>
|
|
|
|
<option
|
|
value="{{ \App\Enums\FlightType::ROUNDTRIP->value }}"
|
|
@selected(
|
|
old('flight_type') ==
|
|
\App\Enums\FlightType::ROUNDTRIP->value
|
|
)
|
|
>
|
|
رفت و برگشت
|
|
</option>
|
|
|
|
</select>
|
|
|
|
@error('flight_type')
|
|
<span class="text-danger">
|
|
{{ $message }}
|
|
</span>
|
|
@enderror
|
|
|
|
</div>
|
|
|
|
|
|
{{-- Status --}}
|
|
<div class="col-xl-6">
|
|
|
|
<label class="form-label">
|
|
وضعیت
|
|
</label>
|
|
<select
|
|
class="form-control"
|
|
name="status"
|
|
>
|
|
<option value="">
|
|
وضعیت را انتخاب کنید
|
|
</option>
|
|
|
|
<option
|
|
value="{{ \App\Enums\FlightStatus::ENABLE->value }}"
|
|
@selected(old('status') == \App\Enums\FlightStatus::ENABLE->value)
|
|
>
|
|
فعال
|
|
</option>
|
|
|
|
<option
|
|
value="{{ \App\Enums\FlightStatus::DISABLE->value }}"
|
|
@selected(old('status') == \App\Enums\FlightStatus::DISABLE->value)
|
|
>
|
|
غیرفعال
|
|
</option>
|
|
</select>
|
|
|
|
@error('status')
|
|
<span class="text-danger">
|
|
{{ $message }}
|
|
</span>
|
|
@enderror
|
|
|
|
@error('status')
|
|
<span class="text-danger">
|
|
{{ $message }}
|
|
</span>
|
|
@enderror
|
|
|
|
</div>
|
|
|
|
|
|
{{-- Departure Time --}}
|
|
<div class="col-xl-6">
|
|
|
|
<label class="form-label">
|
|
زمان حرکت
|
|
</label>
|
|
|
|
<input
|
|
type="text"
|
|
class="form-control"
|
|
name="departure_time_jalali"
|
|
id="departure_time_jalali"
|
|
data-jdp
|
|
data-jdp-target-value-input="#departure_time_gregorian"
|
|
data-jdp-target-value-type="gregorian"
|
|
autocomplete="off"
|
|
placeholder="مثلاً 1403/05/29 14:30"
|
|
value="{{ old('departure_time_jalali') }}"
|
|
>
|
|
|
|
<input
|
|
type="hidden"
|
|
name="departure_time"
|
|
id="departure_time_gregorian"
|
|
value="{{ old('departure_time') }}"
|
|
>
|
|
|
|
@error('departure_time')
|
|
<span class="text-danger">
|
|
{{ $message }}
|
|
</span>
|
|
@enderror
|
|
|
|
</div>
|
|
|
|
|
|
{{-- Price --}}
|
|
<div class="col-xl-6">
|
|
|
|
<label class="form-label">
|
|
قیمت
|
|
</label>
|
|
|
|
<input
|
|
type="number"
|
|
class="form-control"
|
|
name="price"
|
|
placeholder="قیمت را وارد کنید"
|
|
value="{{ old('price') }}"
|
|
>
|
|
|
|
@error('price')
|
|
<span class="text-danger">
|
|
{{ $message }}
|
|
</span>
|
|
@enderror
|
|
|
|
</div>
|
|
|
|
|
|
{{-- Summary --}}
|
|
<div class="col-xl-12">
|
|
|
|
<label class="form-label">
|
|
توضیحات
|
|
</label>
|
|
|
|
<textarea
|
|
class="form-control"
|
|
name="summary"
|
|
rows="4"
|
|
placeholder="توضیحات پرواز را وارد کنید"
|
|
>{{ old('summary') }}</textarea>
|
|
|
|
@error('summary')
|
|
<span class="text-danger">
|
|
{{ $message }}
|
|
</span>
|
|
@enderror
|
|
|
|
</div>
|
|
|
|
|
|
{{-- Flight Image --}}
|
|
<div class="col-xl-12">
|
|
|
|
<label class="form-label">
|
|
تصویر پرواز
|
|
</label>
|
|
|
|
<input
|
|
type="file"
|
|
class="form-control"
|
|
name="image"
|
|
id="imageInput"
|
|
accept=".jpg,.jpeg,.png,.webp"
|
|
>
|
|
|
|
@error('image')
|
|
<span class="text-danger">
|
|
{{ $message }}
|
|
</span>
|
|
@enderror
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
<div class="card-footer text-end">
|
|
|
|
<button
|
|
type="submit"
|
|
class="btn btn-primary"
|
|
>
|
|
ایجاد پرواز
|
|
</button>
|
|
|
|
<a
|
|
href="{{ route('admin.flights.index') }}"
|
|
class="btn btn-light"
|
|
>
|
|
انصراف
|
|
</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
@push('js')
|
|
|
|
<link
|
|
rel="stylesheet"
|
|
href="https://unpkg.com/@majidh1/jalalidatepicker/dist/jalalidatepicker.min.css"
|
|
>
|
|
|
|
<script
|
|
src="https://unpkg.com/@majidh1/jalalidatepicker/dist/jalalidatepicker.min.js">
|
|
</script>
|
|
|
|
<script>
|
|
jalaliDatepicker.startWatch({
|
|
date: true,
|
|
time: true,
|
|
hasSecond: false,
|
|
targetValueInput: 'attr',
|
|
targetValueType: 'attr'
|
|
});
|
|
</script>
|
|
|
|
@endpush
|
|
|
|
@endsection
|
|
|