voter updates

This commit is contained in:
2022-04-26 11:34:49 +02:00
parent 51d1e5422b
commit 2684345981
2 changed files with 13 additions and 4 deletions

View File

@@ -14,6 +14,7 @@ namespace Chill\PersonBundle\Security\Authorization;
use Chill\PersonBundle\Entity\AccompanyingPeriod\Comment;
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
use Symfony\Component\Security\Core\Authorization\Voter\Voter;
use Symfony\Component\Security\Core\Security;
use UnexpectedValueException;
class AccompanyingPeriodCommentVoter extends Voter
@@ -22,6 +23,13 @@ class AccompanyingPeriodCommentVoter extends Voter
public const EDIT = 'CHILL_PERSON_ACCOMPANYING_PERIOD_COMMENT_EDIT';
private Security $security;
public function __construct(Security $security)
{
$this->security = $security;
}
protected function supports($attribute, $subject)
{
return $subject instanceof Comment;
@@ -32,9 +40,9 @@ class AccompanyingPeriodCommentVoter extends Voter
/** @var Comment $subject */
switch ($attribute) {
case self::EDIT:
return $this->security->isGranted(AccompanyingPeriodVoter::EDIT, $subject->getAccompanyingPeriod());
case self::DELETE:
return $subject->getCreator() === $token->getUser();
return $this->security->isGranted(AccompanyingPeriodVoter::EDIT, $subject->getAccompanyingPeriod());
default:
throw new UnexpectedValueException("This attribute {$attribute} is not supported");
}