diff --git a/src/Command/User/UsersPermissionsCommand.php b/src/Command/User/UsersPermissionsCommand.php index 0d07a821..5bb3f11c 100644 --- a/src/Command/User/UsersPermissionsCommand.php +++ b/src/Command/User/UsersPermissionsCommand.php @@ -108,8 +108,12 @@ class UsersPermissionsCommand extends Command $this->entityManager->flush(); break; //Show the new table - } else { + } + + if (isset($op_to_edit, $perm_to_edit)) { $this->permissionResolver->setPermission($user, $perm_to_edit, $op_to_edit, $new_value); + } else { + throw new \RuntimeException('Erorr while editing permission'); } //Ensure that all operations are set accordingly diff --git a/src/Controller/TreeController.php b/src/Controller/TreeController.php index a3a1c6aa..500c5c00 100644 --- a/src/Controller/TreeController.php +++ b/src/Controller/TreeController.php @@ -145,6 +145,8 @@ class TreeController extends AbstractController { if ($this->isGranted('@parts.read') && $this->isGranted('@suppliers.read')) { $tree = $this->treeGenerator->getTreeView(Supplier::class, $supplier, 'list_parts_root'); + } else { + return new JsonResponse("Access denied", 403); } return new JsonResponse($tree); diff --git a/src/Security/Voter/AttachmentVoter.php b/src/Security/Voter/AttachmentVoter.php index 2364cef1..e0ec23c1 100644 --- a/src/Security/Voter/AttachmentVoter.php +++ b/src/Security/Voter/AttachmentVoter.php @@ -91,6 +91,8 @@ class AttachmentVoter extends ExtendedVoter case 'show_private': return $this->resolver->inherit($user, 'attachments', 'show_private') ?? false; } + + throw new \RuntimeException('Encountered unknown attribute "'.$attribute.'" in AttachmentVoter!'); } /** diff --git a/src/Security/Voter/ParameterVoter.php b/src/Security/Voter/ParameterVoter.php index 09ffeaf6..8569b680 100644 --- a/src/Security/Voter/ParameterVoter.php +++ b/src/Security/Voter/ParameterVoter.php @@ -17,7 +17,7 @@ use App\Entity\Parameters\SupplierParameter; use App\Entity\UserSystem\User; use App\Services\UserSystem\PermissionManager; use Doctrine\ORM\EntityManagerInterface; -use PHPUnit\TextUI\RuntimeException; +use RuntimeException; use Symfony\Component\Security\Core\Security; class ParameterVoter extends ExtendedVoter diff --git a/src/Services/UserSystem/PermissionPresetsHelper.php b/src/Services/UserSystem/PermissionPresetsHelper.php index 6dcbe8a2..5b07eeae 100644 --- a/src/Services/UserSystem/PermissionPresetsHelper.php +++ b/src/Services/UserSystem/PermissionPresetsHelper.php @@ -25,9 +25,8 @@ class PermissionPresetsHelper * Apply the given preset to the permission holding entity (like a user) * The permission data will be reset during the process and then the preset will be applied. * - * @param * @param string $preset_name The name of the preset to use - * @return PermissionData + * @return HasPermissionsInterface */ public function applyPreset(HasPermissionsInterface $perm_holder, string $preset_name): HasPermissionsInterface {