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
break; break;
// Page // @TODO Page
default: default:

78
src/Controller/UserController.php

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

195
src/Service/ActivityService.php

@ -55,6 +55,201 @@ class ActivityService
return $activity; 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 /// User star
public function addEventUserStarAdd( public function addEventUserStarAdd(
int $userId, int $userId,

12
src/Service/UserService.php

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