✨ 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\Account;
|
||||||
use App\Entity\AccountResetPasswordRequest;
|
use App\Entity\AccountResetPasswordRequest;
|
||||||
use App\Entity\Ag\Main;
|
use App\Entity\Ag\Main;
|
||||||
|
use App\Entity\Ag\MainMember;
|
||||||
|
use App\Entity\MembersCotisations;
|
||||||
use App\Form\RequestPasswordConfirmType;
|
use App\Form\RequestPasswordConfirmType;
|
||||||
use App\Form\RequestPasswordRequestType;
|
use App\Form\RequestPasswordRequestType;
|
||||||
|
use App\Repository\Ag\MainMemberRepository;
|
||||||
use App\Repository\Ag\MainRepository;
|
use App\Repository\Ag\MainRepository;
|
||||||
|
use App\Repository\Ag\MainSignedRepository;
|
||||||
use App\Service\Mailer\Mailer;
|
use App\Service\Mailer\Mailer;
|
||||||
use App\Service\ResetPassword\Event\ResetPasswordConfirmEvent;
|
use App\Service\ResetPassword\Event\ResetPasswordConfirmEvent;
|
||||||
use App\Service\ResetPassword\Event\ResetPasswordEvent;
|
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'])]
|
#[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){
|
if(!$main instanceof Main){
|
||||||
return $this->redirectToRoute('app_home');
|
return $this->redirectToRoute('app_home');
|
||||||
}
|
}
|
||||||
|
|
||||||
if($request->query->has('validateResult')) {
|
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',[
|
return $this->render('adh_validate.twig',[
|
||||||
'main' => $main,
|
'main' => $main,
|
||||||
]);
|
]);
|
||||||
|
|||||||
@@ -321,7 +321,7 @@ class AdminController extends AbstractController
|
|||||||
'submitters' => [
|
'submitters' => [
|
||||||
[
|
[
|
||||||
'role' => 'First Party',
|
'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->setMain($main);
|
||||||
$isSigned->setSubmiterId(0);
|
$isSigned->setSubmiterId(0);
|
||||||
$entityManager->persist($isSigned);
|
$entityManager->persist($isSigned);
|
||||||
//$entityManager->flush();
|
$entityManager->flush();
|
||||||
$submitters[] = [
|
$submitters[] = [
|
||||||
'role' => 'member_'.$member->getId(),
|
'role' => 'member_'.$member->getId(),
|
||||||
'email' => $member->getEmail(),
|
'email' => $member->getEmail(),
|
||||||
|
'completed_redirect_url' =>$urlRoot.$this->generateUrl('app_adh',['id'=>$main->getId(),'validateResult'=>true,'vr'=>$isSigned->getId()]),
|
||||||
];
|
];
|
||||||
$rList[$member->getId()] = $isSigned;
|
$rList[$member->getId()] = $isSigned;
|
||||||
}
|
}
|
||||||
@@ -400,7 +401,6 @@ class AdminController extends AbstractController
|
|||||||
'file' => $url
|
'file' => $url
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
'completed_redirect_url' => $urlRoot.$this->generateUrl('app_adh',['id'=>$main->getId(),'validateResult'=>true]),
|
|
||||||
'submitters' => $submitters
|
'submitters' => $submitters
|
||||||
];
|
];
|
||||||
$docuseal = new \Docuseal\Api('pgAU116mCFmeF7WQSezHqxtZW8V1fgo31u5d2FXoaKe', 'https://signature.esy-web.dev/api');
|
$docuseal = new \Docuseal\Api('pgAU116mCFmeF7WQSezHqxtZW8V1fgo31u5d2FXoaKe', 'https://signature.esy-web.dev/api');
|
||||||
|
|||||||
Reference in New Issue
Block a user