Typed controller route
This commit is contained in:
parent
2418e43703
commit
c54df8a327
|
|
@ -9,6 +9,7 @@ use App\Entity\User;
|
|||
use App\Entity\UserOrganizatonApp;
|
||||
use App\Entity\UsersOrganizations;
|
||||
use App\Form\OrganizationForm;
|
||||
use App\Repository\OrganizationsRepository;
|
||||
use App\Service\ActionService;
|
||||
use App\Service\OrganizationsService;
|
||||
use App\Service\UserOrganizationService;
|
||||
|
|
@ -29,9 +30,12 @@ class OrganizationController extends AbstractController
|
|||
private const ACCESS_DENIED = 'Access denied';
|
||||
|
||||
|
||||
public function __construct(private readonly EntityManagerInterface $entityManager,
|
||||
private readonly UserService $userService,
|
||||
private readonly OrganizationsService $organizationsService, private readonly ActionService $actionService, private readonly UserOrganizationService $userOrganizationService)
|
||||
public function __construct(private readonly EntityManagerInterface $entityManager,
|
||||
private readonly UserService $userService,
|
||||
private readonly OrganizationsService $organizationsService,
|
||||
private readonly ActionService $actionService,
|
||||
private readonly UserOrganizationService $userOrganizationService,
|
||||
private readonly OrganizationsRepository $organizationsRepository,)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
@ -42,7 +46,7 @@ class OrganizationController extends AbstractController
|
|||
$user = $this->userService->getUserByIdentifier($this->getUser()->getUserIdentifier());
|
||||
|
||||
if ($this->isGranted("ROLE_SUPER_ADMIN")) {
|
||||
$organizations = $this->entityManager->getRepository(Organizations::class)->findBy(['isDeleted' => false]);
|
||||
$organizations = $this->organizationsRepository->findBy(['isDeleted' => false]);
|
||||
|
||||
|
||||
} else {
|
||||
|
|
@ -56,18 +60,18 @@ class OrganizationController extends AbstractController
|
|||
$organizations[] = $uo->getOrganization();
|
||||
}
|
||||
}
|
||||
if(count($organizations) === 1 && $organizations[0]->isActive() === true){
|
||||
if (count($organizations) === 1 && $organizations[0]->isActive() === true) {
|
||||
return $this->redirectToRoute('organization_show', ['id' => $organizations[0]->getId()]);
|
||||
}
|
||||
|
||||
}
|
||||
// Map the entities for tabulator
|
||||
$organizationsData = array_map(function($org) {
|
||||
$organizationsData = array_map(function ($org) {
|
||||
return [
|
||||
'id' => $org->getId(),
|
||||
'name' => $org->getName(),
|
||||
'email' => $org->getEmail(),
|
||||
'logoUrl' => $org->getLogoUrl() ? $org->getLogoUrl() : null, // or prepend base URL if needed
|
||||
'logoUrl' => $org->getLogoUrl() ? $org->getLogoUrl() : null,
|
||||
'active' => $org->isActive(),
|
||||
'showUrl' => $this->generateUrl('organization_show', ['id' => $org->getId()]),
|
||||
];
|
||||
|
|
@ -89,7 +93,7 @@ class OrganizationController extends AbstractController
|
|||
if ($form->isSubmitted() && $form->isValid()) {
|
||||
$logoFile = $form->get('logoUrl')->getData();
|
||||
if ($logoFile) {
|
||||
$this->organizationService->handleLogo($organization, $logoFile);
|
||||
$this->organizationsService->handleLogo($organization, $logoFile);
|
||||
}
|
||||
try {
|
||||
$this->entityManager->persist($organization);
|
||||
|
|
@ -116,7 +120,7 @@ class OrganizationController extends AbstractController
|
|||
{
|
||||
$this->denyAccessUnlessGranted('ROLE_ADMIN');
|
||||
$actingUser = $this->userService->getUserByIdentifier($this->getUser()->getUserIdentifier());
|
||||
$organization = $this->entityManager->getRepository(Organizations::class)->find($id);
|
||||
$organization = $this->organizationsRepository->find($id);
|
||||
if (!$organization) {
|
||||
$this->addFlash('error', self::NOT_FOUND);
|
||||
return $this->redirectToRoute('organization_index');
|
||||
|
|
@ -162,7 +166,7 @@ class OrganizationController extends AbstractController
|
|||
public function view($id): Response
|
||||
{
|
||||
$this->denyAccessUnlessGranted('ROLE_ADMIN');
|
||||
$organization = $this->entityManager->getRepository(Organizations::class)->find($id);
|
||||
$organization = $this->organizationsRepository->find($id);
|
||||
$actingUser = $this->userService->getUserByIdentifier($this->getUser()->getUserIdentifier());
|
||||
if (!$organization) {
|
||||
$this->addFlash('error', self::NOT_FOUND);
|
||||
|
|
@ -204,7 +208,7 @@ class OrganizationController extends AbstractController
|
|||
'users' => $users,
|
||||
'applications' => $apps,
|
||||
'activities' => $activities,
|
||||
]);
|
||||
]);
|
||||
}
|
||||
|
||||
#[Route(path: '/delete/{id}', name: 'delete', methods: ['POST'])]
|
||||
|
|
@ -212,7 +216,7 @@ class OrganizationController extends AbstractController
|
|||
{
|
||||
$this->denyAccessUnlessGranted("ROLE_ADMIN");
|
||||
$actingUser = $this->userService->getUserByIdentifier($this->getUser()->getUserIdentifier());
|
||||
$organization = $this->entityManager->getRepository(Organizations::class)->find($id);
|
||||
$organization = $this->organizationsRepository->find($id);
|
||||
if (!$organization) {
|
||||
throw $this->createNotFoundException(self::NOT_FOUND);
|
||||
}
|
||||
|
|
@ -227,25 +231,27 @@ class OrganizationController extends AbstractController
|
|||
}
|
||||
|
||||
#[Route(path: '/deactivate/{id}', name: 'deactivate', methods: ['POST'])]
|
||||
public function deactivate($id): Response{
|
||||
$this->denyAccessUnlessGranted("ROLE_SUPER_ADMIN");
|
||||
$actingUser = $this->userService->getUserByIdentifier($this->getUser()->getUserIdentifier());
|
||||
$organization = $this->entityManager->getRepository(Organizations::class)->find($id);
|
||||
if (!$organization) {
|
||||
throw $this->createNotFoundException(self::NOT_FOUND);
|
||||
}
|
||||
$organization->setIsActive(false);
|
||||
$this->userOrganizationService->deactivateAllUserOrganizationLinks($actingUser, null, $organization);
|
||||
$this->entityManager->persist($organization);
|
||||
$this->actionService->createAction("Deactivate Organization", $actingUser, $organization, $organization->getName());
|
||||
return $this->redirectToRoute('organization_index');
|
||||
public function deactivate($id): Response
|
||||
{
|
||||
$this->denyAccessUnlessGranted("ROLE_SUPER_ADMIN");
|
||||
$actingUser = $this->userService->getUserByIdentifier($this->getUser()->getUserIdentifier());
|
||||
$organization = $this->organizationsRepository->find($id);
|
||||
if (!$organization) {
|
||||
throw $this->createNotFoundException(self::NOT_FOUND);
|
||||
}
|
||||
$organization->setIsActive(false);
|
||||
$this->userOrganizationService->deactivateAllUserOrganizationLinks($actingUser, null, $organization);
|
||||
$this->entityManager->persist($organization);
|
||||
$this->actionService->createAction("Deactivate Organization", $actingUser, $organization, $organization->getName());
|
||||
return $this->redirectToRoute('organization_index');
|
||||
}
|
||||
|
||||
#[Route(path: '/activate/{id}', name: 'activate', methods: ['POST'])]
|
||||
public function activate($id): Response{
|
||||
public function activate($id): Response
|
||||
{
|
||||
$this->denyAccessUnlessGranted("ROLE_SUPER_ADMIN");
|
||||
$actingUser = $this->userService->getUserByIdentifier($this->getUser()->getUserIdentifier());
|
||||
$organization = $this->entityManager->getRepository(Organizations::class)->find($id);
|
||||
$organization = $this->organizationsRepository->find($id);
|
||||
if (!$organization) {
|
||||
throw $this->createNotFoundException(self::NOT_FOUND);
|
||||
}
|
||||
|
|
@ -271,7 +277,7 @@ class OrganizationController extends AbstractController
|
|||
|
||||
$user = $this->userService->getUserByIdentifier($this->getUser()->getUserIdentifier());
|
||||
|
||||
$qb = $this->entityManager->getRepository(Organizations::class)->createQueryBuilder('o')
|
||||
$qb = $this->organizationsRepository->createQueryBuilder('o')
|
||||
->where('o.isDeleted = :del')->setParameter('del', false);
|
||||
|
||||
// // Example: apply filters (basic equals/like)
|
||||
|
|
@ -303,7 +309,7 @@ class OrganizationController extends AbstractController
|
|||
$rows = $qb->setFirstResult($offset)->setMaxResults($size)->getQuery()->getResult();
|
||||
|
||||
// Map to array
|
||||
$data = array_map(function(Organizations $org) {
|
||||
$data = array_map(function (Organizations $org) {
|
||||
return [
|
||||
'id' => $org->getId(),
|
||||
'name' => $org->getName(),
|
||||
|
|
|
|||
Loading…
Reference in New Issue