Loading src/UnicaenAuthentification/Controller/UtilisateurController.php +1 −0 Original line number Diff line number Diff line Loading @@ -134,6 +134,7 @@ class UtilisateurController extends AbstractActionController } $utilisateurUsurpe = $this->getUserMapper()->findByUsername($usernameUsurpe); /** @var AbstractUser $utilisateurUsurpe */ if ($utilisateurUsurpe === null) { $this->flashMessenger()->addErrorMessage( "La demande d'usurpation du compte '$usernameUsurpe' a échoué car aucun compte utilisateur correspondant " . Loading src/UnicaenAuthentification/View/Helper/UserUsurpationHelper.php +17 −14 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ namespace UnicaenAuthentification\View\Helper; use Laminas\View\Helper\HeadScript; use UnicaenApp\Form\View\Helper\FormControlGroup; use UnicaenAuthentification\Options\ModuleOptions; use UnicaenUtilisateur\View\Helper\UserAbstract; Loading Loading @@ -150,21 +151,22 @@ class UserUsurpationHelper extends UserAbstract $html .= $formHelper->closeTag(); $formId = $form->getAttribute('id'); $html .= <<<EOS <script> var form = $("#$formId").submit(function() { $js = <<<EOS $(function() { // le bouton 'Usurper' est interdit si le champ de saisie est vide $("#$formId .user-usurpation-submit").attr("disabled", true); $("body") .on("input", "#$formId .user-usurpation-input", function() { $(".user-usurpation-submit").prop("disabled", $(this).val().length == 0); }) .on("submit", "#$formId", function() { $("body *").css('cursor', 'wait'); }); var input = form.find(".user-usurpation-input").on('input', function() { updateUsurpationSubmit(); }); function updateUsurpationSubmit() { form.find(".user-usurpation-submit").prop("disabled", input.val().length === 0); } updateUsurpationSubmit(); </script> EOS; $this->getView()->inlineScript(HeadScript::SCRIPT, $js); $formId = $form->getAttribute('id'); return $html; } Loading Loading @@ -209,6 +211,7 @@ EOS; $submit = new Submit('submit'); $submit->setValue("Usurper"); $submit->setAttributes([ 'disabled' => !$this->asButton, 'class' => 'user-usurpation-submit btn btn-danger', ]); Loading view/unicaen-authentification/auth/login-tabs.phtml +41 −29 Original line number Diff line number Diff line Loading @@ -3,7 +3,6 @@ use UnicaenAuth\Authentication\Adapter; use UnicaenAuth\Form\LoginForm; use UnicaenAuth\View\Helper\AbstractConnectViewHelper; use Laminas\Form\Form; /** * Génération des différents types de formulaire de connexion activés. Loading @@ -26,38 +25,51 @@ $form->setAttributes([ /** @var AbstractConnectViewHelper[] $helpers */ $helpers = []; foreach ($types as $t => $config) { $helpers[$t] = $this->connect($t, $form); /** @see \UnicaenAuth\View\Helper\ConnectViewHelper */ $helpers[$t] = $this->connect($t, $form); /** @see \UnicaenAuth\View\Helper\ConnectViewHelper */ } $activeHelper = null; ?> <ul class="nav nav-tabs nav-justified"> <div class="card"> <div class="card-header"> <ul class="nav nav-tabs card-header-tabs" role="tablist"> <?php foreach ($helpers as $key => $helper): ?> <?php if ($key === $type) { $activeHelper = $helper; $activeClass = 'active'; $ariaSelected = 'true'; } else { if (isset($forms[$key]) && $forms[$key]->isHidden()) { continue; } $activeClass = ''; $ariaSelected = 'false'; } ?> <li role="presentation" class="<?php echo $activeClass ?>"> <?php $query = $redirect ? ['redirect' => $redirect] : [] ?> <a href="<?php echo $this->url('zfcuser/login', ['type' => $key], ['query' => $query]) ?>"><?php echo $helper->getTitle() ?></a> <li role="presentation" class="nav-item"> <button class="nav-link <?= $activeClass ?>" id="<?= $key ?>-tab" data-bs-toggle="tab" data-bs-target="#<?= $key ?>" type="button" role="tab" aria-controls="<?= $key ?>" aria-selected="<?= $ariaSelected ?>"> <?= $helper->getTitle() ?> </button> </li> <?php endforeach ?> </ul> <div class="tab-content"> <div role="tabpanel" class="tab-pane active"> </div> <div class="card-body tab-content"> <?php foreach ($helpers as $key => $helper): ?> <?php $activeClass = ($key === $type) ? 'active' : '';?> <div class="tab-pane <?= $activeClass ?>" id="<?= $key ?>" role="tabpanel" aria-labelledby="<?= $key ?>-tab"> <?php $title = $activeHelper->getTitle(); $activeHelper->setTitle(""); // pour éviter que le title soit répété $title = $helper->getTitle(); $helper->setTitle(""); // pour éviter que le title soit répété ?> <?php echo (string)$activeHelper ?> <?= (string) $helper ?> </div> <?php endforeach ?> </div> </div> view/unicaen-authentification/auth/login.phtml +0 −1 Original line number Diff line number Diff line Loading @@ -28,7 +28,6 @@ $this->headTitle("Connexion") ?> ]); ?> </div> <!-- Création d'un compte local (si autorisée) --> <?php if ($enableRegistration) : ?> <div id="div-connexion" class="panel panel-primary"> Loading Loading
src/UnicaenAuthentification/Controller/UtilisateurController.php +1 −0 Original line number Diff line number Diff line Loading @@ -134,6 +134,7 @@ class UtilisateurController extends AbstractActionController } $utilisateurUsurpe = $this->getUserMapper()->findByUsername($usernameUsurpe); /** @var AbstractUser $utilisateurUsurpe */ if ($utilisateurUsurpe === null) { $this->flashMessenger()->addErrorMessage( "La demande d'usurpation du compte '$usernameUsurpe' a échoué car aucun compte utilisateur correspondant " . Loading
src/UnicaenAuthentification/View/Helper/UserUsurpationHelper.php +17 −14 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ namespace UnicaenAuthentification\View\Helper; use Laminas\View\Helper\HeadScript; use UnicaenApp\Form\View\Helper\FormControlGroup; use UnicaenAuthentification\Options\ModuleOptions; use UnicaenUtilisateur\View\Helper\UserAbstract; Loading Loading @@ -150,21 +151,22 @@ class UserUsurpationHelper extends UserAbstract $html .= $formHelper->closeTag(); $formId = $form->getAttribute('id'); $html .= <<<EOS <script> var form = $("#$formId").submit(function() { $js = <<<EOS $(function() { // le bouton 'Usurper' est interdit si le champ de saisie est vide $("#$formId .user-usurpation-submit").attr("disabled", true); $("body") .on("input", "#$formId .user-usurpation-input", function() { $(".user-usurpation-submit").prop("disabled", $(this).val().length == 0); }) .on("submit", "#$formId", function() { $("body *").css('cursor', 'wait'); }); var input = form.find(".user-usurpation-input").on('input', function() { updateUsurpationSubmit(); }); function updateUsurpationSubmit() { form.find(".user-usurpation-submit").prop("disabled", input.val().length === 0); } updateUsurpationSubmit(); </script> EOS; $this->getView()->inlineScript(HeadScript::SCRIPT, $js); $formId = $form->getAttribute('id'); return $html; } Loading Loading @@ -209,6 +211,7 @@ EOS; $submit = new Submit('submit'); $submit->setValue("Usurper"); $submit->setAttributes([ 'disabled' => !$this->asButton, 'class' => 'user-usurpation-submit btn btn-danger', ]); Loading
view/unicaen-authentification/auth/login-tabs.phtml +41 −29 Original line number Diff line number Diff line Loading @@ -3,7 +3,6 @@ use UnicaenAuth\Authentication\Adapter; use UnicaenAuth\Form\LoginForm; use UnicaenAuth\View\Helper\AbstractConnectViewHelper; use Laminas\Form\Form; /** * Génération des différents types de formulaire de connexion activés. Loading @@ -26,38 +25,51 @@ $form->setAttributes([ /** @var AbstractConnectViewHelper[] $helpers */ $helpers = []; foreach ($types as $t => $config) { $helpers[$t] = $this->connect($t, $form); /** @see \UnicaenAuth\View\Helper\ConnectViewHelper */ $helpers[$t] = $this->connect($t, $form); /** @see \UnicaenAuth\View\Helper\ConnectViewHelper */ } $activeHelper = null; ?> <ul class="nav nav-tabs nav-justified"> <div class="card"> <div class="card-header"> <ul class="nav nav-tabs card-header-tabs" role="tablist"> <?php foreach ($helpers as $key => $helper): ?> <?php if ($key === $type) { $activeHelper = $helper; $activeClass = 'active'; $ariaSelected = 'true'; } else { if (isset($forms[$key]) && $forms[$key]->isHidden()) { continue; } $activeClass = ''; $ariaSelected = 'false'; } ?> <li role="presentation" class="<?php echo $activeClass ?>"> <?php $query = $redirect ? ['redirect' => $redirect] : [] ?> <a href="<?php echo $this->url('zfcuser/login', ['type' => $key], ['query' => $query]) ?>"><?php echo $helper->getTitle() ?></a> <li role="presentation" class="nav-item"> <button class="nav-link <?= $activeClass ?>" id="<?= $key ?>-tab" data-bs-toggle="tab" data-bs-target="#<?= $key ?>" type="button" role="tab" aria-controls="<?= $key ?>" aria-selected="<?= $ariaSelected ?>"> <?= $helper->getTitle() ?> </button> </li> <?php endforeach ?> </ul> <div class="tab-content"> <div role="tabpanel" class="tab-pane active"> </div> <div class="card-body tab-content"> <?php foreach ($helpers as $key => $helper): ?> <?php $activeClass = ($key === $type) ? 'active' : '';?> <div class="tab-pane <?= $activeClass ?>" id="<?= $key ?>" role="tabpanel" aria-labelledby="<?= $key ?>-tab"> <?php $title = $activeHelper->getTitle(); $activeHelper->setTitle(""); // pour éviter que le title soit répété $title = $helper->getTitle(); $helper->setTitle(""); // pour éviter que le title soit répété ?> <?php echo (string)$activeHelper ?> <?= (string) $helper ?> </div> <?php endforeach ?> </div> </div>
view/unicaen-authentification/auth/login.phtml +0 −1 Original line number Diff line number Diff line Loading @@ -28,7 +28,6 @@ $this->headTitle("Connexion") ?> ]); ?> </div> <!-- Création d'un compte local (si autorisée) --> <?php if ($enableRegistration) : ?> <div id="div-connexion" class="panel panel-primary"> Loading