Commit 888a9129 authored by Thibaut Vallee's avatar Thibaut Vallee
Browse files

Passage a BS de l'interface de connection

parent 52b4973e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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 " .
+17 −14
Original line number Diff line number Diff line
@@ -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;
@@ -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;
    }
@@ -209,6 +211,7 @@ EOS;
        $submit = new Submit('submit');
        $submit->setValue("Usurper");
        $submit->setAttributes([
            'disabled' => !$this->asButton,
            'class' => 'user-usurpation-submit btn btn-danger',
        ]);

+41 −29
Original line number Diff line number Diff line
@@ -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.
@@ -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>
+0 −1
Original line number Diff line number Diff line
@@ -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">