fix:change admin routes and flight blade
This commit is contained in:
+11
-12
@@ -1,15 +1,10 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Created by Reliese Model.
|
||||
*/
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use App\Enums\AdminStatus;
|
||||
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||
use Carbon\Carbon;
|
||||
use App\Models\Permission;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||
|
||||
/**
|
||||
* Class Admin
|
||||
@@ -24,11 +19,12 @@ use Illuminate\Database\Eloquent\Model;
|
||||
* @property Carbon $created_at
|
||||
* @property Carbon $updated_at
|
||||
*
|
||||
* @package App\Models
|
||||
* @property-read AdminPermission|null $permission
|
||||
*/
|
||||
class Admin extends Authenticatable
|
||||
{
|
||||
protected $table = 'admins';
|
||||
|
||||
public static $snakeAttributes = false;
|
||||
|
||||
protected $casts = [
|
||||
@@ -37,7 +33,7 @@ class Admin extends Authenticatable
|
||||
];
|
||||
|
||||
protected $hidden = [
|
||||
'password'
|
||||
'password',
|
||||
];
|
||||
|
||||
protected $fillable = [
|
||||
@@ -47,7 +43,7 @@ class Admin extends Authenticatable
|
||||
'email',
|
||||
'username',
|
||||
'password',
|
||||
'status'
|
||||
'status',
|
||||
];
|
||||
|
||||
public function file()
|
||||
@@ -55,9 +51,12 @@ class Admin extends Authenticatable
|
||||
return $this->belongsTo(File::class, 'file_id');
|
||||
}
|
||||
|
||||
|
||||
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="flight-item">
|
||||
|
||||
{{-- Flight Image --}}
|
||||
<div class="flight-img">
|
||||
|
||||
@if($flight->file?->path)
|
||||
|
||||
<img
|
||||
src="{{ asset('storage/' . $flight->file->path) }}"
|
||||
alt="{{ $flight->title }}"
|
||||
>
|
||||
|
||||
@else
|
||||
|
||||
<img
|
||||
src="{{ asset('assets/img/flight/01.jpg') }}"
|
||||
alt="{{ $flight->title }}"
|
||||
>
|
||||
|
||||
@endif
|
||||
|
||||
|
||||
{{-- Favorite --}}
|
||||
@if(auth()->check())
|
||||
|
||||
<form
|
||||
@@ -40,56 +55,117 @@
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
{{-- Flight Content --}}
|
||||
<div class="flight-content">
|
||||
|
||||
{{-- Title --}}
|
||||
<div class="flight-title">
|
||||
|
||||
<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
|
||||
src="{{ asset('assets/img/flight/airline-1.png') }}"
|
||||
alt=""
|
||||
alt="{{ $flight->airline?->name ?? 'Airline' }}"
|
||||
>
|
||||
|
||||
@endif
|
||||
|
||||
|
||||
<h4>
|
||||
<a href="{{ route('flights.show', $flight->id) }}">
|
||||
|
||||
{{ $flight->departureAirport->city->name }}
|
||||
{{ $flight->departureAirport?->city?->name ?? '-' }}
|
||||
|
||||
<i class="far fa-exchange"></i>
|
||||
|
||||
{{ $flight->arrivalAirport->city->name }}
|
||||
{{ $flight->arrivalAirport?->city?->name ?? '-' }}
|
||||
|
||||
</a>
|
||||
</h4>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
{{-- Date --}}
|
||||
<p class="flight-date">
|
||||
|
||||
<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>
|
||||
|
||||
</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">
|
||||
|
||||
{{-- Price --}}
|
||||
<div class="flight-price">
|
||||
|
||||
از
|
||||
|
||||
<span>
|
||||
{{ number_format($flight->price) }} تومان
|
||||
{{ number_format($flight->price) }}
|
||||
تومان
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
{{-- Details --}}
|
||||
<div class="flight-text-btn">
|
||||
|
||||
<a href="{{ route('flights.show', $flight->id) }}">
|
||||
|
||||
نمایش جزئیات
|
||||
|
||||
<i class="fas fa-arrow-left"></i>
|
||||
|
||||
</a>
|
||||
|
||||
</div>
|
||||
@@ -99,4 +175,5 @@
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
+73
-1
@@ -3,7 +3,10 @@
|
||||
use App\Http\Controllers\Admin\AdminController;
|
||||
use App\Http\Controllers\Admin\AuthController;
|
||||
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;
|
||||
|
||||
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