This commit is contained in:
Codex
2026-07-10 09:14:42 -05:00
parent e27fcc6c19
commit 63820994f8
55 changed files with 2195 additions and 86 deletions
+36
View File
@@ -0,0 +1,36 @@
<?php
namespace App\Http\Controllers;
use App\Models\WorkOrder;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
class ReviewController extends Controller
{
public function store(Request $request, WorkOrder $workOrder): RedirectResponse
{
abort_unless(in_array($request->user()->id, [$workOrder->buyer_id, $workOrder->provider_id], true), 403);
$revieweeId = $request->user()->id === $workOrder->buyer_id
? $workOrder->provider_id
: $workOrder->buyer_id;
$data = $request->validate([
'rating' => ['required', 'integer', 'min:1', 'max:5'],
'body' => ['nullable', 'string'],
]);
$workOrder->reviews()->updateOrCreate(
[
'reviewer_id' => $request->user()->id,
'reviewee_id' => $revieweeId,
],
$data + [
'review_type' => $request->user()->id === $workOrder->buyer_id ? 'buyer_to_provider' : 'provider_to_buyer',
]
);
return redirect()->route('work-orders.show', $workOrder)->with('status', 'Review saved.');
}
}