add_edit.ctp 4.32 KB
<?php
// Variables passées à cette vue par le controleur
// add or edit mode ? true=add ; false=edit
$IS_ADD = $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';
    $idType = $idType;
    // 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';
        $control_name = $parent_controller=='materiels' ? 'materiel_id' : 'suivi_id';
        //$label = 'N° materiel labo';
        echo $this->Form->hidden($control_name, [
            //'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]);
        
        // - 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>";
        $f = 'control';
        $default = 1;
        if (isset($photo)) { 
            $f = 'hidden';
            $default = $idType;
        }
        if (!$IS_ADD) {
            $f = 'control';
            $default = null;
        }
        echo $this->Form->$f('type_document_id', [
            'label' => 'Type',
            'options' => $typesD,
            'default' => $default // ADD only
        ]);
        
        // - Description
        echo $this->Form->control('description');
        
        // - File upload (chemin_file)
        $f = $IS_ADD ? 'control' : 'hidden';
        echo $this->Form->$f('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>
-->