Loading module/Application/config/others/admin.config.php +0 −9 Changes for module/Application/config/others/admin.config.php: 0 added lines, 9 removed lines. Original line number Diff line number Diff line Loading @@ -12,8 +12,6 @@ use Application\Form\Factory\MailConfirmationFormFactory; use Application\Form\Factory\MailConfirmationHydratorFactory; use Application\Service\MailConfirmationServiceFactory; use Application\Controller\Factory\MailConfirmationControllerFactory; use Application\Controller\CobayeController; use Application\Controller\Factory\CobayeControllerFactory; use Application\Provider\Privilege\ThesePrivileges; return [ Loading Loading @@ -72,13 +70,6 @@ return [ ], 'privileges' => ThesePrivileges::THESE_CONSULTATION_FICHE, ], [ 'controller' => CobayeController::class, 'action' => [ 'index', ], 'privileges' => UtilisateurPrivileges::UTILISATEUR_ATTRIBUTION_ROLE, ], ], ], ], Loading module/Application/src/Application/Controller/DoctorantController.php +16 −41 Changes for module/Application/src/Application/Controller/DoctorantController.php: 16 added lines, 41 removed lines. Original line number Diff line number Diff line Loading @@ -33,47 +33,22 @@ class DoctorantController extends AbstractController public function modifierPersopassAction() { $doctorant = $this->requestDoctorant(); // $form = $this->getModifierPersopassForm(); // $form->setData([ // 'identity' => $doctorant->getPersopass(), // 'credential' => '', // ]); // // $request = $this->getRequest(); // if ($request->isPost()) { // /** @var ParametersInterface $post */ // $post = $this->getRequest()->getPost(); // $form->setData($post); // if ($form->isValid()) { // if ($result = $this->validatePersopass($post['identity'], $post['credential'])) { // try { // $this->doctorantService->updateDoctorant($doctorant, $result); // // // prise en compte du paramètre GET 'return' positionné par SaisiePersopassRouteDeflector : // if ($redirectUri = $this->params()->fromQuery('return')) { // return $this->redirect()->toUrl($redirectUri); // } // // if (!$request->isXmlHttpRequest()) { // return $this->redirect()->toRoute('home', [], [], true); // } // } catch (DBALException $e) { // $f = new DbExceptionFormatter(); // $message = $f->filter($e); // $form->setMessages(['credential' => [$message]]); // } // } // else { // $form->setMessages(['credential' => ["Identifiant ou mot de passe incorrect"]]); // } // } // } // // $form->setAttribute('action', $request->getRequestUri()); // // $variable = $this->variableService->getRepository()->findByCodeAndEtab( // Variable::CODE_EMAIL_BDD, // $doctorant->getEtablissement()); $mailConfirmation = $this->mailConfirmationService->getDemandeConfirmeeByIndividu($doctorant->getIndividu()); if ($mailConfirmation !== null) { $viewmodel = new ViewModel(); $viewmodel->setTemplate('application/doctorant/demande-ok'); return $viewmodel; } $mailConfirmation = $this->mailConfirmationService->getDemandeEnCoursByIndividu($doctorant->getIndividu()); //Si on a déjà une demande en attente if ($mailConfirmation !== null) { $viewmodel = new ViewModel(); $viewmodel->setTemplate('application/doctorant/demande-encours'); return $viewmodel; } $mailConfirmation = new MailConfirmation(); $mailConfirmation->setIndividu($doctorant->getIndividu()); Loading module/Application/src/Application/Controller/MailConfirmationController.php +7 −7 Changes for module/Application/src/Application/Controller/MailConfirmationController.php: 7 added lines, 7 removed lines. Original line number Diff line number Diff line Loading @@ -91,8 +91,7 @@ class MailConfirmationController extends AbstractController { $mailConfirmation = $this->mailConfirmationService->getDemandeById($id); $confirm = $this->url()->fromRoute('mail-confirmation-reception', ['id' => $mailConfirmation->getId(), 'code' => $mailConfirmation->getCode()], [] , true); var_dump($confirm); $confirm = $this->url()->fromRoute('mail-confirmation-reception', ['id' => $mailConfirmation->getId(), 'code' => $mailConfirmation->getCode()], ['force_canonical' => true] , true); $destinataire = $mailConfirmation->getIndividu()->getPrenom1() ." ". $mailConfirmation->getIndividu()->getNomUsuel() . " " . "<<tt>".$mailConfirmation->getEmail()."</tt>>"; $titre = "[SyGAL] Confirmation de votre email"; $corps = "<br/>" Loading @@ -106,14 +105,15 @@ class MailConfirmationController extends AbstractController { $this->notificationService->notifierMailConfirmation($mailConfirmation, $titre, $corps); return $this->redirect()->toRoute('these'); /** Branchement du mail mais peut être echanger avec une vue classique en * décommentant le code si dessous*/ return new ViewModel([ 'destinataire' => $destinataire, 'titre' => $titre, 'corps' => $corps, ]); // return new ViewModel([ // 'destinataire' => $destinataire, // 'titre' => $titre, // 'corps' => $corps, // ]); } /** Loading module/Application/src/Application/Service/MailConfirmationService.php +12 −0 Changes for module/Application/src/Application/Service/MailConfirmationService.php: 12 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -17,6 +17,18 @@ class MailConfirmationService { return $mailConfirmation; } public function getDemandeEnCoursByIndividu($individu) { $mailConfirmation = $this->getEntityManager()->getRepository(MailConfirmation::class)->findOneBy(["individu"=>$individu, "etat" => MailConfirmation::ENVOYER]); return $mailConfirmation; } public function getDemandeConfirmeeByIndividu($individu) { $mailConfirmation = $this->getEntityManager()->getRepository(MailConfirmation::class)->findOneBy(["individu"=>$individu, "etat" => MailConfirmation::CONFIRMER]); return $mailConfirmation; } /** * @return MailConfirmation[] $confirmations */ Loading module/Application/src/Application/Service/Notification/NotificationService.php +14 −0 Changes for module/Application/src/Application/Service/Notification/NotificationService.php: 14 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -499,4 +499,18 @@ class NotificationService $viewModel->setVariable('to', $mails); $this->notifier($viewModel); } public function notifierMailConfirmation($mailConfirmation, $titre, $corps) { $viewModel = (new ViewModel()) ->setTemplate('application/doctorant/empty-mail') ->setVariables([ 'destinataire' => $mailConfirmation->getIndividu()->getNomUsuel(), 'titre' => $titre, 'corps' => $corps, ]); $viewModel->setVariable('to', $mailConfirmation->getEmail()); $viewModel->setVariable('subject', $titre); $this->notifier($viewModel); } } No newline at end of file Loading
module/Application/config/others/admin.config.php +0 −9 Changes for module/Application/config/others/admin.config.php: 0 added lines, 9 removed lines. Original line number Diff line number Diff line Loading @@ -12,8 +12,6 @@ use Application\Form\Factory\MailConfirmationFormFactory; use Application\Form\Factory\MailConfirmationHydratorFactory; use Application\Service\MailConfirmationServiceFactory; use Application\Controller\Factory\MailConfirmationControllerFactory; use Application\Controller\CobayeController; use Application\Controller\Factory\CobayeControllerFactory; use Application\Provider\Privilege\ThesePrivileges; return [ Loading Loading @@ -72,13 +70,6 @@ return [ ], 'privileges' => ThesePrivileges::THESE_CONSULTATION_FICHE, ], [ 'controller' => CobayeController::class, 'action' => [ 'index', ], 'privileges' => UtilisateurPrivileges::UTILISATEUR_ATTRIBUTION_ROLE, ], ], ], ], Loading
module/Application/src/Application/Controller/DoctorantController.php +16 −41 Changes for module/Application/src/Application/Controller/DoctorantController.php: 16 added lines, 41 removed lines. Original line number Diff line number Diff line Loading @@ -33,47 +33,22 @@ class DoctorantController extends AbstractController public function modifierPersopassAction() { $doctorant = $this->requestDoctorant(); // $form = $this->getModifierPersopassForm(); // $form->setData([ // 'identity' => $doctorant->getPersopass(), // 'credential' => '', // ]); // // $request = $this->getRequest(); // if ($request->isPost()) { // /** @var ParametersInterface $post */ // $post = $this->getRequest()->getPost(); // $form->setData($post); // if ($form->isValid()) { // if ($result = $this->validatePersopass($post['identity'], $post['credential'])) { // try { // $this->doctorantService->updateDoctorant($doctorant, $result); // // // prise en compte du paramètre GET 'return' positionné par SaisiePersopassRouteDeflector : // if ($redirectUri = $this->params()->fromQuery('return')) { // return $this->redirect()->toUrl($redirectUri); // } // // if (!$request->isXmlHttpRequest()) { // return $this->redirect()->toRoute('home', [], [], true); // } // } catch (DBALException $e) { // $f = new DbExceptionFormatter(); // $message = $f->filter($e); // $form->setMessages(['credential' => [$message]]); // } // } // else { // $form->setMessages(['credential' => ["Identifiant ou mot de passe incorrect"]]); // } // } // } // // $form->setAttribute('action', $request->getRequestUri()); // // $variable = $this->variableService->getRepository()->findByCodeAndEtab( // Variable::CODE_EMAIL_BDD, // $doctorant->getEtablissement()); $mailConfirmation = $this->mailConfirmationService->getDemandeConfirmeeByIndividu($doctorant->getIndividu()); if ($mailConfirmation !== null) { $viewmodel = new ViewModel(); $viewmodel->setTemplate('application/doctorant/demande-ok'); return $viewmodel; } $mailConfirmation = $this->mailConfirmationService->getDemandeEnCoursByIndividu($doctorant->getIndividu()); //Si on a déjà une demande en attente if ($mailConfirmation !== null) { $viewmodel = new ViewModel(); $viewmodel->setTemplate('application/doctorant/demande-encours'); return $viewmodel; } $mailConfirmation = new MailConfirmation(); $mailConfirmation->setIndividu($doctorant->getIndividu()); Loading
module/Application/src/Application/Controller/MailConfirmationController.php +7 −7 Changes for module/Application/src/Application/Controller/MailConfirmationController.php: 7 added lines, 7 removed lines. Original line number Diff line number Diff line Loading @@ -91,8 +91,7 @@ class MailConfirmationController extends AbstractController { $mailConfirmation = $this->mailConfirmationService->getDemandeById($id); $confirm = $this->url()->fromRoute('mail-confirmation-reception', ['id' => $mailConfirmation->getId(), 'code' => $mailConfirmation->getCode()], [] , true); var_dump($confirm); $confirm = $this->url()->fromRoute('mail-confirmation-reception', ['id' => $mailConfirmation->getId(), 'code' => $mailConfirmation->getCode()], ['force_canonical' => true] , true); $destinataire = $mailConfirmation->getIndividu()->getPrenom1() ." ". $mailConfirmation->getIndividu()->getNomUsuel() . " " . "<<tt>".$mailConfirmation->getEmail()."</tt>>"; $titre = "[SyGAL] Confirmation de votre email"; $corps = "<br/>" Loading @@ -106,14 +105,15 @@ class MailConfirmationController extends AbstractController { $this->notificationService->notifierMailConfirmation($mailConfirmation, $titre, $corps); return $this->redirect()->toRoute('these'); /** Branchement du mail mais peut être echanger avec une vue classique en * décommentant le code si dessous*/ return new ViewModel([ 'destinataire' => $destinataire, 'titre' => $titre, 'corps' => $corps, ]); // return new ViewModel([ // 'destinataire' => $destinataire, // 'titre' => $titre, // 'corps' => $corps, // ]); } /** Loading
module/Application/src/Application/Service/MailConfirmationService.php +12 −0 Changes for module/Application/src/Application/Service/MailConfirmationService.php: 12 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -17,6 +17,18 @@ class MailConfirmationService { return $mailConfirmation; } public function getDemandeEnCoursByIndividu($individu) { $mailConfirmation = $this->getEntityManager()->getRepository(MailConfirmation::class)->findOneBy(["individu"=>$individu, "etat" => MailConfirmation::ENVOYER]); return $mailConfirmation; } public function getDemandeConfirmeeByIndividu($individu) { $mailConfirmation = $this->getEntityManager()->getRepository(MailConfirmation::class)->findOneBy(["individu"=>$individu, "etat" => MailConfirmation::CONFIRMER]); return $mailConfirmation; } /** * @return MailConfirmation[] $confirmations */ Loading
module/Application/src/Application/Service/Notification/NotificationService.php +14 −0 Changes for module/Application/src/Application/Service/Notification/NotificationService.php: 14 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -499,4 +499,18 @@ class NotificationService $viewModel->setVariable('to', $mails); $this->notifier($viewModel); } public function notifierMailConfirmation($mailConfirmation, $titre, $corps) { $viewModel = (new ViewModel()) ->setTemplate('application/doctorant/empty-mail') ->setVariables([ 'destinataire' => $mailConfirmation->getIndividu()->getNomUsuel(), 'titre' => $titre, 'corps' => $corps, ]); $viewModel->setVariable('to', $mailConfirmation->getEmail()); $viewModel->setVariable('subject', $titre); $this->notifier($viewModel); } } No newline at end of file