Skip to content

Commit 544af31

Browse files
authored
Merge pull request #109 from denydias/custom-model
Add support for custom Activity model
2 parents a9b77c0 + 1706dd7 commit 544af31

File tree

4 files changed

+18
-17
lines changed

4 files changed

+18
-17
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ Laravel logger is an activity event logger for your Laravel or Lumen application
4646
|Records activity User Agent|
4747
|Records activity Browser Language|
4848
|Records activity referrer|
49+
|Customizable activity model|
4950
|Activity panel dashboard|
5051
|Individual activity drilldown report dashboard|
5152
|Activity Drilldown looks up Id Address meta information|
@@ -160,6 +161,7 @@ LARAVEL_LOGGER_ROLES_ENABLED=true
160161
LARAVEL_LOGGER_ROLES_MIDDLWARE=role:admin
161162
LARAVEL_LOGGER_MIDDLEWARE_ENABLED=true
162163
LARAVEL_LOGGER_MIDDLEWARE_EXCEPT=
164+
LARAVEL_LOGGER_ACTIVITY_MODEL=jeremykenedy\LaravelLogger\App\Models\Activity
163165
LARAVEL_LOGGER_USER_MODEL=App\User
164166
LARAVEL_LOGGER_USER_ID_FIELD=id
165167
LARAVEL_LOGGER_DISABLE_ROUTES=false

src/App/Http/Controllers/LaravelLoggerController.php

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
use Illuminate\Routing\Controller as BaseController;
1111
use jeremykenedy\LaravelLogger\App\Http\Traits\IpAddressDetails;
1212
use jeremykenedy\LaravelLogger\App\Http\Traits\UserAgentDetails;
13-
use jeremykenedy\LaravelLogger\App\Models\Activity;
1413

