edit.ctp 14.8 KB
<?php 

// Ces sections sont affichées ou cachées en cliquant dessus
// Ce comportement est géré par le javascript webroot/js/script.js
// qui contient une fonction pour chaque section (avec le nom "t_<nom de la section>")
// Ex pour la section "emprunts" : $('#t_emprunts').click(function()...
/*
function $this->MyHelper->echoSectionStart($title, $section) {
    echo '<h3 id="t_'.$section.'" style="cursor: pointer;">';
    echo '<i class="icon-chevron-down" style="font-size: 14px;" id="i_'.$section.'"></i>';
    echo '<span style="text-decoration: underline;">'.$title.'</span>';
    echo '</h3>';
    echo '<div id="'.$section.'" style="margin-bottom: 20px;">';
}

function $this->MyHelper->echoSectionStart($title) {
    //echo '<h3 id="t_'.$section.'" style="cursor: pointer;">';
    //echo "<h3 id='t_$section' class='toggle' style='cursor: pointer;'>";
    echo "<h3 id='t_$title' class='toggle' style='cursor: pointer;'>";
    //echo '<i class="icon-chevron-down" style="font-size: 14px;" id="i_'.$section.'"></i>';
    echo '<i class="icon-chevron-down" style="font-size: 14px;" id="i_'.$title.'"></i>';
    echo '<span style="text-decoration: underline;">'.$title.'</span>';
    echo '</h3>';
    //echo '<div id="'.$section.'" style="margin-bottom: 20px;">';
    echo '<div id="'.$title.'" style="margin-bottom: 20px;">';
    /S
    echo '<table>';
    echo '<tr><th style="width: 250px;"></th><th></th></tr>';
    S/
}
function $this->MyHelper->echoSectionStop() {
    //echo '</table>';
    echo '</div>';
}
*/

?>

