fix:change admin routes and flight blade

This commit is contained in:
2026-08-20 16:48:53 +03:30
parent e30ccbdbef
commit 81cceb761c
3 changed files with 188 additions and 40 deletions
+11 -12
View File
@@ -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'
);
}
}
+82 -5
View File
@@ -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
View File
@@ -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');
});
});
});