edit.ctp 4.01 KB

<div class="utilisateurs form col-lg-5 col-md-7 col-sm-9">
    <?= $this->Form->create($user) ?>
    <?php $LDAP_USED = $configuration->ldap_used; ?>
    <fieldset>
		<h2>
			<i class="icon-edit"></i> Editer un utilisateur
		</h2>
        <?php
        /*
         * (EP 3/6/19: voir aussi mes remarques ci-apres)
         * Inutile de pouvoir changer d'utilisateur, 
         * On repasse par la liste des utilisateurs pour ça
         */
        /*
        $options = [];
        echo $this->Form->control('nom', [
            'options' => $options,
            'empty' => 'Choisir un utilisateur',
            'disabled' => true,
            'div' => 'input required'
        ]);
        */
        echo $this->Form->control('nom', [
            'label' => 'Nom',
            //'div' => 'input required'
            'readonly' => true,
        ]);
        
        $READONLY = $LDAP_USED ? true : false;
        
        echo $this->Form->control('username', [
            'label' => 'Login',
            // (EP 3/6/19: voir ma remarque ci-dessous)
            // Qu'on soit en LDAP ou fake LDAP, on ne doit PAS pouvoir modifier le username (mais seulement depuis le (fake-)LDAP)
            //'div' => 'input required',
            //'readonly' => $READONLY
            'readonly' => true,
        ]);
        
        /* EP 3/6/19:
         * Si on n'utilise pas le LDAP,
         * alors on utilise la table fakeldapusers en tant que LDAP.
         * Il n'y a pas d'autre alternative !
         * Donc, si on veut modifier le mot de pass d'un user,
         * Il faut le faire dans la table fakeldapusers (car la table users sert seulement de cache du ldap, c'est tout, ça n'est pas un original mais une COPIE du ldap)
         * (comme on ferait avec un vrai LDAP : on modifierait le pwd dans le LDAP).
         * 
         * TODO:
         * Du coup, il faudra ajouter des vues permettant d'administrer le FAKE LDAP (la table fakeldapusers) :
         * - (view, index) voir un ou les user(s)
         * - (add) ajouter un user 
         * - (edit) editer un user, ET mettre à jour son pwd !
         * - (delete) supprimer un user, ET mettre à jour son pwd !
         */
        /*
        if (! $LDAP_USED) {
            echo $this->Form->control('password');
        }
        */
        
        echo $this->Form->control('email', [
            'label' => 'E-mail',
            // (EP 3/6/19: voir ma remarque ci-dessus)
            // Qu'on soit en LDAP ou fake LDAP, on ne doit PAS pouvoir modifier le mail (mais seulement depuis le (fake-)LDAP)
            //'div' => 'input required',
            //'readonly' => $READONLY
            'readonly' => true
        ]);
        
        echo $this->Form->control('role', [
            'label' => 'Rôle',
            'options' => [
                'Super Administrateur' => 'Super Administrateur',
                'Administration Plus' => 'Administration Plus',
                'Administration' => 'Administration',
                'Responsable' => 'Responsable',
                'Utilisateur' => 'Utilisateur'
            ],
        ]);
        echo $this->Form->control('groupes_metier_id', [
            'label' => $configuration->nom_groupe_metier,
            'options' => $groupesMetiers,
            'default' => 1
        ]);
        
        echo $this->Form->control('groupes_thematique_id', [
            'label' => $configuration->nom_groupe_thematique,
            'options' => $groupesThematiques,
            'default' => 1
        ]);
        
        echo $this->Form->control('sur_categorie_id', [
            'label' => 'Domaine',
            'options' => $sur_categorie,
            'default' => 0
        ]);
        
        ?>
    </fieldset>
    <!--<= $this->Form->submit(__('Valider')) ?>-->
    <?= $this->Form->button('Valider', [ 'class'=>'btn btn-outline-success', 'type'=>'submit', 'style'=>'margin-left:20px' ])?>
    <?= $this->Form->end() ?>
</div>

<!--
<div class="actions">
	<php
echo $this->element('menu');
echo $this->element('menu_form', [
    'pluralHumanName' => 'Utilisateurs'
]);
?>
</div>
-->