<div class="configurations form">
    <?=$this->Form->create($configurationObj)?>

        <h2>
		<i class="icon-edit"></i> Editer la configuration
	</h2>

	<fieldset>
        <?php
        
        /* SECTION MODES */
        
        //$this->MyHelper->echoSectionStart("Modes", "informations");
        $this->MyHelper->echoSectionStart("Modes");        
        /*
        echo '<h3 id="t_informations" style="cursor: pointer;">';
        echo '<i class="icon-chevron-down" style="font-size: 14px;" id="i_informations"></i>';
        echo '<span style="text-decoration: underline;">Modes</span>';
        echo '</h3>';
        echo '<div id="informations" style="margin-bottom: 20px;">';
        */
        echo $this->Form->control('mode_install');
        //echo $this->Form->control('mode_debug');
        echo $this->Form->control('mode_debug', [
            'label' => 'Mode DEBUG (via la table "configurations")'
        ]);
        $this->MyHelper->echoSectionStop();
        
        
        /* SECTION LABORATOIRE */
        
        //$this->MyHelper->echoSectionStart("Laboratoire", "informations_admin");
        $this->MyHelper->echoSectionStart("Laboratoire");
        /*
        echo '<h3 id="t_informations_admin" style="cursor: pointer;">';
        echo '<i class="icon-chevron-down" style="font-size: 14px;" id="i_informations_admin"></i>';
        echo '<span style="text-decoration: underline;">Laboratoire</span>';
        echo '</h3>';
        echo '<div id="informations_admin" style="margin-bottom: 20px;">';
        */
        echo $this->Form->control('labName', [
            'label' => 'Nom complet du Labo'
        ]);
        echo $this->Form->control('labNameShort', [
            'label' => 'Nom court du Labo (10 caractères max)'
        ]);
        echo $this->Form->control('labPresent', [
            // Label avec du code de formatage html
            'label' =>  'Article devant nom du Labo ("inventaire <u>DU</u> LATMOS" ou "inventaire <u>DE L\'</u> IRAP")',
            /*
            'label' => [
                //'Article devant nom du Labo : "inventaire <u>DU</u> LATMOS" ou bien "inventaire "DE L\'" IRAP"',
                "Article devant nom du <u>Labo</u>",
                //'escape' => false
            ],
            */
            "escape" => false
        ]);
        echo $this->Form->control('labUmr', [
            'label' => 'UMR du Labo'
        ]);
        $this->MyHelper->echoSectionStop();
        
        
        /* SECTION DIVERS */
        
        //$this->MyHelper->echoSectionStart("Divers", "suivis");
        $this->MyHelper->echoSectionStart("Divers");
        /*
        echo '<h3 id="t_suivis" style="cursor: pointer;">';
        echo '<i class="icon-chevron-down" style="font-size: 14px;" id="i_suivis"></i>';
        echo '<span style="text-decoration: underline;">Divers</span>';
        echo '</h3>';
        echo '<div id="suivis" style="margin-bottom: 20px;">';
        */
        
        echo $this->Form->control('pdf_engine', [
            'options' => [
                'FPDF' => "FPDF",
                'DOMPDF' => "DOMPDF",
            ],
            'label' => 'Librairie pdf'
        ]);

        echo $this->Form->control('procedure_sur_accueil', [
            'label' => 'Afficher la procédure à suivre sur l\'écran d\'accueil'
        ]);
        
        echo $this->Form->control('hasPrinter', [
            'label' => 'Imprimante disponible'
        ]);
        echo $this->Form->control('label_format_num', [
            'options' => [
                '1' => '1 - Etiquette 19mm, texte sur 3 lignes avec QrCode (ruban, DYMO LabelManager420P ou MobileLabeler, pour logiciel DCD 1.3.x sur Windows 10)',
                '2' => '2 - Etiquette 19mm, texte sur 2 lignes avec QrCode (ruban, Dymo LabelManager PCII, CRAL)',
                '3' => '3 - (idem 1 mais avec logiciel DLS au lieu de DCD) Etiquette 19mm, texte sur 3 lignes avec QrCode (ruban, DYMO LabelManager420P ou MobileLabeler, pour logiciel DLS 8.7.x sur Mac ou Win)',
                '4' => '4 - Etiquette 12mm, texte sur 2 lignes avec LOGO laboratoire (ruban, DYMO LabelManager PnP, logiciel DLS Mac/Win)',
                '5' => '5 - Etiquette 12mm, texte sur 2 lignes avec QrCode (ruban, DYMO LabelManager PnP, logiciel DLS Mac/Win, mais QrCode trop petit pour être identifiable)',
                /*
                '1' => '1 - Etiquette 12mm, texte sur 2 lignes avec LOGO laboratoire (ruban, DYMO LabelManager PnP)',
                '2' => '2 - Etiquette 19mm, texte sur 2 lignes avec QrCode (ruban, Dymo LabelManager PCII, CRAL)',
                '3' => '3 - Etiquette 19mm, texte sur 3 lignes avec QrCode (ruban, DYMO LabelManager420P ou MobileLabeler, pour logiciel DLS 8.7.x sur Mac ou Win)',
                '4' => '4 - Etiquette 12mm, texte sur 2 lignes avec QrCode (ruban, DYMO LabelManager PnP, IRAP)',
                '5' => '5 - Etiquette 19mm, texte sur 3 lignes avec QrCode (ruban, DYMO LabelManager420P ou MobileLabeler, pour logiciel DCD 1.3.x sur Windows 10)',
                */
                //'6' => '6 - Etiquette 19mm, texte sur 3 lignes avec QrCode (ruban, DYMO LabelManager420P ou MobileLabeler avec DLS, test)',
                /*
                '6' => 6,
                '7' => 7,
                '8' => 8,
                '9' => 9,
                '10' => 10,
                */
            ],
            'label' => 'Numéro Format Etiquette'
        ]);
        
        echo $this->Form->control('numero_labo_sans_annee', [
            'label' => 'Numero labo sans année'
        ]);
        
        echo "Si vous cochez la case ci-dessous, assurez-vous que la case au-dessus soit cochée aussi.";
        
        echo $this->Form->control('date_commande_facultative', [
            'label' => 'Champ date commande facultatif'
        ]);
        
        echo $this->Form->control('prix_inventaire_administratif', [
            'label' => 'Seuil (prix) Matériel administratif'
        ]);
        echo $this->Form->control('taille_max_doc', [
            'label' => 'Taille max documents (octets)'
        ]);
        
        echo $this->Form->control('nom_groupe_thematique', [
            'label' => 'Label groupe thématique'
        ]);
        echo $this->Form->control('nom_groupe_metier', [
            'label' => 'Label groupe métier'
        ]);
        echo $this->Form->control('metrologie', [
            'label' => 'Module métrologie'
        ]);
        
        $this->MyHelper->echoSectionStop();
        
        
        /* SECTION EMAILS */
        
        //$this->MyHelper->echoSectionStart("Emails", "emprunts");
        $this->MyHelper->echoSectionStart("Emails");
        /*
        echo '<h3 id="t_emprunts" style="cursor: pointer;">';
        echo '<i class="icon-chevron-down" style="font-size: 14px;" id="i_emprunts"></i>';
        echo '<span style="text-decoration: underline;">Emails</span>';
        echo '</h3>';
        echo '<div id="emprunts" style="margin-bottom: 20px;">';
        */
        
        echo $this->Form->control('sender_mail', [
            'label' => "Attribut 'sender' (expéditeur)"
        ]);
        echo $this->Form->control('envoi_mail', [
            'label' => "Activer l'envoi 'général' des mails"
        ]);
        echo $this->Form->control('envoi_mail_guests', [
            'label' => "Activer l'envoi 'spécifique' des mails pour la liste ci-dessous"
        ]);
        // (EP202009) non mais, faudrait arrêter d'être fainénant aussi...
        for ($i=1 ; $i<=10; $i++) {
            echo $this->Form->control('emailGuest'.$i, [
                'label' => "Destinataire $i"
            ]);
        }
        /*
        echo $this->Form->control('emailGuest1', [
            'label' => 'Destinataire 1'
        ]);
        echo $this->Form->control('emailGuest2', [
            'label' => 'Mail guest 2'
        ]);
        echo $this->Form->control('emailGuest3', [
            'label' => 'Mail guest 3'
        ]);
        echo $this->Form->control('emailGuest4', [
            'label' => 'Mail guest 4'
        ]);
        echo $this->Form->control('emailGuest5', [
            'label' => 'Mail guest 5'
        ]);
        echo $this->Form->control('emailGuest6', [
            'label' => 'Mail guest 6'
        ]);
        echo $this->Form->control('emailGuest7', [
            'label' => 'Mail guest 7'
        ]);
        echo $this->Form->control('emailGuest8', [
            'label' => 'Mail guest 8'
        ]);
        echo $this->Form->control('emailGuest9', [
            'label' => 'Mail guest 9'
        ]);
        echo $this->Form->control('emailGuest10', [
            'label' => 'Mail guest 10'
        ]);
        */
        $this->MyHelper->echoSectionStop();
        
        
        /* SECTION LDAP */
        
        //$this->MyHelper->echoSectionStart("LDAP", "fichiers");
        $this->MyHelper->echoSectionStart("LDAP");
        /*
        echo '<h3 id="t_fichiers" style="cursor: pointer;">';
        echo '<i class="icon-chevron-down" style="font-size: 14px;" id="i_fichiers"></i>';
        echo '<span style="text-decoration: underline;">LDAP</span>';
        echo '</h3>';
        echo '<div id="fichiers" style="margin-bottom: 20px;">';
        */
        echo $this->Form->control('ldap_used', [
            'label' => 'Utilisation du LDAP',
            'onchange' => 'display_ldap();'
        ]);

        // start LDAP DIV
        echo '<div id="ldap" style="border-top: 1px solid #CCC; border-bottom: 1px solid #CCC; margin-bottom: 0; background: #EEE; ' . $disp . '">';
        echo $this->Form->control('ldap_host', ['label' => 'Host (préfixer par ldaps:// si ldap secured)']);
        echo $this->Form->control('ldap_port', ['label' => 'Port du LDAP']);
        echo $this->Form->control('ldap_authenticationType', [
            //'label' => "Type d'authentification du LDAP (uid ou samaccountname, tout en minuscules)"
            'label' => "Nom du champ login (uid ou samaccountname, tout en minuscules)"
        ]);
        echo $this->Form->control('ldap_baseDn', [
            'label' => 'Base DN du LDAP'
        ]);
        echo $this->Form->control('ldap_filter', [
            'label' => 'Filtre du LDAP'
        ]);
        
        // start LDAP auth subsection (DIV)
        echo $this->Form->control('ldap_authentified', [
            //'id' => 'ldap-authentified',
            'label' => 'LDAP authentifié (non anonyme)',
            //'onchange' => 'display_ldap_auth();'
            'onchange' => 'toggle_ldap_auth();'
            ]);
        echo '<div id="ldap_auth" style="border-top: 1px solid #CCC; border-bottom: 1px solid #CCC; margin-bottom: 0; background: #EEE; ' . $disp . '">';
            echo $this->Form->control('ldap_bindDn', [
                'label' => 'Bind du LDAP'
            ]);
            echo $this->Form->password('ldap_bindPass', [
                'label' => 'Password Bind du LDAP'
            ]);
        echo '</div>';
        // end LDAP auth subsection (DIV)
        
        // end LDAP DIV
        echo '</div>';
        $this->MyHelper->echoSectionStop();

        
        /*
         * SECTION OPTIMISATION LISTE UTILISATEURS
         */
        
        $this->MyHelper->echoSectionStart("Optimisation");
        /* LDAP optimisation */
        echo $this->Form->control('ldap_cached', [
        'label' => "Optimisation accès liste utilisateurs (Cache en BD)"
            ]);
        /*
         echo $this->Form->control('ldap_cache_last_update', [
         'label' => 'Date de dernière mise à jour du cache LDAP'
         ]);
         */
        echo $this->Form->control('ldap_cache_validity_duration', [
            'label' => 'Durée validité Cache (mn)'
        ]);
        $this->MyHelper->echoSectionStop();
        
        
        
        /* SECTION AFFICHAGE */
        
        $this->MyHelper->echoSectionStart("Affichage");
        /*
        echo '<h3 id="t_fichiers" style="cursor: pointer;">';
        echo '<i class="icon-chevron-down" style="font-size: 14px;" id="i_fichiers"></i>';
        echo '<span style="text-decoration: underline;">Affichage</span>';
        echo '</h3>';
        echo '<div id="fichiers" style="margin-bottom: 20px;">';
        */
        echo $this->Form->control('aff_par_defaut', [
            'options' => [
                '20' => 20,
                '30' => 30,
                '50' => 50,
                '100' => 100,
                '150' => 150,
                '200' => 200
            ],
            'label' => 'Nombre de materiel affichés par défaut'
        ]);
        $this->MyHelper->echoSectionStop();
        
        
        ?>
    </fieldset>
    <?= $this->Form->button('Valider', ['class'=>'btn btn-outline-success', 'type'=>'submit'])?>
    <?=$this->Form->end()?>
</div>

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

<script type="text/javascript">
$(document).ready(function(){
	// (EP) Bugfix: uniquement nécessaire dans un seul cas => pour que la section ldap-authentified soit fermée à l'ouverture de cette page si l'option n'est pas cochée !!! 
	toggle_ldap_auth();
	
	$( ".form" ).submit(function( event ) {
		if($("#date-commande-facultative").is(':checked') && !$("#numero-labo-sans-annee").is(':checked')){
			alert("La case \"Numéro labo sans année\" dans la catégorie \"Divers\" doit être cochée");
			//$("#numero-labo-sans-annee").attr('required',true);
			event.preventDefault();
		}
	});
});
</script>