| 123456789101112131415161718192021222324252627282930 |
- <?php
- declare(strict_types=1);
- namespace App\Service\Access\OptionalsRoles;
- use App\Entity\Access\Access;
- use App\Repository\Access\AccessRepository;
- use App\Service\Access\OptionalsRolesInterface;
- use App\Service\Access\Utils;
- use App\Enum\Access\FunctionEnum;
- class CriteriaNotationOptionalRole implements OptionalsRolesInterface {
- public function __construct(
- private Utils $accessUtils,
- private AccessRepository $accessRepository
- )
- {
- }
- public function support(Access $access): bool
- {
- $isActiveTeacher = $this->accessRepository->hasGotFunctionAtThisDate($access, FunctionEnum::TEACHER(), new \DateTime('now'));
- return $isActiveTeacher && !$access->getOrganization()->getParameters()->getEditCriteriaNotationByAdminOnly();
- }
- public function getRole(): string
- {
- return 'ROLE_CRITERIANOTATION';
- }
- }
|