chore: update document approval workflow and bug fixes
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\BiddingManagement\Http\Controllers;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Modules\BiddingManagement\Enums\BidPackageStatus;
|
||||
use Modules\BiddingManagement\Models\BidScore;
|
||||
use Modules\BiddingManagement\Models\BidSubmission;
|
||||
|
||||
class BidScoreController extends Controller
|
||||
{
|
||||
public function store(Request $request, BidSubmission $submission)
|
||||
{
|
||||
$package = $submission->invitation->package;
|
||||
|
||||
abort_unless($package->status === BidPackageStatus::Evaluating, 403, 'Package is not in evaluation phase.');
|
||||
|
||||
$validated = $request->validate([
|
||||
'scores' => 'required|array',
|
||||
'scores.*.criteria_id' => 'required|integer|exists:bid_criteria,id',
|
||||
'scores.*.score' => 'required|numeric|min:0|max:100',
|
||||
'scores.*.notes' => 'nullable|string|max:500',
|
||||
]);
|
||||
|
||||
foreach ($validated['scores'] as $entry) {
|
||||
BidScore::updateOrCreate(
|
||||
[
|
||||
'bid_submission_id' => $submission->id,
|
||||
'bid_criteria_id' => $entry['criteria_id'],
|
||||
],
|
||||
[
|
||||
'evaluated_by' => Auth::id(),
|
||||
'score' => $entry['score'],
|
||||
'notes' => $entry['notes'] ?? null,
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
return back()->with('success', 'Scores saved.');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user