delete and set delete user
This commit is contained in:
parent
d8df0bc1f4
commit
3271da59fa
|
|
@ -43,7 +43,7 @@ class UserController extends AbstractController
|
||||||
/**
|
/**
|
||||||
* GET /user/{id} - Show specific user (show/member)
|
* GET /user/{id} - Show specific user (show/member)
|
||||||
*/
|
*/
|
||||||
#[Route('/{id}', name: 'show', methods: ['GET'], requirements: ['id' => '\d+'])]
|
#[Route('/{id}', name: 'show', requirements: ['id' => '\d+'], methods: ['GET'])]
|
||||||
public function show(int $id, EntityManagerInterface $entityManager): Response
|
public function show(int $id, EntityManagerInterface $entityManager): Response
|
||||||
{
|
{
|
||||||
if (!$this->isGranted('ROLE_SUDALYS_ADMIN')) {
|
if (!$this->isGranted('ROLE_SUDALYS_ADMIN')) {
|
||||||
|
|
@ -132,28 +132,54 @@ class UserController extends AbstractController
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
|
||||||
// /**
|
/**
|
||||||
// * DELETE /user/{id} - Delete user
|
* DELETE /user/{id} - Delete user
|
||||||
// */
|
*/
|
||||||
// #[Route('/{id}', name: 'delete', methods: ['DELETE'], requirements: ['id' => '\d+'])]
|
#[Route('/{id}', name: 'setDelete', requirements: ['id' => '\d+'], methods: ['POST'])]
|
||||||
// public function delete(int $id, EntityManagerInterface $entityManager): Response
|
public function setDelete(int $id, EntityManagerInterface $entityManager): Response
|
||||||
// {
|
{
|
||||||
// if (!$this->isGranted('ROLE_SUDALYS_ADMIN')) {
|
//This method is used to set a user as deleted without actually removing them from the database.
|
||||||
// throw $this->createAccessDeniedException('Access denied');
|
|
||||||
// }
|
//Handle access control
|
||||||
//
|
if (!$this->isGranted('ROLE_SUDALYS_ADMIN')) {
|
||||||
// $user = $entityManager->getRepository(User::class)->find($id);
|
throw $this->createAccessDeniedException('Access denied');
|
||||||
// if (!$user) {
|
}
|
||||||
// throw $this->createNotFoundException(self::NOT_FOUND));
|
//Fetch user by ID and handle not found case
|
||||||
// }
|
$user = $entityManager->getRepository(User::class)->find($id);
|
||||||
//
|
if (!$user) {
|
||||||
// // Handle user deletion logic
|
throw $this->createNotFoundException(self::NOT_FOUND);
|
||||||
// $entityManager->remove($user);
|
}
|
||||||
// $entityManager->flush();
|
|
||||||
//
|
// Handle user deletion logic
|
||||||
// return $this->redirectToRoute('user_index');
|
$user->setIsDeleted(true);
|
||||||
// }
|
$entityManager->persist($user);
|
||||||
|
$entityManager->flush();
|
||||||
|
|
||||||
|
return $this->redirectToRoute('user_index');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DELETE /user/{id} - Delete user
|
||||||
|
*/
|
||||||
|
#[Route('/{id}', name: 'delete', requirements: ['id' => '\d+'], methods: ['DELETE'])]
|
||||||
|
public function delete(int $id, EntityManagerInterface $entityManager): Response
|
||||||
|
{
|
||||||
|
if (!$this->isGranted('ROLE_SUDALYS_ADMIN')) {
|
||||||
|
throw $this->createAccessDeniedException('Access denied');
|
||||||
|
}
|
||||||
|
|
||||||
|
$user = $entityManager->getRepository(User::class)->find($id);
|
||||||
|
if (!$user) {
|
||||||
|
throw $this->createNotFoundException(self::NOT_FOUND);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Handle user deletion logic
|
||||||
|
$entityManager->remove($user);
|
||||||
|
$entityManager->flush();
|
||||||
|
|
||||||
|
return $this->redirectToRoute('user_index');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#[Route('/deactivate/{id}', name: 'deactivate', methods: ['GET'])]
|
#[Route('/deactivate/{id}', name: 'deactivate', methods: ['GET'])]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue