feat: tambah role editor, workflow post, leaderboard, rekap kehadiran, kategori kas dengan type, seeder lengkap

This commit is contained in:
2026-04-05 06:21:16 +07:00
parent cde63da358
commit 6c23cc8660
40 changed files with 2432 additions and 129 deletions
+27 -7
View File
@@ -2,6 +2,7 @@
namespace Database\Seeders;
use App\Models\Approval;
use App\Models\CashCategory;
use App\Models\CashRecord;
use App\Models\User;
@@ -11,8 +12,8 @@ class CashSeeder extends Seeder
{
public function run(): void
{
$pemasukan = CashCategory::firstOrCreate(['name' => 'pemasukan']);
$pengeluaran = CashCategory::firstOrCreate(['name' => 'pengeluaran']);
$pemasukan = CashCategory::firstOrCreate(['name' => 'Iuran & Donasi'], ['type' => 'pemasukan']);
$pengeluaran = CashCategory::firstOrCreate(['name' => 'Operasional'], ['type' => 'pengeluaran']);
$bendahara = User::role('bendahara')->first();
$ketua = User::role('ketua')->first();
@@ -26,11 +27,30 @@ class CashSeeder extends Seeder
];
foreach ($records as $data) {
CashRecord::create(array_merge($data, [
'created_by' => $bendahara?->id,
'verified_by' => $ketua?->id,
'verified_at' => now()->subDays(1),
]));
$amount = $data['amount'];
// 500rb2jt: butuh approval ketua, belum verified
if ($amount >= 500_000 && $amount <= 2_000_000) {
$record = CashRecord::create(array_merge($data, [
'created_by' => $bendahara?->id,
'verified_by' => null,
'verified_at' => null,
]));
Approval::create([
'model_type' => CashRecord::class,
'model_id' => $record->id,
'required_approvals' => 1,
'status' => 'pending',
]);
} else {
// < 500rb: langsung verified
CashRecord::create(array_merge($data, [
'created_by' => $bendahara?->id,
'verified_by' => $ketua?->id,
'verified_at' => now()->subDays(1),
]));
}
}
}
}