✨ feat(AdminController): Envoie l'URL de redirection complétée à Docuseal.
🐛 fix(AdController): Crée un MainMember après la validation du document.
This commit is contained in:
@@ -7,9 +7,13 @@ use App\Dto\Contact\DtoContact;
|
||||
use App\Entity\Account;
|
||||
use App\Entity\AccountResetPasswordRequest;
|
||||
use App\Entity\Ag\Main;
|
||||
use App\Entity\Ag\MainMember;
|
||||
use App\Entity\MembersCotisations;
|
||||
use App\Form\RequestPasswordConfirmType;
|
||||
use App\Form\RequestPasswordRequestType;
|
||||
use App\Repository\Ag\MainMemberRepository;
|
||||
use App\Repository\Ag\MainRepository;
|
||||
use App\Repository\Ag\MainSignedRepository;
|
||||
use App\Service\Mailer\Mailer;
|
||||
use App\Service\ResetPassword\Event\ResetPasswordConfirmEvent;
|
||||
use App\Service\ResetPassword\Event\ResetPasswordEvent;
|
||||
@@ -28,13 +32,31 @@ class AdController extends AbstractController
|
||||
{
|
||||
|
||||
#[Route(path: '/adh/{id}', name: 'app_adh', options: ['sitemap' => false], methods: ['GET','POST'])]
|
||||
public function adh(?Main $main,Request $request): Response
|
||||
public function adh(?Main $main,Request $request,EntityManagerInterface $entityManager,MainMemberRepository $mainMemberRepository,MainSignedRepository $mainSignedRepository): Response
|
||||
{
|
||||
if(!$main instanceof Main){
|
||||
return $this->redirectToRoute('app_home');
|
||||
}
|
||||
|
||||
if($request->query->has('validateResult')) {
|
||||
|
||||
$vr = $mainSignedRepository->find($request->query->get('vr'));
|
||||
$r = $mainMemberRepository->findOneBy(['main'=>$main,'member'=>$vr->getMembers()]);
|
||||
if(!$r instanceof MainMember){
|
||||
$r = new MainMember();
|
||||
$r->setMain($main);
|
||||
$r->setMember($vr->getMembers());
|
||||
$t = new \DateTime();
|
||||
$tz = new \DateTime();
|
||||
$tz->modify('+1 year');
|
||||
$isValid = $vr->getMembers()->getMembersCotisations()->filter(function (MembersCotisations $membersCotisations) use ($t,$tz) {
|
||||
return ($membersCotisations->getStartdATE()->format('Y') == $t->format('Y')) && ($membersCotisations->getEndDate()->format('Y') == $tz->format('Y'));
|
||||
})->first();
|
||||
|
||||
$r->setIsVotedAllow($isValid instanceof MembersCotisations);
|
||||
$entityManager->persist($r);
|
||||
$entityManager->flush();
|
||||
}
|
||||
return $this->render('adh_validate.twig',[
|
||||
'main' => $main,
|
||||
]);
|
||||
|
||||
@@ -321,7 +321,7 @@ class AdminController extends AbstractController
|
||||
'submitters' => [
|
||||
[
|
||||
'role' => 'First Party',
|
||||
'email' => 'contact@e-cosplay.fr'
|
||||
'email' => 'contact@e-cosplay.fr',
|
||||
]
|
||||
]
|
||||
]);
|
||||
@@ -372,10 +372,11 @@ class AdminController extends AbstractController
|
||||
$isSigned->setMain($main);
|
||||
$isSigned->setSubmiterId(0);
|
||||
$entityManager->persist($isSigned);
|
||||
//$entityManager->flush();
|
||||
$entityManager->flush();
|
||||
$submitters[] = [
|
||||
'role' => 'member_'.$member->getId(),
|
||||
'email' => $member->getEmail(),
|
||||
'completed_redirect_url' =>$urlRoot.$this->generateUrl('app_adh',['id'=>$main->getId(),'validateResult'=>true,'vr'=>$isSigned->getId()]),
|
||||
];
|
||||
$rList[$member->getId()] = $isSigned;
|
||||
}
|
||||
@@ -400,7 +401,6 @@ class AdminController extends AbstractController
|
||||
'file' => $url
|
||||
]
|
||||
],
|
||||
'completed_redirect_url' => $urlRoot.$this->generateUrl('app_adh',['id'=>$main->getId(),'validateResult'=>true]),
|
||||
'submitters' => $submitters
|
||||
];
|
||||
$docuseal = new \Docuseal\Api('pgAU116mCFmeF7WQSezHqxtZW8V1fgo31u5d2FXoaKe', 'https://signature.esy-web.dev/api');
|
||||
|
||||
Reference in New Issue
Block a user