File tree Expand file tree Collapse file tree 3 files changed +36
-2
lines changed
Expand file tree Collapse file tree 3 files changed +36
-2
lines changed Original file line number Diff line number Diff line change 66use BalajiDharma \LaravelMenu \Exceptions \MenuAlreadyExists ;
77use BalajiDharma \LaravelMenu \Exceptions \MenuNotExists ;
88use BalajiDharma \LaravelMenu \Traits \LaravelCategories ;
9+ use BalajiDharma \LaravelMenu \Traits \HasLogsActivity ;
910use Illuminate \Database \Eloquent \Model ;
1011use Illuminate \Database \Eloquent \Relations \HasMany ;
1112
1213class Menu extends Model
1314{
14- use LaravelCategories;
15+ use LaravelCategories, HasLogsActivity ;
1516
1617 /**
1718 * The attributes that aren't mass assignable.
Original file line number Diff line number Diff line change 55use BalajiDharma \LaravelMenu \Traits \LaravelCategories ;
66use BalajiDharma \LaravelMenu \Traits \MenuTree ;
77use BalajiDharma \LaravelMenu \Traits \SpatiePermission ;
8+ use BalajiDharma \LaravelMenu \Traits \HasLogsActivity ;
89use Illuminate \Database \Eloquent \Model ;
910use Illuminate \Database \Eloquent \Relations \BelongsTo ;
1011
1112class MenuItem extends Model
1213{
13- use LaravelCategories, MenuTree, SpatiePermission;
14+ use LaravelCategories, MenuTree, SpatiePermission, HasLogsActivity ;
1415
1516 /**
1617 * The attributes that aren't mass assignable.
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace BalajiDharma \LaravelMenu \Traits ;
4+
5+ if (class_exists (\Spatie \Activitylog \ActivitylogServiceProvider::class)) {
6+ trait HasLogsActivity
7+ {
8+ use \Spatie \Activitylog \Traits \LogsActivity;
9+
10+ public $ hasLogsActivity = true ;
11+
12+ public function getActivitylogOptions (): \Spatie \Activitylog \LogOptions
13+ {
14+ return \Spatie \Activitylog \LogOptions::defaults ()
15+ ->logAll ()
16+ ->logExcept (['created_at ' , 'updated_at ' ])
17+ ->logOnlyDirty ()
18+ ->dontSubmitEmptyLogs ()
19+ ->setDescriptionForEvent (fn (string $ eventName ) => "{$ this ->getActivitylogModelName ()} has been {$ eventName }" );
20+ }
21+
22+ public function getActivitylogModelName (): string
23+ {
24+ return class_basename ($ this );
25+ }
26+ }
27+ } else {
28+ trait HasLogsActivity
29+ {
30+ public $ hasLogsActivity = false ;
31+ }
32+ }
You can’t perform that action at this time.
0 commit comments