Browse Source

add user moderation events #4

main
ghost 1 year ago
parent
commit
0339ee9f23
  1. 2
      src/Controller/ActivityController.php
  2. 78
      src/Controller/UserController.php
  3. 195
      src/Service/ActivityService.php
  4. 12
      src/Service/UserService.php

2
src/Controller/ActivityController.php

@ -706,7 +706,7 @@ class ActivityController extends AbstractController @@ -706,7 +706,7 @@ class ActivityController extends AbstractController
break;
// Page
// @TODO Page
default:

78
src/Controller/UserController.php

@ -309,7 +309,8 @@ class UserController extends AbstractController @@ -309,7 +309,8 @@ class UserController extends AbstractController
public function toggleModerator(
Request $request,
TranslatorInterface $translator,
UserService $userService
UserService $userService,
ActivityService $activityService
): Response
{
// Init user
@ -331,10 +332,29 @@ class UserController extends AbstractController @@ -331,10 +332,29 @@ class UserController extends AbstractController
throw $this->createNotFoundException();
}
// Update
$userService->toggleUserModerator(
// Update user moderator
$value = $userService->toggleUserModerator(
$userTarget->getId()
)->isModerator();
// Add activity event
if ($value)
{
$activityService->addEventUserModeratorAdd(
$user->getId(),
time(),
$userTarget->getId()
);
}
else
{
$activityService->addEventUserModeratorDelete(
$user->getId(),
time(),
$userTarget->getId()
);
}
// Redirect to info article created
return $this->redirectToRoute(
@ -361,7 +381,8 @@ class UserController extends AbstractController @@ -361,7 +381,8 @@ class UserController extends AbstractController
public function toggleStatus(
Request $request,
TranslatorInterface $translator,
UserService $userService
UserService $userService,
ActivityService $activityService
): Response
{
// Init user
@ -383,10 +404,29 @@ class UserController extends AbstractController @@ -383,10 +404,29 @@ class UserController extends AbstractController
throw $this->createNotFoundException();
}
// Update
$userService->toggleUserStatus(
// Update user status
$value = $userService->toggleUserStatus(
$userTarget->getId()
)->isStatus();
// Add activity event
if ($value)
{
$activityService->addEventUserStatusAdd(
$user->getId(),
time(),
$userTarget->getId()
);
}
else
{
$activityService->addEventUserStatusDelete(
$user->getId(),
time(),
$userTarget->getId()
);
}
// Redirect to info article created
return $this->redirectToRoute(
@ -415,7 +455,8 @@ class UserController extends AbstractController @@ -415,7 +455,8 @@ class UserController extends AbstractController
TranslatorInterface $translator,
UserService $userService,
ArticleService $articleService,
TorrentService $torrentService
TorrentService $torrentService,
ActivityService $activityService
): Response
{
// Init user
@ -454,12 +495,33 @@ class UserController extends AbstractController @@ -454,12 +495,33 @@ class UserController extends AbstractController
$userTarget->getId(),
true
);
// @TODO make event for each item
}
// Update user approved
$userService->toggleUserApproved(
$value = $userService->toggleUserApproved(
$userTarget->getId()
)->isApproved();
// Add activity event
if ($value)
{
$activityService->addEventUserApproveAdd(
$user->getId(),
time(),
$userTarget->getId()
);
}
else
{
$activityService->addEventUserApproveDelete(
$user->getId(),
time(),
$userTarget->getId()
);
}
// Redirect to info article created
return $this->redirectToRoute(

195
src/Service/ActivityService.php

@ -55,6 +55,201 @@ class ActivityService @@ -55,6 +55,201 @@ class ActivityService
return $activity;
}
/// User approved
public function addEventUserApproveAdd(
int $userId,
int $added,
int $userIdTarget,
): ?Activity
{
$activity = new Activity();
$activity->setEvent(
Activity::EVENT_USER_APPROVE_ADD
);
$activity->setUserId(
$userId
);
$activity->setAdded(
$added
);
$activity->setData(
[
'userId' => $userIdTarget
]
);
$this->entityManagerInterface->persist($activity);
$this->entityManagerInterface->flush();
return $activity;
}
public function addEventUserApproveDelete(
int $userId,
int $added,
int $userIdTarget,
): ?Activity
{
$activity = new Activity();
$activity->setEvent(
Activity::EVENT_USER_APPROVE_DELETE
);
$activity->setUserId(
$userId
);
$activity->setAdded(
$added
);
$activity->setData(
[
'userId' => $userIdTarget
]
);
$this->entityManagerInterface->persist($activity);
$this->entityManagerInterface->flush();
return $activity;
}
/// User status
public function addEventUserStatusAdd(
int $userId,
int $added,
int $userIdTarget,
): ?Activity
{
$activity = new Activity();
$activity->setEvent(
Activity::EVENT_USER_STATUS_ADD
);
$activity->setUserId(
$userId
);
$activity->setAdded(
$added
);
$activity->setData(
[
'userId' => $userIdTarget
]
);
$this->entityManagerInterface->persist($activity);
$this->entityManagerInterface->flush();
return $activity;
}
public function addEventUserStatusDelete(
int $userId,
int $added,
int $userIdTarget,
): ?Activity
{
$activity = new Activity();
$activity->setEvent(
Activity::EVENT_USER_STATUS_DELETE
);
$activity->setUserId(
$userId
);
$activity->setAdded(
$added
);
$activity->setData(
[
'userId' => $userIdTarget
]
);
$this->entityManagerInterface->persist($activity);
$this->entityManagerInterface->flush();
return $activity;
}
/// User moderator
public function addEventUserModeratorAdd(
int $userId,
int $added,
int $userIdTarget,
): ?Activity
{
$activity = new Activity();
$activity->setEvent(
Activity::EVENT_USER_MODERATOR_ADD
);
$activity->setUserId(
$userId
);
$activity->setAdded(
$added
);
$activity->setData(
[
'userId' => $userIdTarget
]
);
$this->entityManagerInterface->persist($activity);
$this->entityManagerInterface->flush();
return $activity;
}
public function addEventUserModeratorDelete(
int $userId,
int $added,
int $userIdTarget,
): ?Activity
{
$activity = new Activity();
$activity->setEvent(
Activity::EVENT_USER_MODERATOR_DELETE
);
$activity->setUserId(
$userId
);
$activity->setAdded(
$added
);
$activity->setData(
[
'userId' => $userIdTarget
]
);
$this->entityManagerInterface->persist($activity);
$this->entityManagerInterface->flush();
return $activity;
}
/// User star
public function addEventUserStarAdd(
int $userId,

12
src/Service/UserService.php

@ -179,7 +179,7 @@ class UserService @@ -179,7 +179,7 @@ class UserService
public function toggleUserModerator(
int $userId
): void
): ?User
{
if ($user = $this->getUser($userId))
{
@ -190,11 +190,13 @@ class UserService @@ -190,11 +190,13 @@ class UserService
$this->entityManagerInterface->persist($user);
$this->entityManagerInterface->flush();
}
return $user;
}
public function toggleUserStatus(
int $userId
): void
): ?User
{
if ($user = $this->getUser($userId))
{
@ -205,11 +207,13 @@ class UserService @@ -205,11 +207,13 @@ class UserService
$this->entityManagerInterface->persist($user);
$this->entityManagerInterface->flush();
}
return $user;
}
public function toggleUserApproved(
int $userId
): void
): ?User
{
if ($user = $this->getUser($userId))
{
@ -220,5 +224,7 @@ class UserService @@ -220,5 +224,7 @@ class UserService
$this->entityManagerInterface->persist($user);
$this->entityManagerInterface->flush();
}
return $user;
}
}
Loading…
Cancel
Save