view.ctp 13.9 KB

<div class="materiels view">

    <h2>
    <?php if (h($materiel->status) == 'ARCHIVED') echo '<i class="icon-inbox"></i> '; ?>	
    <?= h($materiel->designation) ?>
    <span style="font-size: 70%; color: grey;">
    <?= h($materiel->numero_laboratoire) ?>
    <?php if (h($materiel->status) == 'ARCHIVED') echo ' (Archivé)'; ?>
    </span>
    <?php 
    
    	$this->requestAction('/QrCodes/creer/'.$materiel->numero_laboratoire);
		echo $this->Html->image($this->request->session()->read("filename"), [
			'alt' => 'QrCode : '.$materiel->numero_laboratoire,
			'style' => 'float: right']);
			
	?>	
    </h2>
    
    <div class="actions" style="margin-bottom: 20px; width: 100%; float: none; padding: 10px 0;">
    <?php 
    if (in_array($materiel->status, ['CREATED', 'VALIDATED'])) {
    if(($role == 'Utilisateur' && (in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]))) || (in_array($role, ['Responsable', 'Administration', 'Administration Plus', 'Super Administrateur']))) {
    echo $this->Html->link(__('<i class="icon-pencil"></i> Editer ce matériel'),
    		['action' => 'edit', $materiel->id],
    		['escape' => false,
    		'onclick' => 'return true;',
    		'style' => 'margin-right: 10px'
    		]);
    }
    }else {
    	if(in_array($role, ['Administration Plus', 'Super Administrateur'])) {
    		echo $this->Html->link(__('<i class="icon-pencil"></i> Editer ce matériel'),
    				['action' => 'edit', $materiel->id],
    				['escape' => false,
    						'onclick' => 'return true;',
    						'style' => 'margin-right: 10px'
    				]);
    	}
    }
    
    if($materiel->status == 'VALIDATED') {
    	// BOUTON NOUVEAU SUIVI
    	echo $this->Html->link('<i class="icon-plus"></i> Nouv. Suivi',
    			['controller' => 'suivis',
    					'action' => 'add',
    					$materiel->id],
    			['title' => 'Faire un nouveau suivi de ce matériel',
    					'style' => 'margin-right: 10px',
    					'escape' => false]
    			); // End link
    	
    	// BOUTON NOUVEL EMPRUNT
    	echo $this->Html->link('<i class="icon-plus"></i> Nouv. Emprunt',
    			['controller' => 'emprunts',
    					'action' => 'add',
    					$materiel->id],
    			['title' => 'Faire un nouvel emprunt de ce matériel',
    					'style' => 'margin-right: 10px',
    					'escape' => false]
    			); // End link
    			
    			
    	/*echo $this->Html->link('<i class="icon-file"></i> Lier un Doc.',
    			['controller' => 'documents',
    					'action' => 'add',
    					'mat' => $materiel->id,
    				],
    			['title' => 'Attacher un Doc. à ce matériel',
    					'style' => 'margin-right: 10px',
    					'escape' => false
    				]
    			);*/
    }
    
    if(in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) {
    if (($materiel->status == 'VALIDATED') || ($materiel->status == 'CREATED')) {
    	echo $this->Html->link('<i class="icon-file"></i> Doc. admission',
    			['controller' => 'documents', 'action' => 'admission', $materiel->numero_laboratoire],
    			['title' => 'Voir le document d\'admission', 'style' => 'margin-right: 10px', 'escape' => false]);
    }
    // Doc sortie (admin only)
    else if (($materiel->status == 'ARCHIVED') || ($materiel->status == 'TOBEARCHIVED')) {
    	echo $this->Html->link('<i class="icon-file"></i> Doc. sortie',
    			['controller' => 'documents', 'action' => 'sortie', $materiel->numero_laboratoire],
    			['title' => 'Voir le document de sortie', 'style' => 'margin-right: 10px', 'escape' => false]);
    }
    }
    
    if(in_array($role, ['Responsable', 'Administration', 'Administration Plus', 'Super Administrateur'])) {
    // 2) Bouton de changement de statut : Valider, Demander archivage, ou Archiver
    switch ($materiel->status) {
    	case "CREATED":
    		echo $this->Html->link('<i class="icon-ok-sign"></i> Valider',
    				['action' => 'statusValidated', $materiel->id, 'view'],
    				['title' => 'Valider le matériel', 'style' => 'margin-right: 10px', 'escape' => false]);
    		break;
    
    	case "VALIDATED":
    		echo $this->Html->link('<i class="icon-ok-sign"></i> Demander sortie',
    				['action' => 'statusToBeArchived', $materiel->id, 'view'],
    				['title' => 'Demander la sortie de l\'inventaire', 'style' => 'margin-right: 10px', 'escape' => false]);
    		break;
    
    	case "TOBEARCHIVED":
    		if($role != 'Responsable') {
    		echo $this->Html->link('<i class="icon-ok-sign"></i> Sortie inventaire',
    				['action' => 'statusArchived', $materiel->id, 'view'],
    				['title' => 'Sortir définitivement de l\'inventaire', 'style' => 'margin-right: 10px', 'escape' => false,
    				'confirm' => 'Êtes-vous sur de bien vouloir archiver ' . $materiel->designation . ' ?']);
    		}
    		break;
    
    } // switch
    }
    
    echo $this->Html->link('<i class="icon-pencil"></i> Copier ce matériel',
    		['controller' => 'materiels',
    				'action' => 'add', $materiel->id],
    		['title' => 'Copier ce matériel',
    				'style' => 'margin-right: 10px; margin-top: 10px; display: inline-block',
    				'escape' => false]);
    
    // BOUTON ETIQUETTE POSEE
    if ($configuration->hasPrinter && in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) {
    	echo '<div class="actions" style="margin-bottom: 20px; width: 100%; float: none; padding: 10px 0;">';
    	
    		$action = 'Impr. ruban';
    		echo $this->Html->link('<i class="icon-print"></i> '.$action,
    				['action' => 'printLabelRuban', h($materiel->id), 'view'],
    				['title' => 'Imprimer sur un ruban 12mm',
    					'style' => 'margin-right: 10px',
    					'escape' => false,
    					'onclick' => 'return true;'		
    				]); // End link
    	
    	
    	echo $this->Html->link(
    			'<i class="icon-file"></i> '.
    			(h($materiel->etiquette) ? "Etiquette NON posée sur le matériel" : "Etiquette posée sur le matériel"),
    			['controller' => 'materiels',
    					'action' => h($materiel->etiquette) ?'setLabelIsNotPlaced':'setLabelIsPlaced', h($materiel->id), 'view'],
    			['title' => h($materiel->etiquette) ?
    					"En cliquant sur ce bouton, vous déclarez que l'étiquette n'a PAS été posée sur le matériel":
    					"En cliquant sur ce bouton, vous certifiez que l'étiquette a bien été posée sur le matériel",
    					'style' => 'margin-left: 0px',
    					'escape' => false]
    			);  // End link
    	
   
    	echo '</div>';
    }

    
    ?>
    </div>
    
    <h3 id="t_informations" style="cursor: pointer;">
		<i class="icon-chevron-down" style="font-size: 14px;" id="i_informations"></i> 
		<span style="text-decoration: underline;">Informations</span>
	</h3>
	<div id="informations" style="margin-bottom: 20px;">
		<table>
			<tr><th style="width: 250px;"></th><th></th></tr>
    
    <?php 
    $type = "";
    if(h($materiel->materiel_administratif) == 1 && h($materiel->materiel_technique) == 1) {
    	$type = 'Administratif et technique';
    }
    else if (h($materiel->materiel_administratif) == 1) {
    	$type = 'Administratif';
    }
    else if (h($materiel->materiel_technique) == 1) {
    	$type = 'Technique';
    }
    
    $displayElement(__('Description'), h($materiel->description));
    $displayElement(__('Materiel inventorié'), $type);
    $displayElement(__('Organisme'), $materiel->has('organisme') ? h($materiel->organisme->nom) : '');
    $displayElement(__('Domaine'), $materiel->has('sur_category') ? h($materiel->sur_category->nom) : '');
    $displayElement(__('Catégorie'), $materiel->has('category') ? h($materiel->category->nom) : '');
    $displayElement(__('Sous-Catégorie'), $materiel->has('sous_category') ? h($materiel->sous_category->nom) : '');
    $displayElement(__('Date de reception'), date("d-m-Y", strtotime(h($materiel->date_reception))));
    if(h($materiel->etiquette) == 0) {
    	$etiq="Non";
    }else {
    	$etiq="Oui";
    }
    $displayElement(__('Etiquette posée'), $etiq);
    $displayElement(__('Groupe thématique'), $materiel->has('groupes_thematique') ? $this->Html->link($materiel->groupes_thematique->nom, ['controller' => 'GroupesThematiques', 'action' => 'view', $materiel->groupes_thematique->id]) : '');
    $displayElement(__('Groupe métier'),  $materiel->has('groupes_metier') ? $this->Html->link($materiel->groupes_metier->nom, ['controller' => 'GroupesMetiers', 'action' => 'view', $materiel->groupes_metier->id]) : '');
    $displayElement(__('Date d\'achat'), date("d-m-Y", strtotime(h($materiel->date_acquisition))));
    $displayElement(__('Statut'), h($materiel->status));
    
    $displayElement(__('Prix (HT)'), h($materiel->prix_ht).' €');
    $displayElement(__('Fournisseur'), h($materiel->fournisseur));
    
    $displayElement(__('Lieu de stockage'), $materiel->has('site') ? h($materiel->site->nom) : '');
    $displayElement(__('Responsable'), $this->Html->link(h($materiel->nom_responsable), 'mailto:'.h($materiel->email_responsable)));
    $displayElement(__('N. interne (labo)'), h($materiel->numero_laboratoire));
    
    //Partie admin
    if(in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) {
    	$displayElement(__('CentreFinancier/EOTP'), h($materiel->eotp));
   		$displayElement(__('N° commande'), h($materiel->numero_commande));
    	$displayElement(__('Code comptable'), h($materiel->code_comptable));
    	$displayElement(__('N° de série'), h($materiel->numero_serie));
    	$displayElement(__('N. Inventaire Organisme'), h($materiel->numero_inventaire_organisme));
    	$displayElement(__('N. inventaire (ancien)'), h($materiel->numero_inventaire_old));
    }

    
    
    $displayElement(__('Date création'), h($materiel->created));
    $displayElement(__('Nom du créateur'), h($materiel->nom_createur));
    $displayElement(__('Date modification'), h($materiel->modified));
    $displayElement(__('Nom du modificateur'), h($materiel->nom_modificateur));
    
    ?>
        
    </table>
    </div>


    
        <h3 id="t_suivis" style="cursor: pointer;">
			<i class="icon-chevron-down" style="font-size: 14px;" id="i_suivis"></i> 
			<span style="text-decoration: underline;">Suivi(s) du matériel (<?= count($materiel->suivis) ?>)</span>
		</h3>
		<div id="suivis" style="margin-bottom: 20px;">

        <?php if (!empty($materiel->suivis)) { ?>
        <table> 
		<tr> 
			<th><?= __('Organisme') ?></th>
            <th><?= __('Date du contrôle') ?></th>
            <th><?= __('Date prochain contrôle') ?></th>
            <th><?= __('Type d\'intervention') ?></th>
            <th style="width:50px;"><?= __('Détail') ?></th>
		</tr> 	
		<?php foreach ($materiel->suivis as $suivis): ?>
		<tr>
		    <td><?= h($suivis->organisme) ?></td>
		    <td><?= h($suivis->date_controle) ?></td>
            <td><?= h($suivis->date_prochain_controle) ?></td>
            <td><?= h($suivis->type_intervention) ?></td>

            <td class="actions">
                <?= $this->Html->link(__('<i class="icon-search"></i>'), ['controller' => 'Suivis', 'action' => 'view', $suivis->id], ['escape' => false, 'style' => 'margin:0']) ?>
			</td>
       </tr>
		<?php endforeach; ?> 
		</table> 
        <?php }else { echo 'Aucun suivi pour ce matériel.'; } ?>
    </div>
    
    
    
		<h3 id="t_emprunts" style="cursor: pointer;">
			<i class="icon-chevron-down" style="font-size: 14px;" id="i_emprunts"></i> 
			<span style="text-decoration: underline;">Emprunt(s) du matériel (<?= count($materiel->emprunts) ?>)</span>
		</h3>
		<div id="emprunts" style="margin-bottom: 20px;">
		
        <?php if (!empty($materiel->emprunts)) { ?>
        <table> 
		<tr> 
			<th><?= __('Emprunteur') ?></th>
            <th><?= __('Type d\'Emprunt') ?></th>
            <th><?= __('Où') ?></th>
            <th><?= __('Date de l\'emprunt') ?></th>
            <th><?= __('Date de retour') ?></th>
            <th style="width:50px;"><?= __('Détail') ?></th>
		</tr> 	
		<?php foreach ($materiel->emprunts as $emprunts): 
		$type = 'Externe';
		$lieu = $emprunts['laboratoire'];
		if ($emprunts['emprunt_interne'] == 1) 
		{
			$type = 'Interne';
			$lieu = $emprunts['e_lieu_stockage'].'-'.$emprunts['e_lieu_detail'];
		}
		?>
		<tr>
		    <td><?= h($emprunts->nom_emprunteur) ?></td>
		    <td><?= h($type) ?></td>
            <td><?= h($lieu) ?></td>
            <td><?= h($emprunts->date_emprunt) ?></td>
            <td><?= h($emprunts->date_retour_emprunt) ?></td>

            <td class="actions">
                <?= $this->Html->link(__('<i class="icon-search"></i>'), ['controller' => 'Emprunts', 'action' => 'view', $emprunts->id], ['escape' => false, 'style' => 'margin:0']) ?>
			</td>
        </tr>
		<?php endforeach; ?> 
		</table> 
        <?php }else { echo 'Aucun emprunt pour ce matériel.'; } ?>
    	</div>
    
    
        
		<h3 id="t_fichiers" style="cursor: pointer;">
			<i class="icon-chevron-down" style="font-size: 14px;" id="i_fichiers"></i> 
			<span style="text-decoration: underline;">Fichier(s) lié(s) au matériel (<?= count($materiel->documents) ?>)</span>
		</h3>
		<div id="fichiers" style="margin-bottom: 20px;">

        <?php if (!empty($materiel->documents)) { ?>
        <table> 
		<tr> 
			<th><?= __('N°') ?></th>
            <th><?= __('Chemin') ?></th>
            <th><?= __('Type') ?></th>
            <th style="width:50px;"><?= __('Détail') ?></th>
		</tr> 	
		<?php foreach ($materiel->documents as $documents): ?>
		<tr>
		    <td><?= 'Fichier '.h($documents->id) ?></td>
		    <td><?= h($documents->chemin) ?></td>
		    <td><?= h($documents->type_doc) ?></td>

            <td class="actions">
                <?= $this->Html->link(__('<i class="icon-search"></i>'), ['controller' => 'Documents', 'action' => 'view', $documents->id], ['escape' => false, 'style' => 'margin:0']) ?>
			</td>
        </tr>
		<?php endforeach; ?> 
		</table> 
        <?php }else { echo 'Aucun fichier pour ce matériel.'; } ?>
        </div>

</div>


    	<div class="actions">
			<?php echo $this->element('menu') ?>
			<?php echo $this->element('menu_view', 
			[ 'pluralHumanName' => 'Matériels',
			'singularHumanName' => 'Matériel',
			'lien' => $materiel->id ]) ?>
		</div>