feat: tambah database notifications dan widget activity log di dashboard

This commit is contained in:
2026-04-03 07:57:40 +07:00
parent 060d669d5c
commit 3a0373bc44
7 changed files with 152 additions and 5 deletions
+17
View File
@@ -4,6 +4,7 @@ namespace App\Observers;
use App\Models\Activity;
use App\Models\ActivityLog;
use App\Services\NotificationService;
use Illuminate\Support\Facades\Auth;
class ActivityObserver
@@ -36,6 +37,22 @@ class ActivityObserver
'model_id' => $activity->id,
'description' => "Status kegiatan '{$activity->title}' diubah dari {$old} menjadi {$new}",
]);
if ($new === 'pending') {
NotificationService::toRole('ketua', 'Kegiatan Menunggu Persetujuan',
"Kegiatan \"{$activity->title}\" diajukan untuk disetujui.", 'warning',
route('filament.admin.resources.activities.edit', $activity));
}
if (in_array($new, ['approved', 'rejected'])) {
NotificationService::send(
$activity->creator,
$new === 'approved' ? 'Kegiatan Disetujui' : 'Kegiatan Ditolak',
"Kegiatan \"{$activity->title}\" telah " . ($new === 'approved' ? 'disetujui.' : 'ditolak.'),
$new === 'approved' ? 'success' : 'danger',
route('filament.admin.resources.activities.edit', $activity)
);
}
}
}