Align maintenance status flow with approval (planned/in_progress/completed)
This commit is contained in:
@@ -270,7 +270,8 @@ class AssetService
|
||||
'description' => $data['description'] ?? null,
|
||||
'vendor' => $data['vendor'] ?? null,
|
||||
'cost' => $data['cost'] ?? null,
|
||||
'status' => $requireApproval ? 'pending' : 'approved',
|
||||
// Flow: pending (menunggu approval) -> planned (approved, belum mulai) -> in_progress -> completed
|
||||
'status' => $requireApproval ? 'pending' : 'planned',
|
||||
'notes' => $data['notes'] ?? null,
|
||||
'requested_by' => auth()->id(),
|
||||
'approved_by' => $requireApproval ? null : auth()->id(),
|
||||
|
||||
@@ -120,7 +120,7 @@ class ApprovalService
|
||||
|
||||
if ($approvable instanceof AssetMaintenance) {
|
||||
$approvable->update([
|
||||
'status' => 'approved',
|
||||
'status' => 'planned',
|
||||
'approved_by' => auth()->id(),
|
||||
'approved_at' => now(),
|
||||
]);
|
||||
@@ -143,6 +143,13 @@ class ApprovalService
|
||||
|
||||
private function notifyDecision(AssetApprovalRequest $approval, bool $approved, ?string $notes = null): void
|
||||
{
|
||||
// Jika maintenance ditolak, tandai status maintenance sebagai rejected
|
||||
if (!$approved && $approval->approvable instanceof AssetMaintenance) {
|
||||
$approval->approvable->update([
|
||||
'status' => 'rejected',
|
||||
]);
|
||||
}
|
||||
|
||||
if ($approval->requested_by) {
|
||||
$requester = \App\Models\User::find($approval->requested_by);
|
||||
if ($requester) {
|
||||
|
||||
@@ -39,9 +39,10 @@
|
||||
<select name="status" class="form-select" onchange="this.form.submit()">
|
||||
<option value="">Semua</option>
|
||||
<option value="pending" @selected(($status ?? '')==='pending')>Pending</option>
|
||||
<option value="approved" @selected(($status ?? '')==='approved')>Approved</option>
|
||||
<option value="planned" @selected(($status ?? '')==='planned')>Planned</option>
|
||||
<option value="rejected" @selected(($status ?? '')==='rejected')>Rejected</option>
|
||||
<option value="completed" @selected(($status ?? '')==='completed')>Completed</option>
|
||||
<option value="in_progress" @selected(($status ?? '')==='in_progress')>In Progress</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-3 align-self-end">
|
||||
|
||||
Reference in New Issue
Block a user