fix: don't enforce required checks on users with administrative roles

This commit is contained in:
Björn Fromme
2026-03-15 12:42:28 +01:00
parent 3d71dcfc14
commit 90dda38c0f
6 changed files with 62 additions and 17 deletions
@@ -0,0 +1,23 @@
<?php
namespace App\RequiredTeamerCheck;
use App\Entity\User;
abstract class AbstractRequiredTeamerCheck implements RequiredTeamerCheckInterface
{
private const EXCLUDED_ROLES = [
'ROLE_ADMIN',
'ROLE_MANAGER',
'ROLE_HOUSE_MANAGER',
];
public function appliesTo(User $user): bool
{
if (0 < count(array_intersect($user->getRoles(), self::EXCLUDED_ROLES))) {
return false;
}
return true === $user->hasRole('ROLE_TEAMER');
}
}
@@ -5,20 +5,14 @@ namespace App\RequiredTeamerCheck;
use App\Entity\Teamer;
use App\Entity\Upload;
use App\Entity\User;
use App\RequiredTeamerCheck\RequiredTeamerCheckInterface;
class DriverLicenseRequiredCheck implements RequiredTeamerCheckInterface
class DriverLicenseRequiredCheck extends AbstractRequiredTeamerCheck
{
public function getCode(): string
{
return 'driver_license';
}
public function appliesTo(User $user): bool
{
return true === $user->hasRole('ROLE_TEAMER');
}
public function isSatisfied(User $user): bool
{
$teamer = $user->getTeamer();
@@ -6,7 +6,7 @@ use App\Entity\Teamer;
use App\Entity\User;
use Carbon\CarbonImmutable;
class PersonalDataVerificationRequiredCheck implements RequiredTeamerCheckInterface
class PersonalDataVerificationRequiredCheck extends AbstractRequiredTeamerCheck
{
public function __construct(
private readonly array $dataVerificationDeadlines = ['04-01', '10-01'],
@@ -18,11 +18,6 @@ class PersonalDataVerificationRequiredCheck implements RequiredTeamerCheckInterf
return 'personal_data_verification';
}
public function appliesTo(User $user): bool
{
return true === $user->hasRole('ROLE_TEAMER');
}
public function isSatisfied(User $user): bool
{
$teamer = $user->getTeamer();