Skip to content

Commit 1849ae4

Browse files
committed
bugfix: do data for UserActivity
1 parent fdf16fa commit 1849ae4

File tree

1 file changed

+30
-38
lines changed

1 file changed

+30
-38
lines changed

src/Filament/Widgets/UserActivity.php

Lines changed: 30 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Livewire\WithPagination;
88
use SolutionForest\InspireCms\Filament\Contracts\GuardWidget;
99
use SolutionForest\InspireCms\Filament\Widgets\Conceners\GuardWidgetTrait;
10+
use SolutionForest\InspireCms\Models\Contracts\UserLoginActivity;
1011

1112
class UserActivity extends Widget implements GuardWidget
1213
{
@@ -51,52 +52,21 @@ protected function getUserActivities()
5152
->simplePaginate(perPage: 5, pageName: $pageName, page: $this->getPage($pageName));
5253

5354
$activities->tap(function ($activities) use ($user) {
54-
$activities->setCollection($activities->getCollection()->map(function ($activity) use ($user) {
55+
$activities->setCollection($activities->getCollection()->map(function (UserLoginActivity $activity) use ($user) {
5556

5657
$activity->causer = $user;
5758
$activity->subject = $user;
5859

5960
$activity->description = $activity->ip_address;
6061

61-
$dtFormat = 'Y-m-d H:i:s';
62-
if ($activity->last_logged_in_at_utc != null) {
63-
$ts = $activity->last_logged_in_at_utc->format($dtFormat);
64-
$activity->last_logged_in_at_utc = Carbon::createFromFormat(
65-
$dtFormat,
66-
$ts,
67-
'UTC'
68-
);
69-
$activity->last_logged_in_at_local = Carbon::createFromFormat(
70-
$dtFormat,
71-
$ts,
72-
'UTC'
73-
)->setTimezone(config('app.timezone'));
74-
} else {
75-
$activity->last_logged_in_at_local = null;
76-
}
77-
78-
if ($activity->last_logged_out_at_utc != null) {
79-
$ts = $activity->last_logged_out_at_utc->format($dtFormat);
80-
$activity->last_logged_out_at_utc = Carbon::createFromFormat(
81-
$dtFormat,
82-
$ts,
83-
'UTC'
84-
);
85-
$activity->last_logged_out_at_local = Carbon::createFromFormat(
86-
$dtFormat,
87-
$ts,
88-
'UTC'
89-
)->setTimezone(config('app.timezone'));
90-
} else {
91-
$activity->last_logged_out_at_local = null;
92-
}
93-
$activity->last_logged_out_at_utc = \Carbon\Carbon::createFromFormat(
94-
$dtFormat,
95-
$activity->last_logged_out_at_utc->format($dtFormat),
96-
'UTC'
97-
);
62+
$activity->last_logged_in_at_utc = $this->convertDt($activity->last_logged_in_at_utc);
63+
$activity->last_logged_in_at_local = $this->convertDtToLocal($activity->last_logged_in_at_utc);
64+
65+
$activity->last_logged_out_at_utc = $this->convertDt($activity->last_logged_out_at_utc);
66+
$activity->last_logged_out_at_local = $this->convertDtToLocal($activity->last_logged_out_at_utc);
9867

9968
return $activity;
69+
10070
}));
10171
});
10272

@@ -114,4 +84,26 @@ protected function getUserActivities()
11484
return $this->getPage($pageName);
11585
});
11686
}
87+
88+
private function convertDt(?\Carbon\CarbonInterface $dateTime): ?\Carbon\CarbonInterface
89+
{
90+
if (is_null($dateTime)) {
91+
return null;
92+
}
93+
94+
$dtFormat = 'Y-m-d H:i:s';
95+
96+
$ts = $dateTime->format($dtFormat);
97+
98+
return Carbon::createFromFormat(
99+
$dtFormat,
100+
$ts,
101+
'UTC'
102+
);
103+
}
104+
105+
private function convertDtToLocal(?\Carbon\CarbonInterface $dateTime): ?\Carbon\CarbonInterface
106+
{
107+
return $this->convertDt($dateTime)?->setTimezone(config('app.timezone'));
108+
}
117109
}

0 commit comments

Comments
 (0)