fix:change admin routes and flight blade
This commit is contained in:
+11
-12
@@ -1,15 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
|
||||||
* Created by Reliese Model.
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App\Models;
|
namespace App\Models;
|
||||||
|
|
||||||
use App\Enums\AdminStatus;
|
use App\Enums\AdminStatus;
|
||||||
use Illuminate\Foundation\Auth\User as Authenticatable;
|
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use App\Models\Permission;
|
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class Admin
|
* Class Admin
|
||||||
@@ -24,11 +19,12 @@ use Illuminate\Database\Eloquent\Model;
|
|||||||
* @property Carbon $created_at
|
* @property Carbon $created_at
|
||||||
* @property Carbon $updated_at
|
* @property Carbon $updated_at
|
||||||
*
|
*
|
||||||
* @package App\Models
|
* @property-read AdminPermission|null $permission
|
||||||
*/
|
*/
|
||||||
class Admin extends Authenticatable
|
class Admin extends Authenticatable
|
||||||
{
|
{
|
||||||
protected $table = 'admins';
|
protected $table = 'admins';
|
||||||
|
|
||||||
public static $snakeAttributes = false;
|
public static $snakeAttributes = false;
|
||||||
|
|
||||||
protected $casts = [
|
protected $casts = [
|
||||||
@@ -37,7 +33,7 @@ class Admin extends Authenticatable
|
|||||||
];
|
];
|
||||||
|
|
||||||
protected $hidden = [
|
protected $hidden = [
|
||||||
'password'
|
'password',
|
||||||
];
|
];
|
||||||
|
|
||||||
protected $fillable = [
|
protected $fillable = [
|
||||||
@@ -47,7 +43,7 @@ class Admin extends Authenticatable
|
|||||||
'email',
|
'email',
|
||||||
'username',
|
'username',
|
||||||
'password',
|
'password',
|
||||||
'status'
|
'status',
|
||||||
];
|
];
|
||||||
|
|
||||||
public function file()
|
public function file()
|
||||||
@@ -55,9 +51,12 @@ class Admin extends Authenticatable
|
|||||||
return $this->belongsTo(File::class, 'file_id');
|
return $this->belongsTo(File::class, 'file_id');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function permission()
|
public function permission()
|
||||||
{
|
{
|
||||||
return $this->hasOne(AdminPermission::class);
|
return $this->hasOne(
|
||||||
|
AdminPermission::class,
|
||||||
|
'admin_id',
|
||||||
|
'id'
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,28 @@
|
|||||||
<div class="col-md-6 col-lg-3">
|
<div class="col-md-6 col-lg-3">
|
||||||
|
|
||||||
<div class="flight-item">
|
<div class="flight-item">
|
||||||
|
|
||||||
|
{{-- Flight Image --}}
|
||||||
<div class="flight-img">
|
<div class="flight-img">
|
||||||
|
|
||||||
|
@if($flight->file?->path)
|
||||||
|
|
||||||
|
<img
|
||||||
|
src="{{ asset('storage/' . $flight->file->path) }}"
|
||||||
|
alt="{{ $flight->title }}"
|
||||||
|
>
|
||||||
|
|
||||||
|
@else
|
||||||
|
|
||||||
<img
|
<img
|
||||||
src="{{ asset('assets/img/flight/01.jpg') }}"
|
src="{{ asset('assets/img/flight/01.jpg') }}"
|
||||||
alt="{{ $flight->title }}"
|
alt="{{ $flight->title }}"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
@endif
|
||||||
|
|
||||||
|
|
||||||
|
{{-- Favorite --}}
|
||||||
@if(auth()->check())
|
@if(auth()->check())
|
||||||
|
|
||||||
<form
|
<form
|
||||||
@@ -40,56 +55,117 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
{{-- Flight Content --}}
|
||||||
<div class="flight-content">
|
<div class="flight-content">
|
||||||
|
|
||||||
|
{{-- Title --}}
|
||||||
<div class="flight-title">
|
<div class="flight-title">
|
||||||
|
|
||||||
<div class="flight-title-info">
|
<div class="flight-title-info">
|
||||||
|
|
||||||
|
{{-- Airline Logo --}}
|
||||||
|
@if($flight->airline?->file?->path)
|
||||||
|
|
||||||
|
<img
|
||||||
|
src="{{ asset('storage/' . $flight->airline->file->path) }}"
|
||||||
|
alt="{{ $flight->airline->name }}"
|
||||||
|
>
|
||||||
|
|
||||||
|
@else
|
||||||
|
|
||||||
<img
|
<img
|
||||||
src="{{ asset('assets/img/flight/airline-1.png') }}"
|
src="{{ asset('assets/img/flight/airline-1.png') }}"
|
||||||
alt=""
|
alt="{{ $flight->airline?->name ?? 'Airline' }}"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
@endif
|
||||||
|
|
||||||
|
|
||||||
<h4>
|
<h4>
|
||||||
<a href="{{ route('flights.show', $flight->id) }}">
|
<a href="{{ route('flights.show', $flight->id) }}">
|
||||||
|
|
||||||
{{ $flight->departureAirport->city->name }}
|
{{ $flight->departureAirport?->city?->name ?? '-' }}
|
||||||
|
|
||||||
<i class="far fa-exchange"></i>
|
<i class="far fa-exchange"></i>
|
||||||
|
|
||||||
{{ $flight->arrivalAirport->city->name }}
|
{{ $flight->arrivalAirport?->city?->name ?? '-' }}
|
||||||
|
|
||||||
</a>
|
</a>
|
||||||
</h4>
|
</h4>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
{{-- Date --}}
|
||||||
<p class="flight-date">
|
<p class="flight-date">
|
||||||
|
|
||||||
<i class="far fa-calendar-days"></i>
|
<i class="far fa-calendar-days"></i>
|
||||||
|
|
||||||
{{ $flight->departure_time->toJalali()->format('Y/m/d H:i') }}
|
{{ $flight->departure_time?->toJalali()->format('Y/m/d H:i') ?? '-' }}
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
{{-- Flight Type --}}
|
||||||
|
<div class="mb-2">
|
||||||
|
|
||||||
|
@if($flight->flight_type === \App\Enums\FlightType::DEPARTURE)
|
||||||
|
|
||||||
|
<span class="badge bg-primary">
|
||||||
|
یکطرفه
|
||||||
|
</span>
|
||||||
|
|
||||||
|
@elseif($flight->flight_type === \App\Enums\FlightType::RETURN)
|
||||||
|
|
||||||
|
<span class="badge bg-info">
|
||||||
|
برگشت
|
||||||
|
</span>
|
||||||
|
|
||||||
|
@elseif($flight->flight_type === \App\Enums\FlightType::ROUNDTRIP)
|
||||||
|
|
||||||
|
<span class="badge bg-warning">
|
||||||
|
رفت و برگشت
|
||||||
|
</span>
|
||||||
|
|
||||||
|
@else
|
||||||
|
|
||||||
|
<span class="badge bg-secondary">
|
||||||
|
نامشخص
|
||||||
|
</span>
|
||||||
|
|
||||||
|
@endif
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
{{-- Bottom --}}
|
||||||
<div class="flight-bottom">
|
<div class="flight-bottom">
|
||||||
|
|
||||||
|
{{-- Price --}}
|
||||||
<div class="flight-price">
|
<div class="flight-price">
|
||||||
|
|
||||||
از
|
از
|
||||||
|
|
||||||
<span>
|
<span>
|
||||||
{{ number_format($flight->price) }} تومان
|
{{ number_format($flight->price) }}
|
||||||
|
تومان
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
{{-- Details --}}
|
||||||
<div class="flight-text-btn">
|
<div class="flight-text-btn">
|
||||||
|
|
||||||
<a href="{{ route('flights.show', $flight->id) }}">
|
<a href="{{ route('flights.show', $flight->id) }}">
|
||||||
|
|
||||||
نمایش جزئیات
|
نمایش جزئیات
|
||||||
|
|
||||||
<i class="fas fa-arrow-left"></i>
|
<i class="fas fa-arrow-left"></i>
|
||||||
|
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -99,4 +175,5 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+73
-1
@@ -3,7 +3,10 @@
|
|||||||
use App\Http\Controllers\Admin\AdminController;
|
use App\Http\Controllers\Admin\AdminController;
|
||||||
use App\Http\Controllers\Admin\AuthController;
|
use App\Http\Controllers\Admin\AuthController;
|
||||||
use App\Http\Controllers\Admin\DashboardController;
|
use App\Http\Controllers\Admin\DashboardController;
|
||||||
use App\Http\Controllers\FlightController;
|
use App\Http\Controllers\Admin\FlightController;
|
||||||
|
use App\Http\Controllers\Admin\TourController;
|
||||||
|
use App\Http\Controllers\Admin\UserController;
|
||||||
|
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
Route::prefix('admin')->name('admin.')->group(function () {
|
Route::prefix('admin')->name('admin.')->group(function () {
|
||||||
@@ -97,6 +100,75 @@ Route::prefix('admin')->name('admin.')->group(function () {
|
|||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
Route::prefix('flights')
|
||||||
|
->name('flights.')
|
||||||
|
->controller(FlightController::class)
|
||||||
|
->group(function () {
|
||||||
|
|
||||||
|
Route::get('/', 'index')
|
||||||
|
->name('index')
|
||||||
|
->middleware('admin.permission:flight_view');
|
||||||
|
|
||||||
|
Route::get('create', 'create')
|
||||||
|
->name('create')
|
||||||
|
->middleware('admin.permission:flight_create');
|
||||||
|
|
||||||
|
Route::post('store', 'store')
|
||||||
|
->name('store')
|
||||||
|
->middleware('admin.permission:flight_create');
|
||||||
|
|
||||||
|
Route::prefix('{flight}')->group(function () {
|
||||||
|
|
||||||
|
Route::get('edit', 'edit')
|
||||||
|
->name('edit')
|
||||||
|
->middleware('admin.permission:flight_edit');
|
||||||
|
|
||||||
|
Route::put('update', 'update')
|
||||||
|
->name('update')
|
||||||
|
->middleware('admin.permission:flight_edit');
|
||||||
|
|
||||||
|
Route::delete('destroy', 'destroy')
|
||||||
|
->name('destroy')
|
||||||
|
->middleware('admin.permission:flight_delete');
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
Route::prefix('tours')
|
||||||
|
->name('tours.')
|
||||||
|
->controller(TourController::class)
|
||||||
|
->group(function () {
|
||||||
|
|
||||||
|
Route::get('/', 'index')
|
||||||
|
->name('index')
|
||||||
|
->middleware('admin.permission:tour_view');
|
||||||
|
|
||||||
|
Route::get('create', 'create')
|
||||||
|
->name('create')
|
||||||
|
->middleware('admin.permission:tour_create');
|
||||||
|
|
||||||
|
Route::post('store', 'store')
|
||||||
|
->name('store')
|
||||||
|
->middleware('admin.permission:tour_create');
|
||||||
|
|
||||||
|
Route::prefix('{tour}')->group(function () {
|
||||||
|
|
||||||
|
Route::get('edit', 'edit')
|
||||||
|
->name('edit')
|
||||||
|
->middleware('admin.permission:tour_edit');
|
||||||
|
|
||||||
|
Route::put('update', 'update')
|
||||||
|
->name('update')
|
||||||
|
->middleware('admin.permission:tour_edit');
|
||||||
|
|
||||||
|
Route::delete('destroy', 'destroy')
|
||||||
|
->name('destroy')
|
||||||
|
->middleware('admin.permission:tour_delete');
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user