From 2adff37550bea17395a6a05b38d19dcf2f0bb903 Mon Sep 17 00:00:00 2001 From: Nicholas Ciechanowski Date: Mon, 16 Oct 2023 18:22:18 +1100 Subject: [PATCH] feat: better automatic descriptions --- app/Models/Quote.php | 15 +++++++++++++++ app/Models/RequestedQuote.php | 15 +++++++++++++++ app/Models/User.php | 15 +++++++++++++++ .../views/livewire/pages/admin/logs.blade.php | 9 +-------- .../views/livewire/pages/auth/login.blade.php | 2 +- .../livewire/pages/auth/reset-password.blade.php | 2 +- .../profile/update-password-form.blade.php | 2 +- 7 files changed, 49 insertions(+), 11 deletions(-) diff --git a/app/Models/Quote.php b/app/Models/Quote.php index 5387dea..0c0bf07 100644 --- a/app/Models/Quote.php +++ b/app/Models/Quote.php @@ -5,6 +5,7 @@ namespace App\Models; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; use Spatie\Activitylog\LogOptions; +use Spatie\Activitylog\Models\Activity; use Spatie\Activitylog\Traits\LogsActivity; /** @@ -30,6 +31,20 @@ class Quote extends Model ->log("Requested quote: $this->quote"); } + public function tapActivity(Activity $activity, string $eventName) + { + switch ($eventName) { + case 'created': + $activity->description = "Quote created: {$this->quote}"; + return; + case 'deleted': + $activity->description = "Quote deleted: {$this->quote}"; + return; + default; + return; + } + } + public function getActivityLogOptions(): LogOptions { return LogOptions::defaults() diff --git a/app/Models/RequestedQuote.php b/app/Models/RequestedQuote.php index 4a3b2cc..53e29dc 100644 --- a/app/Models/RequestedQuote.php +++ b/app/Models/RequestedQuote.php @@ -6,6 +6,7 @@ use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; use Spatie\Activitylog\Facades\LogBatch; use Spatie\Activitylog\LogOptions; +use Spatie\Activitylog\Models\Activity; use Spatie\Activitylog\Traits\LogsActivity; /** @@ -37,6 +38,20 @@ class RequestedQuote extends Model $this->delete(); } + public function tapActivity(Activity $activity, string $eventName) + { + switch ($eventName) { + case 'created': + $activity->description = "Quote created: {$this->quote}"; + return; + case 'deleted': + $activity->description = "Quote deleted: {$this->quote}"; + return; + default; + return; + } + } + public function getActivityLogOptions(): LogOptions { return LogOptions::defaults() diff --git a/app/Models/User.php b/app/Models/User.php index 54c6a75..cdc39e7 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -6,6 +6,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Spatie\Activitylog\LogOptions; +use Spatie\Activitylog\Models\Activity; use Spatie\Activitylog\Traits\LogsActivity; /** @@ -67,6 +68,20 @@ class User extends Authenticatable return "$this->firstname $this->lastname"; } + public function tapActivity(Activity $activity, string $eventName) + { + switch ($eventName) { + case 'created': + $activity->description = "User created: {$this->full_name}"; + return; + case 'deleted': + $activity->description = "User deleted: {$this->full_name}"; + return; + default; + return; + } + } + public function getActivityLogOptions(): LogOptions { return LogOptions::defaults() diff --git a/resources/views/livewire/pages/admin/logs.blade.php b/resources/views/livewire/pages/admin/logs.blade.php index 1947160..d0e9703 100644 --- a/resources/views/livewire/pages/admin/logs.blade.php +++ b/resources/views/livewire/pages/admin/logs.blade.php @@ -71,14 +71,7 @@ new #[Layout('layouts.app')] class extends Component {{ \Illuminate\Support\Str::headline($log->event) }} - @switch($log->subject_type) - @case(Quote::class) - @case(RequestedQuote::class) - {{ $log?->subject?->quote }} - @break - @default - {{ $log->description }} - @endswitch + {{ $log->description }} {{ $log->getExtraProperty('ip') }} diff --git a/resources/views/livewire/pages/auth/login.blade.php b/resources/views/livewire/pages/auth/login.blade.php index 74d5354..6236ee5 100644 --- a/resources/views/livewire/pages/auth/login.blade.php +++ b/resources/views/livewire/pages/auth/login.blade.php @@ -44,7 +44,7 @@ new #[Layout('layouts.guest')] class extends Component activity() ->performedOn(auth()->user()) ->event('access') - ->log('login'); + ->log('User logged in'); $this->redirect( session('url.intended', RouteServiceProvider::HOME), diff --git a/resources/views/livewire/pages/auth/reset-password.blade.php b/resources/views/livewire/pages/auth/reset-password.blade.php index 8ccb2cf..7746ffb 100644 --- a/resources/views/livewire/pages/auth/reset-password.blade.php +++ b/resources/views/livewire/pages/auth/reset-password.blade.php @@ -63,7 +63,7 @@ new #[Layout('layouts.guest')] class extends Component activity() ->event('updated') - ->log('password reset'); + ->log('Password reset'); session()->flash('status', __($status)); diff --git a/resources/views/livewire/profile/update-password-form.blade.php b/resources/views/livewire/profile/update-password-form.blade.php index 185e3b7..9df9c4f 100644 --- a/resources/views/livewire/profile/update-password-form.blade.php +++ b/resources/views/livewire/profile/update-password-form.blade.php @@ -35,7 +35,7 @@ new class extends Component activity() ->event('updated') - ->log('password updated'); + ->log('Password updated'); $this->reset('current_password', 'password', 'password_confirmation');