fix: don't enforce required checks on users with administrative roles
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user