Adjust Admin Logic

This commit is contained in:
Charles 2025-09-03 10:30:24 +02:00
parent 1516e8c890
commit 9257709605
1 changed files with 7 additions and 6 deletions

View File

@ -3,6 +3,7 @@
namespace App\Service;
use App\Entity\Organizations;
use App\Entity\Roles;
use App\Entity\User;
use App\Entity\UserOrganizatonApp;
@ -88,10 +89,10 @@ class UserService
if (!$skipSelfCheck && $user->getUserIdentifier() === $this->security->getUser()->getUserIdentifier()) {
return true;
}
$userOrganization = $this->entityManager->getRepository(UsersOrganizations::class)->findBy(['users' => $user]);
if ($userOrganization) {
foreach ($userOrganization as $uo) {
if ($this->isAdminOfOrganization($uo)) {
$userOrganizations = $this->entityManager->getRepository(UsersOrganizations::class)->findBy(['users' => $user]);
if ($userOrganizations) {
foreach ($userOrganizations as $uo) {
if ($this->isAdminOfOrganization($uo->getOrganization())) {
return true;
}
}
@ -113,10 +114,10 @@ class UserService
* @return bool
* @throws Exception
*/
public function isAdminOfOrganization(UsersOrganizations $usersOrganizations): bool
public function isAdminOfOrganization(Organizations $organizations): bool
{
$actingUser = $this->getUserByIdentifier($this->security->getUser()->getUserIdentifier());
$uo = $this->entityManager->getRepository(UsersOrganizations::class)->findOneBy(['users' => $actingUser]);
$uo = $this->entityManager->getRepository(UsersOrganizations::class)->findOneBy(['users' => $actingUser, 'organization' => $organizations]);
$roleAdmin = $this->entityManager->getRepository(Roles::class)->findOneBy(['name' => 'ADMIN']);
if ($uo) {
$uoa = $this->entityManager->getRepository(UserOrganizatonApp::class)->findOneBy(['userOrganization' => $uo,