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)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ namespace App\Observers;
|
||||
use App\Models\ActivityLog;
|
||||
use App\Models\MemberStatusLog;
|
||||
use App\Models\User;
|
||||
use App\Services\NotificationService;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class UserObserver
|
||||
@@ -28,6 +29,13 @@ class UserObserver
|
||||
'model_id' => $user->id,
|
||||
'description' => "Status anggota {$user->name} diubah dari {$user->getOriginal('status')} menjadi {$user->status}",
|
||||
]);
|
||||
|
||||
NotificationService::send(
|
||||
$user,
|
||||
'Status Keanggotaan Diubah',
|
||||
"Status Anda diubah menjadi {$user->status}" . ($user->inactive_reason ? ": {$user->inactive_reason}" : '.'),
|
||||
$user->status === 'aktif' ? 'success' : 'warning'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user