feat: forced teamer data verification after configured due dates
addresses #869b33c7p
This commit is contained in:
@@ -9,6 +9,7 @@ use App\Entity\Upload;
|
||||
use App\Entity\User;
|
||||
use App\Form\TeamerProfileType;
|
||||
use App\Model\UploadSessionDto;
|
||||
use App\RequiredTeamerCheck\PersonalDataVerificationRequiredCheck;
|
||||
use App\Service\Upload\UploadHandler;
|
||||
use Doctrine\ORM\EntityManagerInterface;
|
||||
use Psr\Log\LoggerInterface;
|
||||
@@ -27,6 +28,7 @@ class IndexController extends AbstractController
|
||||
private readonly ApiClient $apiClient,
|
||||
private readonly UploadHandler $uploadHandler,
|
||||
private readonly LoggerInterface $logger,
|
||||
private readonly PersonalDataVerificationRequiredCheck $personalDataVerificationRequiredCheck,
|
||||
) {
|
||||
}
|
||||
|
||||
@@ -53,8 +55,11 @@ class IndexController extends AbstractController
|
||||
// Validate teamer data to show missing data right away
|
||||
$errors = $this->validator->validate($teamer, null, ['profile_preflight']);
|
||||
|
||||
$verificationMode = false === $this->personalDataVerificationRequiredCheck->isSatisfied($user);
|
||||
|
||||
$form = $this->createForm(TeamerProfileType::class, $teamer, [
|
||||
'upload_session' => $uploadSession,
|
||||
'verification_mode' => $verificationMode,
|
||||
]);
|
||||
$form->handleRequest($request);
|
||||
|
||||
@@ -66,6 +71,10 @@ class IndexController extends AbstractController
|
||||
} catch (ApiClientException $e) {
|
||||
}
|
||||
|
||||
if (true === $verificationMode) {
|
||||
$teamer->setDataVerifiedAt(new \DateTimeImmutable());
|
||||
}
|
||||
|
||||
$this->entityManager->flush();
|
||||
|
||||
$this->addFlash('success', 'Deine Daten wurden aktualisiert');
|
||||
@@ -81,6 +90,7 @@ class IndexController extends AbstractController
|
||||
'form' => $form->createView(),
|
||||
'teamer' => $teamer,
|
||||
'errors' => $errors,
|
||||
'verification_mode' => $verificationMode,
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user