Skip to content
Snippets Groups Projects
Commit 157d358c authored by Pierre Fleutot's avatar Pierre Fleutot
Browse files

Ajout logs création / suppression amis

parent f21a4da2
No related branches found
No related tags found
No related merge requests found
......@@ -72,6 +72,11 @@ class FriendController extends AppBaseController
$notification->setContent("Invitation amitié");
$notification->setInvitationRequest($invitationRequest);
$this->logManager->add([
'category' => Log::CATEGORY_ADD_FRIEND,
'additionalInfo' => ['friend_user_id' => $form->get('friend')->getData()->getId()]
]);
$this->em->flush();
$this->addFlash('success', "Une invitation a été envoyée à l'utilisateur");
......@@ -91,8 +96,13 @@ class FriendController extends AppBaseController
*/
public function delete(Request $request, User $friend): Response
{
$this->logManager->add([
'category' => Log::CATEGORY_REMOVE_FRIEND,
'additionalInfo' => ['friend_user_id' => $friend->getId()]
]);
if ($this->isCsrfTokenValid('delete'.$friend->getId(), $request->request->get('_token'))) {
$this->getUser()->removeMyFriend($friend);
$this->getUser()->removeFriend($friend);
// $this->em->remove($friend);
$this->em->flush();
}
......
......@@ -98,14 +98,15 @@ class GroupMembershipController extends AppBaseController
{
$group = $groupMembership->getGroup();
$this->logManager->add([
'category' => Log::CATEGORY_REMOVE_MEMBER_GROUP,
'additionalInfo' => ['group_id' => $group->getId(), 'user_id' => $groupMembership->getUser()->getId()]
]);
if (count($group->getAdmins()) === 1 && $groupMembership->isAdmin()) {
$this->addFlash('danger', "Suppression impossible, le groupe doit comporter au moins un administrateur.");
} elseif ($this->isCsrfTokenValid('delete' . $groupMembership->getId(), $request->request->get('_token'))) {
$this->logManager->add([
'category' => Log::CATEGORY_REMOVE_MEMBER_GROUP,
'additionalInfo' => ['group_id' => $group->getId(), 'user_id' => $groupMembership->getUser()->getId()]
]);
$groupMembershipRepository->remove($groupMembership, true);
}
......
......@@ -296,6 +296,9 @@ class User implements UserInterface, PasswordAuthenticatedUserInterface
return false;
}
/**
* @return InvitationRequest[]
*/
public function getFriendInvitationRequestsReceived()
{
$result = [];
......@@ -307,6 +310,9 @@ class User implements UserInterface, PasswordAuthenticatedUserInterface
return $result;
}
/**
* @return InvitationRequest[]
*/
public function getFriendInvitationRequestsSent()
{
$result = [];
......@@ -321,17 +327,31 @@ class User implements UserInterface, PasswordAuthenticatedUserInterface
public function getMyFriends()
{
$result = [];
foreach ($this->getFriendInvitationRequestsSent() as $invitation) {
if ($invitation->isAccepted()) {
$result[] = $invitation->getRecipient();
}
}
foreach ($this->getFriendInvitationRequestsReceived() as $invitation) {
if ($invitation->isAccepted()) {
$result[] = $invitation->getSender();
}
}
return $result;
}
public function removeFriend(User $user)
{
foreach ($this->getFriendInvitationRequestsSent() as $invitation) {
if ($invitation->isAccepted()) {
$result[] = $invitation->getRecipient();
if ($invitation->isAccepted() && $invitation->getRecipient() === $user) {
$this->removeInvitationRequestsSent($invitation);
}
}
foreach ($this->getFriendInvitationRequestsReceived() as $invitation) {
if ($invitation->isAccepted() && $invitation->getSender() === $user) {
$this->removeInvitationRequestsReceived($invitation);
}
}
return $result;
}
public function getUsersFromPendingInvitationRequests()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment