From 25d9c19a5c0399f5bf8d98c431f93f3ee634ad0d Mon Sep 17 00:00:00 2001 From: Arya Dwi Putra Date: Tue, 2 Dec 2025 14:09:22 +0700 Subject: [PATCH] Align seeded transactions to approved status and add approvals menu --- database/seeders/AssetTransactionSeeder.php | 26 ++++++++++++++++--- .../layouts/components/main-sidebar.blade.php | 11 ++++++++ 2 files changed, 33 insertions(+), 4 deletions(-) diff --git a/database/seeders/AssetTransactionSeeder.php b/database/seeders/AssetTransactionSeeder.php index c061296..30ccec4 100644 --- a/database/seeders/AssetTransactionSeeder.php +++ b/database/seeders/AssetTransactionSeeder.php @@ -5,6 +5,7 @@ namespace Database\Seeders; use App\Models\Asset; use App\Models\AssetLocation; use App\Models\Department; +use App\Models\User; use App\Services\Asset\AssetService; use Illuminate\Database\Seeder; @@ -12,26 +13,43 @@ class AssetTransactionSeeder extends Seeder { public function run(): void { + // Pastikan seeding transaksi menghasilkan data berstatus approved (tidak menggantung di approval). + config(['system.workflow.require_approval.movement' => false]); + config(['system.workflow.require_approval.disposal' => false]); + $service = app(AssetService::class); $assets = Asset::take(10)->get(); $locations = AssetLocation::take(2)->pluck('id')->toArray(); $departments = Department::take(2)->pluck('id')->toArray(); + $approver = User::first(); foreach ($assets as $asset) { if (!empty($locations)) { - $service->move($asset, [ + $movement = $service->move($asset, [ 'to_location_id' => $locations[array_rand($locations)], 'to_department_id' => $departments[array_rand($departments)] ?? null, - 'notes' => 'Seed movement', + 'notes' => 'Seeder movement (approved)', + ]); + // Pastikan status approved (jika ada default/pending) + $movement->update([ + 'status' => 'approved', + 'approved_by' => $approver?->id, + 'approved_at' => now(), ]); } } // Dispose satu aset untuk contoh reverse if ($assets->isNotEmpty()) { - $disposal = $service->dispose($assets->first(), [ + $asset = $assets->first(); + $disposal = $service->dispose($asset, [ 'reason' => 'Rusak berat', - 'notes' => 'Sample disposal', + 'notes' => 'Sample disposal (approved)', + ]); + $disposal->update([ + 'status' => 'approved', + 'approved_by' => $approver?->id, + 'approved_at' => now(), ]); $service->reverseDisposal($disposal, 'Sample reverse'); } diff --git a/resources/views/layouts/components/main-sidebar.blade.php b/resources/views/layouts/components/main-sidebar.blade.php index 751425c..954a3a2 100644 --- a/resources/views/layouts/components/main-sidebar.blade.php +++ b/resources/views/layouts/components/main-sidebar.blade.php @@ -207,6 +207,17 @@ Audit Aset +
  • + + + + + + + Approval + +
  • Laporan