feat: tambah database notifications dan widget activity log di dashboard
This commit is contained in:
@@ -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)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user