1514
class LaravelLoggerController extends BaseController
1615
{
@@ -69,14 +68,14 @@ private function mapAdditionalDetails($collectionItems)
6968
public function showAccessLog(Request $request)
7069
{
7170
if (config('LaravelLogger.loggerPaginationEnabled')) {
72-
$activities = Activity::orderBy('created_at', 'desc');
71+
$activities = config('laravel-logger.defaultActivityModel')::orderBy('created_at', 'desc');
7372
if (config('LaravelLogger.enableSearch')) {
7473
$activities = $this->searchActivityLog($activities, $request);
7574
}
7675
$activities = $activities->paginate(config('LaravelLogger.loggerPaginationPerPage'));
7776
$totalActivities = $activities->total();
7877
} else {
79-
$activities = Activity::orderBy('created_at', 'desc');
78+
$activities = config('laravel-logger.defaultActivityModel')::orderBy('created_at', 'desc');
8079

8180
if (config('LaravelLogger.enableSearch')) {
8281
$activities = $this->searchActivityLog($activities, $request);
@@ -108,7 +107,7 @@ public function showAccessLog(Request $request)
108107
*/
109108
public function showAccessLogEntry(Request $request, $id)
110109
{
111-
$activity = Activity::findOrFail($id);
110+
$activity = config('laravel-logger.defaultActivityModel')::findOrFail($id);
112111

113112
$userDetails = config('LaravelLogger.defaultUserModel')::find($activity->userId);
114113
$userAgentDetails = UserAgentDetails::details($activity->userAgent);
@@ -118,12 +117,12 @@ public function showAccessLogEntry(Request $request, $id)
118117
$timePassed = $eventTime->diffForHumans();
119118

120119
if (config('LaravelLogger.loggerPaginationEnabled')) {
121-
$userActivities = Activity::where('userId', $activity->userId)
120+
$userActivities = config('laravel-logger.defaultActivityModel')::where('userId', $activity->userId)
122121
->orderBy('created_at', 'desc')
123122
->paginate(config('LaravelLogger.loggerPaginationPerPage'));
124123
$totalUserActivities = $userActivities->total();
125124
} else {
126-
$userActivities = Activity::where('userId', $activity->userId)
125+
$userActivities = config('laravel-logger.defaultActivityModel')::where('userId', $activity->userId)
127126
->orderBy('created_at', 'desc')
128127
->get();
129128
$totalUserActivities = $userActivities->count();
@@ -155,7 +154,7 @@ public function showAccessLogEntry(Request $request, $id)
155154
*/
156155
public function clearActivityLog(Request $request)
157156
{
158-
$activities = Activity::all();
157+
$activities = config('laravel-logger.defaultActivityModel')::all();
159158
foreach ($activities as $activity) {
160159
$activity->delete();
161160
}
@@ -171,12 +170,12 @@ public function clearActivityLog(Request $request)
171170
public function showClearedActivityLog()
172171
{
173172
if (config('LaravelLogger.loggerPaginationEnabled')) {
174-
$activities = Activity::onlyTrashed()
173+
$activities = config('laravel-logger.defaultActivityModel')::onlyTrashed()
175174
->orderBy('created_at', 'desc')
176175
->paginate(config('LaravelLogger.loggerPaginationPerPage'));
177176
$totalActivities = $activities->total();
178177
} else {
179-
$activities = Activity::onlyTrashed()
178+
$activities = config('laravel-logger.defaultActivityModel')::onlyTrashed()
180179
->orderBy('created_at', 'desc')
181180
->get();
182181
$totalActivities = $activities->count();
@@ -233,7 +232,7 @@ public function showClearedAccessLogEntry(Request $request, $id)
233232
*/
234233
private static function getClearedActvity($id)
235234
{
236-
$activity = Activity::onlyTrashed()->where('id', $id)->get();
235+
$activity = config('laravel-logger.defaultActivityModel')::onlyTrashed()->where('id', $id)->get();
237236
if (count($activity) != 1) {
238237
return abort(404);
239238
}
@@ -250,7 +249,7 @@ private static function getClearedActvity($id)
250249
*/
251250
public function destroyActivityLog(Request $request)
252251
{
253-
$activities = Activity::onlyTrashed()->get();
252+
$activities = config('laravel-logger.defaultActivityModel')::onlyTrashed()->get();
254253
foreach ($activities as $activity) {
255254
$activity->forceDelete();
256255
}
@@ -267,7 +266,7 @@ public function destroyActivityLog(Request $request)
267266
*/
268267
public function restoreClearedActivityLog(Request $request)
269268
{
270-
$activities = Activity::onlyTrashed()->get();
269+
$activities = config('laravel-logger.defaultActivityModel')::onlyTrashed()->get();
271270
foreach ($activities as $activity) {
272271
$activity->restore();
273272
}

src/App/Http/Traits/ActivityLogger.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
use Illuminate\Support\Facades\Request;
88
use Illuminate\Support\Facades\Validator;
99
use Jaybizzle\LaravelCrawlerDetect\Facades\LaravelCrawlerDetect as Crawler;
10-
use jeremykenedy\LaravelLogger\App\Models\Activity;
1110

1211
trait ActivityLogger
1312
{
@@ -73,7 +72,7 @@ public static function activity($description = null)
7372
];
7473

7574
// Validation Instance
76-
$validator = Validator::make($data, Activity::rules());
75+
$validator = Validator::make($data, config('laravel-logger.defaultActivityModel')::rules());
7776
if ($validator->fails()) {
7877
$errors = self::prepareErrorMessage($validator->errors(), $data);
7978
if (config('LaravelLogger.logDBActivityLogFailuresToFile')) {
@@ -93,7 +92,7 @@ public static function activity($description = null)
9392
*/
9493
private static function storeActivity($data)
9594
{
96-
Activity::create([
95+
config('laravel-logger.defaultActivityModel')::create([
9796
'description' => $data['description'],
9897
'userType' => $data['userType'],
9998
'userId' => $data['userId'],

src/config/laravel-logger.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,12 @@
5959

6060
/*
6161
|--------------------------------------------------------------------------
62-
| Laravel Default User Model
62+
| Laravel Default Models
6363
|--------------------------------------------------------------------------
6464
*/
6565

66-
'defaultUserModel' => env('LARAVEL_LOGGER_USER_MODEL', 'App\User'),
66+
'defaultActivityModel' => env('LARAVEL_LOGGER_ACTIVITY_MODEL', 'jeremykenedy\LaravelLogger\App\Models\Activity'),
67+
'defaultUserModel' => env('LARAVEL_LOGGER_USER_MODEL', 'App\User'),
6768

6869
/*
6970
|--------------------------------------------------------------------------

0 commit comments

Comments
 (0)