Loading module/Application/config/others/admin.config.php +30 −0 Changes for module/Application/config/others/admin.config.php: 30 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -12,6 +12,9 @@ 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 [ 'bjyauthorize' => [ Loading Loading @@ -61,6 +64,21 @@ return [ ], 'privileges' => UtilisateurPrivileges::UTILISATEUR_ATTRIBUTION_ROLE, ], [ 'controller' => MailConfirmationController::class, 'action' => [ 'envoie', 'reception', ], 'privileges' => ThesePrivileges::THESE_CONSULTATION_FICHE, ], [ 'controller' => CobayeController::class, 'action' => [ 'index', ], 'privileges' => UtilisateurPrivileges::UTILISATEUR_ATTRIBUTION_ROLE, ], ], ], ], Loading Loading @@ -150,6 +168,16 @@ return [ ], ], ], 'cobaye' => [ 'type' => Literal::class, 'options' => [ 'route' => '/cobaye', 'defaults' => [ 'controller' => CobayeController::class, 'action' => 'index', ], ], ], 'test-envoi-mail' => [ 'type' => 'Segment', 'options' => [ Loading Loading @@ -200,10 +228,12 @@ return [ 'controllers' => [ 'invokables' => [ 'Application\Controller\Admin' => AdminController::class, ], 'factories' => [ 'Application\Controller\Role' => RoleControllerFactory::class, MailConfirmationController::class => MailConfirmationControllerFactory::class, CobayeController::class => CobayeControllerFactory::class, ], ], Loading module/Application/src/Application/Controller/DoctorantController.php +69 −37 Changes for module/Application/src/Application/Controller/DoctorantController.php: 69 added lines, 37 removed lines. Original line number Diff line number Diff line Loading @@ -3,10 +3,12 @@ namespace Application\Controller; use Application\Entity\Db\Doctorant; use Application\Entity\Db\MailConfirmation; use Application\Entity\Db\Variable; use Application\Filter\DbExceptionFormatter; use Application\RouteMatch; use Application\Service\Doctorant\DoctorantServiceAwareTrait; use Application\Service\MailConfirmationService; use Application\Service\Variable\VariableServiceAwareTrait; use Doctrine\DBAL\DBALException; use UnicaenAuth\Authentication\Adapter\Ldap as LdapAuthAdapter; Loading @@ -20,58 +22,88 @@ class DoctorantController extends AbstractController use VariableServiceAwareTrait; use DoctorantServiceAwareTrait; /** @var MailConfirmationService $mailConfirmationService */ private $mailConfirmationService; public function setMailConfirmationService(MailConfirmationService $mailConfirmationService) { $this->mailConfirmationService = $mailConfirmationService; } public function modifierPersopassAction() { $doctorant = $this->requestDoctorant(); $form = $this->getModifierPersopassForm(); $form->setData([ 'identity' => $doctorant->getPersopass(), 'credential' => '', ]); // $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 = new MailConfirmation(); $mailConfirmation->setIndividu($doctorant->getIndividu()); $mailConfirmation->setEtat(MailConfirmation::ENVOYER); $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"]]); } $data = $request->getPost(); $email = $data['email']; if (filter_var($data['email'], FILTER_VALIDATE_EMAIL)) { $mailConfirmation->setEmail($email); $id = $this->mailConfirmationService->save($mailConfirmation); $this->mailConfirmationService->generateCode($id); $this->redirect()->toRoute('mail-confirmation-envoie', ['id' => $id], [], true); } else { $this->flashMessenger()->addErrorMessage("L'email fourni <strong>".$email."</strong> est non valide."); } } $form->setAttribute('action', $request->getRequestUri()); $form = $this->getServiceLocator()->get('FormElementManager')->get('MailConfirmationForm'); $variable = $this->variableService->getRepository()->findByCodeAndEtab( Variable::CODE_EMAIL_BDD, $doctorant->getEtablissement()); $form->bind($mailConfirmation); return new ViewModel([ 'doctorant' => $doctorant, 'form' => $form, 'title' => "Saisie du Persopass", 'detournement' => (bool) $this->params('detournement'), 'emailBdD' => $variable->getValeur(), 'title' => "Saisie du mail de contact", //'detournement' => (bool) $this->params('detournement'), //'emailBdD' => $variable->getValeur(), ]); } Loading module/Application/src/Application/Controller/Factory/DoctorantControllerFactory.php +3 −0 Changes for module/Application/src/Application/Controller/Factory/DoctorantControllerFactory.php: 3 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ use Application\Controller\DoctorantController; use Application\Service\Doctorant\DoctorantService; use Application\Service\Variable\VariableService; use Zend\Mvc\Controller\ControllerManager; use Application\Service\MailConfirmationService; class DoctorantControllerFactory { Loading @@ -23,10 +24,12 @@ class DoctorantControllerFactory */ $variableService = $controllerManager->getServiceLocator()->get('VariableService'); $doctorantService = $controllerManager->getServiceLocator()->get('DoctorantService'); $mailConfirmationService = $controllerManager->getServiceLocator()->get('MailConfirmationService'); $controller = new DoctorantController(); $controller->setVariableService($variableService); $controller->setDoctorantService($doctorantService); $controller->setMailConfirmationService($mailConfirmationService); return $controller; } Loading module/Application/src/Application/Controller/MailConfirmationController.php +6 −1 Changes for module/Application/src/Application/Controller/MailConfirmationController.php: 6 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -4,7 +4,6 @@ namespace Application\Controller; use Application\Entity\Db\MailConfirmation; use Application\Form\MailConfirmationForm; use Application\Service\Individu\IndividuService; use Application\Service\Individu\IndividuServiceAwareTrait; use Application\Service\MailConfirmationService; use Application\Service\Notification\NotificationServiceAwareTrait; Loading Loading @@ -53,11 +52,17 @@ class MailConfirmationController extends AbstractController { if (isset($data['email']) && $data['email'] !== "") { $mailConfirmation->setEmail($data['email']); if (filter_var($data['email'], FILTER_VALIDATE_EMAIL)) { //enresgistrement de la demande $id = $this->mailConfirmationService->save($mailConfirmation); $this->mailConfirmationService->generateCode($id); $this->redirect()->toRoute('mail-confirmation-envoie', ['id' => $id], [], true); $form = null; } else { $this->flashMessenger()->addErrorMessage("MailConfirmation: Votre email n'est pas valide"); } } else { //pas de mail on reste sur le formulaire } Loading module/Application/view/application/doctorant/modifier-persopass.phtml +50 −33 Changes for module/Application/view/application/doctorant/modifier-persopass.phtml: 50 added lines, 33 removed lines. Original line number Diff line number Diff line Loading @@ -16,46 +16,63 @@ use Zend\Form\Form; <h1 class="page-header"><?php echo $title ?></h1> <?php if ($detournement): ?> <p class="lead"> Avant de continuer, merci de saisir votre identifiant <abbr title="Compte d'accès au système d'information de l'université">PersoP@ss</abbr>, svp. <br> Il sera utile ultérieurement dans l'application pour faire le lien entre vos comptes étudiant et personnel. </p> <?php else: ?> <?php //if ($detournement): ?> <!-- <p class="lead">--> <!-- Avant de continuer, merci de saisir votre identifiant--> <!-- <abbr title="Compte d'accès au système d'information de l'université">PersoP@ss</abbr>, svp. <br>--> <!-- Il sera utile ultérieurement dans l'application pour faire le lien entre vos comptes étudiant et personnel.--> <!-- </p>--> <?php //else: ?> <!-- <p class="lead">--> <!-- L'identifiant <abbr title="Compte d'accès au système d'information de l'université">PersoP@ss</abbr>--> <!-- sera utile ultérieurement dans l'application pour faire le lien entre vos comptes étudiant et personnel.--> <!-- </p>--> <?php //endif ?> <p class="lead"> L'identifiant <abbr title="Compte d'accès au système d'information de l'université">PersoP@ss</abbr> sera utile ultérieurement dans l'application pour faire le lien entre vos comptes étudiant et personnel. Avant de continer, merci de bien saissir une adresse mail de contact. Cette adresse sera utilisée par SyGAL pour vous communiquer les informations importantes associées à votre thèse. Cette adresse peut aussi être utilisée afin de vous identifier à SyGAL. </p> <?php endif ?> <p class="alert alert-info"> <strong>NB:</strong> Si vous ne possédez pas encore d'identifiant <abbr title="Compte d'accès au système d'information de l'université">PersoP@ss</abbr>, envoyez un mail à <a href="mailto:<?php echo $email = $emailBdD ?>"><?php echo $email ?></a>. <strong>NB:</strong> L'adresse mail de contact de vous saisez ici doit être une adresse durable (autre que vos adresses mails fornies par votre établissement). </p> <?php //echo $this->messenger()->addCurrentMessagesFromFlashMessenger() ?> <?php echo $this->form()->openTag($form) ?> <?php if (($errors = $this->formErrors($form))): ?> <p><?php echo $errors ?></p> <?php endif ?> <?php //echo $this->form()->openTag($form) ?> <!----> <?php //if (($errors = $this->formErrors($form))): ?> <!-- <p>--><?php //echo $errors ?><!--</p>--> <?php //endif ?> <!----> <?php $identity = $form->get($name = 'identity'); $credential = $form->get($name = 'credential'); $identity->setAttributes(['autocomplete' => 'off']); $credential->setAttributes(['autocomplete' => 'off']); //$identity = $form->get($name = 'identity'); //$credential = $form->get($name = 'credential'); // //$identity->setAttributes(['autocomplete' => 'off']); //$credential->setAttributes(['autocomplete' => 'off']); // //$fcg = $this->formControlGroup()->setIncludeErrors(false); //echo $fcg->render($identity); //echo $fcg->render($credential->setLabel("Mot de passe (permet d'authentifier l'identifiant)")); //?> <!----> <?php //echo $this->formElement($form->get('submit')) ?> <!----> <?php //echo $this->form()->closeTag() ?> <!----> $fcg = $this->formControlGroup()->setIncludeErrors(false); echo $fcg->render($identity); echo $fcg->render($credential->setLabel("Mot de passe (permet d'authentifier l'identifiant)")); <?php $fcg = $this->formControlGroup(); echo $this->form()->openTag($form->prepare()->setAttribute('class', 'mail-confirmation')); echo $fcg($form->get('id')); echo $fcg($form->get('idIndividu')); echo $fcg($form->get('individu')); echo $fcg($form->get('email')); echo $fcg($form->get('enregistrer')); echo $this->form()->closeTag(); ?> No newline at end of file <?php echo $this->formElement($form->get('submit')) ?> <?php echo $this->form()->closeTag() ?> Loading
module/Application/config/others/admin.config.php +30 −0 Changes for module/Application/config/others/admin.config.php: 30 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -12,6 +12,9 @@ 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 [ 'bjyauthorize' => [ Loading Loading @@ -61,6 +64,21 @@ return [ ], 'privileges' => UtilisateurPrivileges::UTILISATEUR_ATTRIBUTION_ROLE, ], [ 'controller' => MailConfirmationController::class, 'action' => [ 'envoie', 'reception', ], 'privileges' => ThesePrivileges::THESE_CONSULTATION_FICHE, ], [ 'controller' => CobayeController::class, 'action' => [ 'index', ], 'privileges' => UtilisateurPrivileges::UTILISATEUR_ATTRIBUTION_ROLE, ], ], ], ], Loading Loading @@ -150,6 +168,16 @@ return [ ], ], ], 'cobaye' => [ 'type' => Literal::class, 'options' => [ 'route' => '/cobaye', 'defaults' => [ 'controller' => CobayeController::class, 'action' => 'index', ], ], ], 'test-envoi-mail' => [ 'type' => 'Segment', 'options' => [ Loading Loading @@ -200,10 +228,12 @@ return [ 'controllers' => [ 'invokables' => [ 'Application\Controller\Admin' => AdminController::class, ], 'factories' => [ 'Application\Controller\Role' => RoleControllerFactory::class, MailConfirmationController::class => MailConfirmationControllerFactory::class, CobayeController::class => CobayeControllerFactory::class, ], ], Loading
module/Application/src/Application/Controller/DoctorantController.php +69 −37 Changes for module/Application/src/Application/Controller/DoctorantController.php: 69 added lines, 37 removed lines. Original line number Diff line number Diff line Loading @@ -3,10 +3,12 @@ namespace Application\Controller; use Application\Entity\Db\Doctorant; use Application\Entity\Db\MailConfirmation; use Application\Entity\Db\Variable; use Application\Filter\DbExceptionFormatter; use Application\RouteMatch; use Application\Service\Doctorant\DoctorantServiceAwareTrait; use Application\Service\MailConfirmationService; use Application\Service\Variable\VariableServiceAwareTrait; use Doctrine\DBAL\DBALException; use UnicaenAuth\Authentication\Adapter\Ldap as LdapAuthAdapter; Loading @@ -20,58 +22,88 @@ class DoctorantController extends AbstractController use VariableServiceAwareTrait; use DoctorantServiceAwareTrait; /** @var MailConfirmationService $mailConfirmationService */ private $mailConfirmationService; public function setMailConfirmationService(MailConfirmationService $mailConfirmationService) { $this->mailConfirmationService = $mailConfirmationService; } public function modifierPersopassAction() { $doctorant = $this->requestDoctorant(); $form = $this->getModifierPersopassForm(); $form->setData([ 'identity' => $doctorant->getPersopass(), 'credential' => '', ]); // $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 = new MailConfirmation(); $mailConfirmation->setIndividu($doctorant->getIndividu()); $mailConfirmation->setEtat(MailConfirmation::ENVOYER); $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"]]); } $data = $request->getPost(); $email = $data['email']; if (filter_var($data['email'], FILTER_VALIDATE_EMAIL)) { $mailConfirmation->setEmail($email); $id = $this->mailConfirmationService->save($mailConfirmation); $this->mailConfirmationService->generateCode($id); $this->redirect()->toRoute('mail-confirmation-envoie', ['id' => $id], [], true); } else { $this->flashMessenger()->addErrorMessage("L'email fourni <strong>".$email."</strong> est non valide."); } } $form->setAttribute('action', $request->getRequestUri()); $form = $this->getServiceLocator()->get('FormElementManager')->get('MailConfirmationForm'); $variable = $this->variableService->getRepository()->findByCodeAndEtab( Variable::CODE_EMAIL_BDD, $doctorant->getEtablissement()); $form->bind($mailConfirmation); return new ViewModel([ 'doctorant' => $doctorant, 'form' => $form, 'title' => "Saisie du Persopass", 'detournement' => (bool) $this->params('detournement'), 'emailBdD' => $variable->getValeur(), 'title' => "Saisie du mail de contact", //'detournement' => (bool) $this->params('detournement'), //'emailBdD' => $variable->getValeur(), ]); } Loading
module/Application/src/Application/Controller/Factory/DoctorantControllerFactory.php +3 −0 Changes for module/Application/src/Application/Controller/Factory/DoctorantControllerFactory.php: 3 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ use Application\Controller\DoctorantController; use Application\Service\Doctorant\DoctorantService; use Application\Service\Variable\VariableService; use Zend\Mvc\Controller\ControllerManager; use Application\Service\MailConfirmationService; class DoctorantControllerFactory { Loading @@ -23,10 +24,12 @@ class DoctorantControllerFactory */ $variableService = $controllerManager->getServiceLocator()->get('VariableService'); $doctorantService = $controllerManager->getServiceLocator()->get('DoctorantService'); $mailConfirmationService = $controllerManager->getServiceLocator()->get('MailConfirmationService'); $controller = new DoctorantController(); $controller->setVariableService($variableService); $controller->setDoctorantService($doctorantService); $controller->setMailConfirmationService($mailConfirmationService); return $controller; } Loading
module/Application/src/Application/Controller/MailConfirmationController.php +6 −1 Changes for module/Application/src/Application/Controller/MailConfirmationController.php: 6 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -4,7 +4,6 @@ namespace Application\Controller; use Application\Entity\Db\MailConfirmation; use Application\Form\MailConfirmationForm; use Application\Service\Individu\IndividuService; use Application\Service\Individu\IndividuServiceAwareTrait; use Application\Service\MailConfirmationService; use Application\Service\Notification\NotificationServiceAwareTrait; Loading Loading @@ -53,11 +52,17 @@ class MailConfirmationController extends AbstractController { if (isset($data['email']) && $data['email'] !== "") { $mailConfirmation->setEmail($data['email']); if (filter_var($data['email'], FILTER_VALIDATE_EMAIL)) { //enresgistrement de la demande $id = $this->mailConfirmationService->save($mailConfirmation); $this->mailConfirmationService->generateCode($id); $this->redirect()->toRoute('mail-confirmation-envoie', ['id' => $id], [], true); $form = null; } else { $this->flashMessenger()->addErrorMessage("MailConfirmation: Votre email n'est pas valide"); } } else { //pas de mail on reste sur le formulaire } Loading
module/Application/view/application/doctorant/modifier-persopass.phtml +50 −33 Changes for module/Application/view/application/doctorant/modifier-persopass.phtml: 50 added lines, 33 removed lines. Original line number Diff line number Diff line Loading @@ -16,46 +16,63 @@ use Zend\Form\Form; <h1 class="page-header"><?php echo $title ?></h1> <?php if ($detournement): ?> <p class="lead"> Avant de continuer, merci de saisir votre identifiant <abbr title="Compte d'accès au système d'information de l'université">PersoP@ss</abbr>, svp. <br> Il sera utile ultérieurement dans l'application pour faire le lien entre vos comptes étudiant et personnel. </p> <?php else: ?> <?php //if ($detournement): ?> <!-- <p class="lead">--> <!-- Avant de continuer, merci de saisir votre identifiant--> <!-- <abbr title="Compte d'accès au système d'information de l'université">PersoP@ss</abbr>, svp. <br>--> <!-- Il sera utile ultérieurement dans l'application pour faire le lien entre vos comptes étudiant et personnel.--> <!-- </p>--> <?php //else: ?> <!-- <p class="lead">--> <!-- L'identifiant <abbr title="Compte d'accès au système d'information de l'université">PersoP@ss</abbr>--> <!-- sera utile ultérieurement dans l'application pour faire le lien entre vos comptes étudiant et personnel.--> <!-- </p>--> <?php //endif ?> <p class="lead"> L'identifiant <abbr title="Compte d'accès au système d'information de l'université">PersoP@ss</abbr> sera utile ultérieurement dans l'application pour faire le lien entre vos comptes étudiant et personnel. Avant de continer, merci de bien saissir une adresse mail de contact. Cette adresse sera utilisée par SyGAL pour vous communiquer les informations importantes associées à votre thèse. Cette adresse peut aussi être utilisée afin de vous identifier à SyGAL. </p> <?php endif ?> <p class="alert alert-info"> <strong>NB:</strong> Si vous ne possédez pas encore d'identifiant <abbr title="Compte d'accès au système d'information de l'université">PersoP@ss</abbr>, envoyez un mail à <a href="mailto:<?php echo $email = $emailBdD ?>"><?php echo $email ?></a>. <strong>NB:</strong> L'adresse mail de contact de vous saisez ici doit être une adresse durable (autre que vos adresses mails fornies par votre établissement). </p> <?php //echo $this->messenger()->addCurrentMessagesFromFlashMessenger() ?> <?php echo $this->form()->openTag($form) ?> <?php if (($errors = $this->formErrors($form))): ?> <p><?php echo $errors ?></p> <?php endif ?> <?php //echo $this->form()->openTag($form) ?> <!----> <?php //if (($errors = $this->formErrors($form))): ?> <!-- <p>--><?php //echo $errors ?><!--</p>--> <?php //endif ?> <!----> <?php $identity = $form->get($name = 'identity'); $credential = $form->get($name = 'credential'); $identity->setAttributes(['autocomplete' => 'off']); $credential->setAttributes(['autocomplete' => 'off']); //$identity = $form->get($name = 'identity'); //$credential = $form->get($name = 'credential'); // //$identity->setAttributes(['autocomplete' => 'off']); //$credential->setAttributes(['autocomplete' => 'off']); // //$fcg = $this->formControlGroup()->setIncludeErrors(false); //echo $fcg->render($identity); //echo $fcg->render($credential->setLabel("Mot de passe (permet d'authentifier l'identifiant)")); //?> <!----> <?php //echo $this->formElement($form->get('submit')) ?> <!----> <?php //echo $this->form()->closeTag() ?> <!----> $fcg = $this->formControlGroup()->setIncludeErrors(false); echo $fcg->render($identity); echo $fcg->render($credential->setLabel("Mot de passe (permet d'authentifier l'identifiant)")); <?php $fcg = $this->formControlGroup(); echo $this->form()->openTag($form->prepare()->setAttribute('class', 'mail-confirmation')); echo $fcg($form->get('id')); echo $fcg($form->get('idIndividu')); echo $fcg($form->get('individu')); echo $fcg($form->get('email')); echo $fcg($form->get('enregistrer')); echo $this->form()->closeTag(); ?> No newline at end of file <?php echo $this->formElement($form->get('submit')) ?> <?php echo $this->form()->closeTag() ?>