feat: complete flightShow and comments flight

This commit is contained in:
2026-08-17 14:05:14 -07:00
parent 318a79e278
commit ff50fe1a95
3 changed files with 31 additions and 20 deletions
+5 -4
View File
@@ -2,6 +2,7 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Enums\CommentStatus;
use App\Http\Requests\CommentPostRequest; use App\Http\Requests\CommentPostRequest;
use App\Models\Comment; use App\Models\Comment;
use App\Models\Flight; use App\Models\Flight;
@@ -13,14 +14,14 @@ class CommentController extends Controller
{ {
$this->store($request, ['flight_id' => $flight->id]); $this->store($request, ['flight_id' => $flight->id]);
return back()->with('success', 'نظر شما با موفقیت ثبت شد.'); return back()->withErrors([ 'success' => 'نظر شما با موفقیت ثبت شد.' ]);
} }
public function storeTour(CommentPostRequest $request, Tour $tour) public function storeTour(CommentPostRequest $request, Tour $tour)
{ {
$this->store($request, ['tour_id' => $tour->id]); $this->store($request, ['tour_id' => $tour->id]);
return back()->with('success', 'نظر شما با موفقیت ثبت شد.'); return back()->withErrors([ 'success' => 'نظر شما با موفقیت ثبت شد.' ]);
} }
private function store(CommentPostRequest $request, array $relation) private function store(CommentPostRequest $request, array $relation)
@@ -28,12 +29,12 @@ class CommentController extends Controller
$data = $request->validated(); $data = $request->validated();
Comment::create([ Comment::create([
...$relation, $relation,
'user_id' => auth()->id(), 'user_id' => auth()->id(),
'guest_name' => auth()->check() ? null : $data['guest_name'], 'guest_name' => auth()->check() ? null : $data['guest_name'],
'guest_email' => auth()->check() ? null : $data['guest_email'], 'guest_email' => auth()->check() ? null : $data['guest_email'],
'comment' => $data['comment'], 'comment' => $data['comment'],
'status' => 0, 'status' => CommentStatus::APPROVED,
]); ]);
} }
-5
View File
@@ -25,11 +25,6 @@ class CommentPostRequest extends FormRequest
$isGuest = !auth()->check(); $isGuest = !auth()->check();
return [ return [
'rating' => [
'required',
'integer',
'between:1,5',
],
'comment' => [ 'comment' => [
'required', 'required',
+26 -11
View File
@@ -5,20 +5,27 @@
<h5>بازخوردها</h5> <h5>بازخوردها</h5>
@forelse($comments as $comment) @forelse($flight->comments as $comment)
<div class="listing-review-item"> <div class="listing-review-item">
<div class="listing-review-author"> <div class="listing-review-author">
<img <img
src="{{ $comment->user->file ? asset('storage/'.$comment->user->file->path) : asset('assets/img/account/01.jpg') }}" src="{{ $comment->user && $comment->user->file
? asset('storage/'.$comment->user->file->path)
: asset('assets/img/account/01.jpg') }}"
alt alt
> >
<div class="listing-review-author-info"> <div class="listing-review-author-info">
<div> <div>
<h6> <h6>
{{ $comment->user->first_name }} @if($comment->user)
{{ $comment->user->last_name }} {{ $comment->user->first_name }}
{{ $comment->user->last_name }}
@else
{{ $comment->guest_name }}
@endif
</h6> </h6>
<span> <span>
@@ -27,6 +34,7 @@
</span> </span>
</div> </div>
</div> </div>
</div> </div>
<p>{{ $comment->comment }}</p> <p>{{ $comment->comment }}</p>
@@ -41,6 +49,13 @@
<div class="listing-review-form"> <div class="listing-review-form">
<h4>نظر بدهید</h4> <h4>نظر بدهید</h4>
@error('success')
<div class="alert alert-success">
{{ $message }}
</div>
@enderror
<form action="{{ route('flights.comments', $flight) }}" method="POST"> <form action="{{ route('flights.comments', $flight) }}" method="POST">
@csrf @csrf
@@ -67,13 +82,13 @@
@endguest @endguest
<div class="form-group"> <div class="form-group">
<textarea <textarea
name="comment" name="comment"
class="form-control" class="form-control"
cols="30" cols="30"
rows="5" rows="5"
placeholder="نظر خود را بنویسید*" placeholder="نظر خود را بنویسید*"
>{{ old('comment') }}</textarea> >{{ old('comment') }}</textarea>
</div> </div>
<button class="theme-btn" type="submit"> <button class="theme-btn" type="submit">