From 206cc76a8b634ed06629a276b49ff1017d78580f Mon Sep 17 00:00:00 2001 From: David Groselj Date: Sat, 15 Feb 2025 16:43:32 +0000 Subject: [PATCH] Fix deleted users being shown as "System" in activity log (#1010) * Show deleted users as "Deleted user" * Update shown icon * Apply suggestions from code review Co-authored-by: Boy132 * Update app/Models/ActivityLog.php Co-authored-by: MartinOscar <40749467+RMartinOscar@users.noreply.github.com> --------- Co-authored-by: Boy132 Co-authored-by: MartinOscar <40749467+RMartinOscar@users.noreply.github.com> --- .../Resources/ActivityResource/Pages/ListActivities.php | 4 ++-- app/Models/ActivityLog.php | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/Filament/Server/Resources/ActivityResource/Pages/ListActivities.php b/app/Filament/Server/Resources/ActivityResource/Pages/ListActivities.php index c020a1e66..2c238b425 100644 --- a/app/Filament/Server/Resources/ActivityResource/Pages/ListActivities.php +++ b/app/Filament/Server/Resources/ActivityResource/Pages/ListActivities.php @@ -42,7 +42,7 @@ class ListActivities extends ListRecords TextColumn::make('user') ->state(function (ActivityLog $activityLog) use ($server) { if (!$activityLog->actor instanceof User) { - return 'System'; + return $activityLog->actor_id === null ? 'System' : 'Deleted user'; } $user = $activityLog->actor->username; @@ -72,7 +72,7 @@ class ListActivities extends ListRecords TextInput::make('user') ->formatStateUsing(function (ActivityLog $activityLog) use ($server) { if (!$activityLog->actor instanceof User) { - return 'System'; + return $activityLog->actor_id === null ? 'System' : 'Deleted user'; } $user = $activityLog->actor->username; diff --git a/app/Models/ActivityLog.php b/app/Models/ActivityLog.php index c4c9e39b5..1e666c9f9 100644 --- a/app/Models/ActivityLog.php +++ b/app/Models/ActivityLog.php @@ -153,7 +153,11 @@ class ActivityLog extends Model implements HasIcon, HasLabel return 'tabler-api'; } - return $this->actor instanceof User ? 'tabler-user' : 'tabler-device-desktop'; + if ($this->actor instanceof User) { + return 'tabler-user'; + } + + return $this->actor_id === null ? 'tabler-device-desktop' : 'tabler-user-off'; } public function getLabel(): string