add_edit.ctp 5.9 KB
<?php
// Variables passées à cette vue par le controleur

// - 1) du super Controleur (AppController)

$PROFILE_USER = $PROFILE_USER; // 1
$PROFILE_RESPONSABLE = $PROFILE_RESPONSABLE; // 2
$PROFILE_ADMIN = $PROFILE_ADMIN; // 3
//$PROFILE_ADMINPLUS = $PROFILE_ADMINPLUS; // 4
$PROFILE_SUPERADMIN = $PROFILE_SUPERADMIN; // 5
$allProfiles = $allProfiles;

// PAS TOUJOURS
//$_serialize = $_serialize; // True or False

$username = $username;
$configuration = $configuration;
$D = $D;
$priviledgedUser = $priviledgedUser; // ATTENTION, $priviledgedUser = NULL si l'utilisateur courant n'est pas un utilisateur privilégié (pas dans la table "utilisateurs")
$role = $role;
$profile = $profile;
$USER_IS_UTILISATEUR = $USER_IS_UTILISATEUR;
$USER_IS_RESPONSABLE = $USER_IS_RESPONSABLE;
$USER_IS_ADMIN = $USER_IS_ADMIN;
//$USER_IS_ADMINPLUS = $USER_IS_ADMINPLUS;
$USER_IS_SUPERADMIN = $USER_IS_SUPERADMIN;
$USER_IS_RESPONSABLE_OR_MORE = $USER_IS_RESPONSABLE_OR_MORE;
$USER_IS_ADMIN_OR_MORE = $USER_IS_ADMIN_OR_MORE;
//$USER_IS_ADMINPLUS_OR_MORE = $USER_IS_ADMINPLUS_OR_MORE;

$hiddenFields = $hiddenFields;
$mandatoryFields = $mandatoryFields;
$readOnlyFields = $readOnlyFields;
$haveDefaultValueFields = $haveDefaultValueFields;
/*
 debug($hiddenFields);
 debug($mandatoryFields);
 debug($readOnlyFields);
 debug($haveDefaultValueFields);
 */

// Metrologie
$idGmNa = $idGmNa;
$idGtNa = $idGtNa;

// ET AUSSI QUELQUES FONCTIONS :
$displayElement = $displayElement;
$dateProchainControleVerif = $dateProchainControleVerif;

// - 2) du controleur de cette vue (DocumentsController)

// add or edit mode ? true=add ; false=edit
$IS_ADD = $IS_ADD;
$IS_EDIT = !$IS_ADD;
// objet document : si ADD : vide ; si EDIT : plein
$document = $document;
// - Liste des types de doc
$typesD = $typesD;
$configuration = $configuration;
$parent = $parent;
$parent_type = $parent_type;
$parent_controller = $parent_controller;
$parent_name = $parent_name;

// optionnel
$doc = 'un document';
if (isset($photo)) {
    $photo = $photo;
    $doc = 'une photo';
    // ADD only:
    if ($IS_ADD) $idType = $idType;
}
/*
 if (isset($materiel)) {
 $materiel = $materiel;
 $parent_type = 'matériel';
 $parent = $materiel;
 $parent_controller = 'Materiels';
 }
 if (isset($suivi)) {
 $suivi = $suivi;
 $parent_type = 'suivi';
 $parent = $suivi;
 $parent_controller = 'Suivis';
 }
 */
//$parent_id = $this->request->getAttribute('params')['pass'][0];

/*
 debug($materiel);
 debug($parent_id);
 debug($document);
 debug($typesD);
 */
?>

<div class="documents form">

	<?php
	
	// Titre
	$verb = $IS_ADD ? 'Lier' : 'Editer';
	echo "<h2><i class='icon-plus'></i> $verb $doc</h2>";
    
	// Ce doc est lié à ...
    //$link = isset($materiel) ? $materiel->designation : 'Suivi '.$suivi->id;
    $displayElement(__("Ce document est lié au $parent_type"), $this->Html->link($parent_name, [
        'controller' => $parent_controller,
        'action' => 'view',
        $parent->id
    ]));
    
    echo $this->Form->create($document, ['type' => 'file']);
	?>
    
    <fieldset>
    
        <?php
        
        // TEST
        // - N° materiel (ou suivi)
        /*
        $control_name = 'materiel_id';
        $label = 'N° materiel labo';
        if (isset($suivi)) {
            $control_name = 'suivi_id';
            $label = 'N° suivi';
        }
        echo $this->Form->control($control_name, [
            'label' => $label,
            'options' => $parent,
            'default' => $parent_id,
            'readonly' => true
        ]);
        */
        if ($IS_ADD) {
        //$control_name = isset($materiel) ? 'materiel_id' : 'suivi_id';
        $field = $parent_controller=='materiels' ? 'materiel_id' : 'suivi_id';
        //$label = 'N° materiel labo';
        echo $this->Form->hidden($field, [
            //'default' => $parent_id,
            'default' => $parent->id,
        ]);
        }
        
        // - Nom
        // (Malik)
        // EDIT only : On met le nom du doc en read only vu qu'il apparait dans le nom du fichier sur le serveur
        // et une opération pour remodifier ces fichiers peut être complexe
		//echo $this->Form->control('nom', ['readonly' => !$IS_ADD]);
		echo $this->Form->control('nom',[
		    'label' => 'Nom du doc attaché',
		    'readonly' => !$IS_ADD
	    ]);
		    
        // - Type (hidden si photo)
        echo "<i>(Si vous choisissez le type 'Photo', ce document sera affiché en tête de la fiche du $parent_type associé)</i>";
        $control = 'control';
        $default = 1;
        /*
        if ($IS_EDIT) $default = null;
        */
        if ($IS_ADD && isset($photo)) { 
            $control = 'hidden';
            $default = $idType;
        }
        echo $this->Form->$control('type_document_id', [
            'label' => 'Type',
            'options' => $typesD,
            'default' => $default // ADD only
        ]);
        
        // - Description
        echo $this->Form->control('description');
        
        // - File upload (chemin_file)
        $control = $IS_ADD ? 'control' : 'hidden';
        echo $this->Form->$control('chemin_file', [
            'label' => 'Fichier (' . substr($configuration->taille_max_doc / (1024 * 1024), 0, 4) . ' Mo max)',
            'type' => 'file'
        ]);

        // - EDIT only (edit) (hidden)
        if (!$IS_ADD) {
        echo $this->Form->hidden('edit', [
        'default' => 1
        ]);
        }
        
        // - photo = 0 ou 1 (hidden)
        echo $this->Form->hidden('photo', [
            'default' => isset($photo) ? 1 : 0
        ]);
        
        ?>
        
    </fieldset>
    
    <!--  BOUTONS submit & cancel -->
    <!-- <= $this->Form->submit(__('Valider')) ?> -->
	<?php $echoSubmitButtons($this, 
	    'view', 
	    //$parent_id, 
	    $parent->id,
	    $parent_controller
    );
	
    echo $this->Form->end(); 
    ?>
    
</div>

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