Feat: Make some entities soft-deletable

This commit is contained in:
Björn Fromme
2023-10-20 17:17:21 +02:00
parent 168a69c103
commit d7bbb4bb29
27 changed files with 213 additions and 63 deletions
@@ -0,0 +1,36 @@
<?php
namespace App\Controller\Admin\Assignment;
use App\Entity\Assignment;
use Doctrine\ORM\EntityManagerInterface;
use Psr\Log\LoggerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Security\Http\Attribute\IsGranted;
class DeleteController extends AbstractController
{
public function __construct(
private readonly EntityManagerInterface $entityManager,
private readonly LoggerInterface $logger
) {
}
#[Route('/admin/assignment/delete/{uuid}', name: 'app_admin_assignment_delete')]
#[IsGranted('ROLE_ADMINISTRATIVE')]
public function index(Assignment $assignment): Response
{
$assignment->setDeleted();
$this->entityManager->flush();
$this->logger->info('Delete assignment', [
'assignment' => $assignment->getUuid(),
]);
$this->addFlash('success', 'Der Einsatz wurde gelöscht');
return $this->redirectToRoute('app_admin_assignment_index');
}
}
@@ -22,7 +22,7 @@ class DeleteController extends AbstractController
#[IsGranted('ROLE_ADMIN')]
public function index(Availability $availability): Response
{
$this->entityManager->remove($availability);
$availability->setDeleted();
$this->entityManager->flush();
$this->addFlash('success', 'Die Verfügbarkeit wurde gelöscht');
@@ -22,7 +22,7 @@ class DeleteController extends AbstractController
#[IsGranted('ROLE_ADMIN')]
public function index(Fee $fee): Response
{
$this->entityManager->remove($fee);
$fee->setDeleted();
$this->entityManager->flush();
$this->addFlash('success', 'Das Honorar wurde gelöscht');
@@ -17,7 +17,7 @@ class IndexController extends AbstractController
#[IsGranted('ROLE_ADMIN')]
public function index(): Response
{
$fees = $this->feeRepository->findBy([], ['name' => 'ASC']);
$fees = $this->feeRepository->getList();
return $this->render('admin/system/fee/index.html.twig', [
'fees' => $fees,
@@ -22,7 +22,7 @@ class DeleteController extends AbstractController
#[IsGranted('ROLE_ADMIN')]
public function index(JobProfile $jobProfile): Response
{
$this->entityManager->remove($jobProfile);
$jobProfile->setDeleted();
$this->entityManager->flush();
$this->addFlash('success', 'Das Job-Profil wurde gelöscht');
@@ -22,7 +22,7 @@ class DeleteController extends AbstractController
#[IsGranted('ROLE_ADMIN')]
public function index(Training $training): Response
{
$this->entityManager->remove($training);
$training->setDeleted();
$this->entityManager->flush();
$this->addFlash('success', 'Die Fortbildung wurde gelöscht');