From 7660124ed5cb3f98d2b42073482d05f4906683d1 Mon Sep 17 00:00:00 2001 From: Bahar Date: Thu, 20 Aug 2026 16:50:40 +0330 Subject: [PATCH] feat:complete tours for admin side --- app/Enums/TourStatus.php | 1 + app/Http/Controllers/TourController.php | 2 +- app/Models/Tour.php | 27 ++++++++++++++--------- app/Models/TourDate.php | 7 +++--- resources/views/components/tour.blade.php | 9 ++++++-- resources/views/tours/show.blade.php | 9 +++++++- 6 files changed, 37 insertions(+), 18 deletions(-) diff --git a/app/Enums/TourStatus.php b/app/Enums/TourStatus.php index 9421b74..50ab7a4 100644 --- a/app/Enums/TourStatus.php +++ b/app/Enums/TourStatus.php @@ -5,5 +5,6 @@ namespace App\Enums; enum TourStatus:int { case DISABLE = 0; + case ENABLE = 1; } diff --git a/app/Http/Controllers/TourController.php b/app/Http/Controllers/TourController.php index 3edbcf4..2e390e9 100644 --- a/app/Http/Controllers/TourController.php +++ b/app/Http/Controllers/TourController.php @@ -22,7 +22,7 @@ class TourController extends Controller public function show(Tour $tour) { - abort_if($tour->status !== TourStatus::ENABLE->value, 404); + abort_if($tour->status !== TourStatus::ENABLE, 404); $tour->increment('views'); diff --git a/app/Models/Tour.php b/app/Models/Tour.php index 6fea2f6..647c254 100644 --- a/app/Models/Tour.php +++ b/app/Models/Tour.php @@ -6,6 +6,7 @@ namespace App\Models; +use App\Enums\TourStatus; use Carbon\Carbon; use Illuminate\Contracts\Database\Query\Builder; use Illuminate\Database\Eloquent\Attributes\Scope; @@ -37,7 +38,7 @@ use Illuminate\Database\Eloquent\Model; class Tour extends Model { protected $table = 'tours'; - public $timestamps = false; + public static $snakeAttributes = false; @@ -45,24 +46,28 @@ class Tour extends Model 'file_id' => 'int', 'duration' => 'int', 'price' => 'int', - 'status' => 'int', + 'status' => TourStatus::class, 'created_at' => 'datetime', 'views' => 'int', ]; protected $fillable = [ - 'title', - 'summary', - 'descriptions', - 'file_id', - 'origin', - 'destination', - 'duration', + 'title', + 'summary', + 'descriptions', + 'file_id', + 'origin', + 'destination', + 'duration', 'price', 'views', 'status', - 'created_at' - ]; + 'created_at', + 'start_date', + 'end_date', + 'capacity', + 'updated_at' + ]; public function file() { diff --git a/app/Models/TourDate.php b/app/Models/TourDate.php index dc7e86a..07d362c 100644 --- a/app/Models/TourDate.php +++ b/app/Models/TourDate.php @@ -6,13 +6,14 @@ namespace App\Models; +use App\Enums\TourDateStatus; use Carbon\Carbon; use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Model; /** * Class TourDate - * + * * @property int $id * @property int $tour_id * @property Carbon $start_date @@ -22,7 +23,7 @@ use Illuminate\Database\Eloquent\Model; * @property int $status * @property Carbon $created_at * @property Carbon $updated_at - * + * * @property Tour $tour * @property Collection|Booking[] $bookings * @@ -39,7 +40,7 @@ class TourDate extends Model 'end_date' => 'datetime', 'price' => 'int', 'capacity' => 'int', - 'status' => 'int' + 'status' => TourDateStatus::class, ]; protected $fillable = [ diff --git a/resources/views/components/tour.blade.php b/resources/views/components/tour.blade.php index 565f0cc..b9f1c22 100644 --- a/resources/views/components/tour.blade.php +++ b/resources/views/components/tour.blade.php @@ -1,10 +1,14 @@
+
@if(auth()->check()) @@ -27,6 +31,7 @@ @else + - + + @if($tour->file) + {{ $tour->title }} + @endif +