feat: forced teamer data verification after configured due dates
addresses #869b33c7p
This commit is contained in:
1 parent
20da6a0afc
commit
518bc7339f
19 files changed
+357
-14
No files matched your search
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace App\RequiredTeamerCheck;
|
||||
|
||||
use App\Entity\User;
|
||||
use App\RequiredTeamerCheck\RequiredTeamerCheckInterface;
|
||||
|
||||
class RequiredTeamerCheckRegistry
|
||||
{
|
||||
/**
|
||||
* @param iterable<RequiredTeamerCheckInterface> $checks
|
||||
*/
|
||||
public function __construct(private readonly iterable $checks)
|
||||
{
|
||||
}
|
||||
|
||||
public function getFirstUnresolvedCheck(User $user): ?RequiredTeamerCheckInterface
|
||||
{
|
||||
foreach ($this->checks as $check) {
|
||||
if (false === $check->appliesTo($user)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (false === $check->isSatisfied($user)) {
|
||||
return $check;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user