Browse Source

add last user activity on profile page

main
ghost 1 year ago
parent
commit
cc6c68957c
  1. 2
      src/Controller/ActivityController.php
  2. 8
      src/Controller/UserController.php
  3. 20
      src/Service/ActivityService.php
  4. 2
      templates/default/user/dashboard.html.twig
  5. 16
      templates/default/user/info.html.twig

2
src/Controller/ActivityController.php

@ -15,7 +15,7 @@ use App\Service\TorrentService; @@ -15,7 +15,7 @@ use App\Service\TorrentService;
class ActivityController extends AbstractController
{
public function template(
public function event(
$activity,
ActivityService $activityService,
UserService $userService,

8
src/Controller/UserController.php

@ -57,7 +57,7 @@ class UserController extends AbstractController @@ -57,7 +57,7 @@ class UserController extends AbstractController
return $this->render(
'default/user/dashboard.html.twig',
[
'activities' => $activityService->findLastEvents(
'activities' => $activityService->findLastActivities(
$user->getEvents()
)
]
@ -254,8 +254,12 @@ class UserController extends AbstractController @@ -254,8 +254,12 @@ class UserController extends AbstractController
$userTarget->getId()
)
],
'activities' => $activityService->findLastActivitiesByUserId(
$userTarget->getId(),
$userTarget->getEvents()
)
],
'events' => $activityService->getEventsTree()
'events' => $activityService->getEventsTree(),
]
);
}

20
src/Service/ActivityService.php

@ -360,7 +360,7 @@ class ActivityService @@ -360,7 +360,7 @@ class ActivityService
return $events;
}
public function findLastEvents(
public function findLastActivities(
array $whitelist
): array
{
@ -376,6 +376,24 @@ class ActivityService @@ -376,6 +376,24 @@ class ActivityService
);
}
public function findLastActivitiesByUserId(
int $userId,
array $whitelist
): array
{
return $this->entityManagerInterface
->getRepository(Activity::class)
->findBy(
[
'userId' => $userId,
'event' => $whitelist
],
[
'id' => 'DESC'
]
);
}
// User
public function addEventUserAdd(
int $userId,

2
templates/default/user/dashboard.html.twig

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
{% for activity in activities %}
<div class="padding-16-px margin-y-8-px border-radius-3-px background-color-night">
{{ render(controller(
'App\\Controller\\ActivityController::template',
'App\\Controller\\ActivityController::event',
{ activity : activity }
)) }}
</div>

16
templates/default/user/info.html.twig

@ -218,4 +218,20 @@ @@ -218,4 +218,20 @@
</tbody>
</table>
</div>
{% if user.activities %}
<div class="padding-x-24-px padding-y-8-px margin-y-16-px">
<h2>{{ 'Last activity' | trans }}</h2>
<sup>
<a href="#">RSS</a>
</sup>
</div>
{% for activity in user.activities %}
<div class="padding-x-24-px padding-y-16-px margin-y-8-px border-radius-3-px background-color-night">
{{ render(controller(
'App\\Controller\\ActivityController::event',
{ activity : activity }
)) }}
</div>
{% endfor %}
{% endif %}
{% endblock %}
Loading…
Cancel
Save