view.ctp 17.3 KB
<?php
// Variables passées à cette vue par le controleur
$suivi = $suivi;
//$CAN_EDIT_DELETE = $CAN_EDIT_DELETE;
$CAN_EDIT = $CAN_EDIT;
$CAN_DELETE = $CAN_DELETE;
$typeDocuments = $typeDocuments;
$fiche = $fiche;
// from AppController::beforeFilter
$username = $username;
$role = $role;
$priviledgedUser = $priviledgedUser;
// functions
$printTableRow = $printTableRow;
//debug($suivi);
/*
debug($suivi->nom_createur);
debug($username);
*/
?>

<div class="suivis view col-lg-12 col-md-12 col-sm-12">

	<h2>Détail suivi</h2>

	<table style="margin-bottom: 30px;">

		<!-- 3 Boutons : Editer, Supprimer, Lier un doc -->
		<div class="actions" style="margin-bottom: 20px; width: 100%; float: none; padding: 10px 0;">
            <?php
            /* (EP) cette variable est maintenant définie par le controleur, c'est mieux, ça simplifie la vue !
            //$IS_OWNER = in_array($username, [$suivi->nom_createur]);
            $IS_OWNER = $username == $suivi->nom_createur;
            $CAN_EDIT_DELETE_LINK = (
                $IS_OWNER || in_array($role, ['Administration','Administration Plus','Super Administrateur'])
                //|| ($role == 'Utilisateur' && in_array($username, [$suivi->nom_createur]))  
                //|| ($role == 'Responsable' && in_array($username, [$suivi->nom_createur]))
                || (
                    $role == 'Responsable' 
                    && (
                        (
                            isset($priviledgedUser->groupes_metier_id) 
                            && $priviledgedUser->groupes_metier_id != $idGmNa 
                            && $suivi->groupes_metier_id == $priviledgedUser->groupes_metier_id
                        ) 
                        || 
                        (
                            isset($priviledgedUser->groupes_thematique_id) 
                            && $priviledgedUser->groupes_thematique_id != $idGtNa 
                            && $suivi->groupes_thematique_id == $priviledgedUser->groupes_thematique_id
                        )
                    )
                )
            );
            */
            //if ($CAN_EDIT_DELETE) {
            if ($CAN_EDIT)
                echo $this->Html->link(__('<i class="icon-pencil"></i> Editer'), [
                    'action' => 'edit',
                    $suivi->id
                ], [
                    'escape' => false,
                    'onclick' => 'return true;'
                ]);
            
            if ($CAN_DELETE)
                echo $this->Form->postLink(__('<i class="icon-trash"></i> Supprimer'), [
                    'action' => 'delete',
                    $suivi->id
                ], [
                    'style' => 'margin-left: 10px',
                    'escape' => false,
                    'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $suivi->id)
                ]);
                
            //$bStyle = 'margin-right: 10px';
            $bStyle = 'margin-left: 10px';
            $echoActionButton($this->Html, 'icon-file', $bStyle, ' Lier doc. (ou photo)', 'documents', 'add', $suivi->id, [''], 'Attacher un Doc. à ce suivi');
            /*        
            echo $this->Html->link('<i class="icon-file"></i> Lier un Doc.', [
                'controller' => 'documents',
                'action' => 'add',
                $suivi->id
            ], [
                'style' => 'margin-left: 10px',
                'title' => 'Attacher un Doc. à ce suivi',
                'escape' => false
            ]);
            */
            ?>
    	</div> <!-- 3 Boutons : Editer, Supprimer, Lier un doc -->


        <!-- Affichage des champs du suivi (dans un tableau 2 col) -->
        
		<tr>
			<th style="width: 250px;"></th>
			<th></th>
		</tr>
		
        <?php
        if ($dateProchainControleVerif($suivi->date_prochain_controle) < 0)
            $style = '"color: red"';
        elseif ($dateProchainControleVerif($suivi->date_prochain_controle) <= 15)
            $style = '"color: orange"';
        else
            $style = '"color: green"';
        
        // - Intitulé
        $printTableRow(__('Intitulé'), h($suivi->intitule));
    
        // - Materiel
        $printTableRow(__('Materiel suivi'), $suivi->has('materiel') ? 
            $this->Html->link($suivi->materiel->designation, [
                'controller' => 'Materiels',
                'action' => 'view',
                $suivi->materiel->id
            ]) 
            :
            ''
        );
        
        // - N° interne
        //$printTableRow(__('Numéro interne (labo)'), $suivi->has('materiel') ? h($suivi->materiel->numero_laboratoire) : '');
        
        // - Statut
        $printTableRow(__('Statut'), h($suivi->statut));
        
        // - Prestataire
        $printTableRow(__('Prestataire'), h($suivi->organisme));
        
        // - Type d'intervention
        $printTableRow(__("Type d'intervention"), $suivi->has('type_suivi') ? h($suivi->type_suivi->nom) : '');
        
        // - Dates interv (si données)
        //if ($suivi->type_suivi_id == "1") {
        if ($suivi->type_suivi->is_regular) {
        	//$printTableRow(__('Date Derniere Intervention'), h($suivi->date_controle));
        	//$printTableRow(__('Date Prochaine Intervention'), h($suivi->date_prochain_controle), $style);
        	$printTableRow(__('Fréquence'), h($suivi->frequence) . ' ' . h($suivi->type_frequence));
        }
        else {
            $printTableRow(__('Date Début'), h($suivi->date_controle));
            $printTableRow(__('Date Fin estimée'), h($suivi->date_prochain_controle), $style);
            /*
        	$printTableRow(__('Date Début Prise en Charge'), h($suivi->date_controle));
        	$printTableRow(__('Date Fin de Panne estimée'), h($suivi->date_prochain_controle), $style);
        	*/    	
        }
    
        /* (EP) GROUPES : désactivé car inutile

        // - Groupe thématique
        $printTableRow(__($configuration->nom_groupe_thematique), 
            $suivi->has('groupes_thematique_id') ? 
                $this->Html->link($suivi->groupes_thematique->nom, [
                    'controller' => 'GroupesThematiques',
                    'action' => 'view',
                    $suivi->groupes_thematique->id
                ]) 
                : 
                ''
        );
        
        // - Groupe métier
        $printTableRow(__($configuration->nom_groupe_metier), $suivi->has('groupes_metier_id') ? $this->Html->link($suivi->groupes_metier->nom, [
            'controller' => 'GroupesMetiers',
            'action' => 'view',
            $suivi->groupes_metier->id
        ]) : '');
        
        */
        
        
        // - Date création
        $printTableRow(__('Date création'), h($suivi->created));
        
        // - Nom créateur
        $printTableRow(__('Nom du créateur'), h($suivi->nom_createur));
        
        // - Date modif
        $printTableRow(__('Date modification'), h($suivi->modified));
        
        // - Nom modificateur
        $printTableRow(__('Nom du modificateur'), h($suivi->nom_modificateur));
        
        // - Commentaire
        $printTableRow(__('Commentaire'), h($suivi->commentaire));
        ?>
    
	</table> <!-- champs du suivi -->
	
	
    <!-- Partie metrologie -->
	<?php
    if ($suivi->type_suivi->nom == "Vérification métrologique") {
        echo '<h3 id="t_informations_metrologie" style="cursor: pointer;">';
        echo '<i class="icon-chevron-down" style="font-size: 14px;" id="i_informations_metrologie"></i>';
        echo '<span style="text-decoration: underline;">Informations Métrologique</span>';
        echo '</h3>';
        echo '<div id="informations_metro" style="margin-bottom: 20px;">';
        echo '<table>';
        echo '<tr><th style="width: 200px;"></th><th></th><th></th><th></th></tr>';
        
        echo '<tr><td><strong>' . __('Unite') . ' </strong></td><td>' . ($suivi->has('unite') ? h($suivi->unite->nom) : '') . '</td><td></td><td></td></tr>';
        echo '<tr><td><strong>' . __('Plage de mesure (debut)') . ' </strong></td><td>' . h($suivi->plage_debut) . ' ' . ($suivi->has('unite') ? h($suivi->unite->symbole) : '') . '</td><td></td><td></td></tr>';
        echo '<tr><td><strong>' . __('Plage de mesure (fin)') . ' </strong></td><td>' . h($suivi->plage_fin) . ' ' . ($suivi->has('unite') ? h($suivi->unite->symbole) : '') . '</td><td></td><td></td></tr>';
        echo '<tr><td><strong>' . __('Resolution') . ' </strong></td><td>' . h($suivi->resolution) . ' ' . ($suivi->has('unite') ? h($suivi->unite->symbole) : '') . '</td><td></td><td></td></tr>';
        echo '<tr><td><strong>' . __('Tolerance') . ' </strong></td><td>' . h($suivi->tolerance) . ' ' . ($suivi->has('unite') ? h($suivi->unite->symbole) : '') . '</td><td><strong>' . __('Derniere Tolerance') . ' </strong></td><td>' . (isset($fiche) ? h($fiche->u) : '') . ' ' . ($suivi->has('unite') ? h($suivi->unite->symbole) : '') . '</td></tr>';
        echo '<tr><td><strong>' . __('Sensibilité') . ' </strong></td><td>' . h($suivi->sensibilite) . ' ' . ($suivi->has('unite') ? h($suivi->unite->symbole) : '') . '</td><td><strong>' . __('Derniere sensibilite') . ' </strong></td><td>' . h($suivi->sensibilite) . ' ' . ($suivi->has('unite') ? h($suivi->unite->symbole) : '') . '</td></tr>';
        echo '<tr><td><strong>' . __('Justesse') . ' </strong></td><td>' . h($suivi->justesse) . ' ' . ($suivi->has('unite') ? h($suivi->unite->symbole) : '') . '</td><td><strong>' . __('Derniere justesse') . ' </strong></td><td>' . (isset($fiche) ? h($fiche->justesse) : '') . ' ' . ($suivi->has('unite') ? h($suivi->unite->symbole) : '') . '</td></tr>';
        echo '<tr><td><strong>' . __('Fidelite') . ' </strong></td><td>' . h($suivi->fidelite) . ' ' . ($suivi->has('unite') ? h($suivi->unite->symbole) : '') . '</td><td><strong>' . __('Derniere fidelite') . ' </strong></td><td>' . (isset($fiche) ? h($fiche->uf) : '') . ' ' . ($suivi->has('unite') ? h($suivi->unite->symbole) : '') . '</td></tr>';
        echo '<tr><td><strong>' . __('EMT standart') . ' </strong></td><td>' . h($suivi->emtstandart) . ' ' . ($suivi->has('unite') ? h($suivi->unite->symbole) : '') . '</td><td><strong>' . __('Derniere emt standart') . ' </strong></td><td>' . h($suivi->emtstandart) . ' ' . ($suivi->has('unite') ? h($suivi->unite->symbole) : '') . '</td></tr>';
        echo '<tr><td><strong>' . __('Derniere etat metrologique') . ' </strong></td><td>' . h($suivi->conforme) . '</td><td></td><td></td></tr>';
        echo '<tr></tr>';
        
        echo '<tr><td><strong>' . __('Valeur de référence') . ' </strong></td><td>' . h($suivi->valeurRef) . ' ' . ($suivi->has('unite') ? h($suivi->unite->symbole) : '') . '</td><td></td><td></td></tr>';
        
        if ($suivi->typemesure == "1") {
            echo '<tr><td><strong>' . __('Type de mesure') . ' </strong></td><td>' . h("Direct") . '</td><td></td><td></td></tr>';
        } else {
            echo '<tr><td><strong>' . __('Type de mesure') . ' </strong></td><td>' . h("Indirect") . '</td><td></td><td></td></tr>';
        }
        
        echo '</table>';
        echo '</div>';
    }
    ?> <!-- Partie metrologie -->


	<!--  Docs liés au suivi -->
	<div id="fichiers" style="margin-bottom: 20px;">

		<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;">Document(s) lié(s) au suivi (<?= count($suivi->documents) ?>)</span>
		</h3>
        <?php 
        if (!empty($suivi->documents) || $suivi->type_suivi->nom == "Vérification métrologique") { ?>
            <table>
            	
            	<!-- Titres colonnes -->
    			<tr>
    				<th class="actions"><?= __('') ?></th>
    				<!-- (EP) inutile 
    				<th><= __('N°') ?></th>
    				-->
    				<th><?= __('Liens/fichiers') ?></th>
    			</tr> 	

            	<!-- DATA -->
            	
            	<?php
            	
            	// 1 ligne pour la fiche metro
    			$i=1;
            	if ($configuration->metrologie) { ?>
            		<tr>
            			<td class="actions" style="padding: 6px 0; text-align: left;"></td>
            			<!-- 
            			<td><php echo $i; $i++; ?></td>
            			-->
            			<td><?= $this->Html->link('Lien 1: Fiche métrologique', ['controller' => 'Fichemetrologiques', 'action' => 'add', $suivi->id]) ?></td>
        			</tr>
        			<?php 
                }
                
                // 1 ligne pour chaque doc lié
        		foreach ($suivi->documents as $documents): ?>
        			<tr>
        				<td class="actions" style="padding: 6px 0; text-align: left;">
        	                <?php 
        	                echo $this->Html->link(__('<i class="icon-download-alt"></i>'),'/webroot/files/'.$documents->suivi_id.'_'.$documents->nom.'_'.$documents->id.'.'.$documents->type_doc, ['title' => 'Télécharger', 'style' => 'margin:0', 'escape' => false ]);
                            if (($role == 'Utilisateur' && in_array($username, [
                                $suivi->nom_createur
                                ])) || ($role == 'Responsable' && in_array($username, [
                            		$suivi->nom_createur]))
                            	|| (in_array($role, [
                                'Administration',
                                'Administration Plus',
                                'Super Administrateur'
                                ])) || ($role == 'Responsable' && ((isset($priviledgedUser->groupes_metier_id) && $priviledgedUser->groupes_metier_id != $idGmNa && $suivi->groupes_metier_id == $priviledgedUser->groupes_metier_id) || (isset($priviledgedUser->groupes_thematique_id) && $priviledgedUser->groupes_thematique_id != $idGtNa && $suivi->groupes_thematique_id == $priviledgedUser->groupes_thematique_id)
                                ))) {
            	                echo $this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Documents', 'action' => 'edit', $documents->id], ['escape' => false, 'style' => 'margin:0']);
            	                echo $this->Form->postLink(__('<i class="icon-trash"></i>'), ['controller' => 'Documents', 'action' => 'delete', $documents->id], ['escape' => false, 'style' => 'margin:0', 'confirm' => __('Êtes-vous sur de vouloir supprimer le document nommé {0}?', $documents->nom)]);
            					echo $this->Form->postLink(__('<i class="icon-envelope"></i>'), ['controller' => 'Documents','action' => __('mailDevis' ,$documents->id),$documents->id], ['escape' => false,'style' => 'margin:0','confirm' => __(' Voulez vous envoyer le document par mail ? ')]);
                            }
            				?>
        				</td>
        				<!--  
        				<td><= $i ?></td>
        				-->
        				<td><?= $this->Html->link($documents->nom, ['controller' => 'documents', 'action' => 'view', $documents->id]) ?></td>
        				<?php $i++; ?>
                	</tr>
        		<?php 
        		endforeach; ?> 
    		</table> 
            <?php 
        } // il y a des docs
        else echo 'Aucun fichier pour ce matériel.'; 
        ?>
	</div> <!--  Docs liés au suivi -->


	<!--  Archives du suivi métrologique -->
	<div id="archives">
	<?php if ( $configuration->metrologie && ( isset($suivi->fichemetrologiques) || $suivi->fichemetrologiques != "" ) ) { ?>
    	<h3 id="t_fichemetrologiques" style="cursor: pointer;">
			<i class="icon-chevron-down" style="font-size: 14px;"
				id="i_fichemetrologiques"></i> <span
				style="text-decoration: underline;">Archive du suivi metrologique (<?= count($suivi->fichemetrologiques) ?>)</span>
		</h3>

		<div id="fichemetrologiques" style="margin-bottom: 20px;">
        <?php if (!empty($suivi->fichemetrologiques)) { ?>
	        <table>
				<tr> 
				<?php $i=1; ?>
				<th class="actions"><?= __('') ?></th>
					<th><?= __('N°') ?></th>
					<th><?= __('Date') ?></th>
					<th><?= __('Nom') ?></th>
					<th><?= __('Etat metrologique') ?></th>
					<th><?= __('Retard') ?></th>
				</tr> 	
			<?php foreach (array_reverse($suivi->fichemetrologiques, TRUE) as $fichemetrologique): ?>
				<tr>
					<td class="actions" style="padding: 6px 0; text-align: left;">
		                <?= $this->Html->link(__('<i class="icon-file"></i>'), ['controller' => 'Documents', 'action' =>'ficheMetrologique', $fichemetrologique->id], ['escape' => false, 'style' => 'margin:0'])?>
		                <?= $this->Form->postLink(__('<i class="icon-trash"></i>'), ['controller' => 'Fichemetrologiques', 'action' => 'delete', $fichemetrologique->id], ['escape' => false, 'style' => 'margin:0', 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $fichemetrologique->id)]) ?>
					</td>
					<td><?php echo $i; $i++; ?></td>
					<td><?php echo $fichemetrologique->datefiche; ?></td>

					<td><?php echo $this->Html->link('Fiche '.$fichemetrologique->id, ['controller' => 'Documents', 'action' => 'ficheMetrologique', $fichemetrologique->id]) ?></td>
					<td><?php echo $fichemetrologique->conformeEMTstandart; ?></td>
					<td><?php echo $fichemetrologique->retard; ?></td>
				</tr>
			<?php endforeach; ?> 
			</table> 
        <?php 
        }
        else echo 'Aucune fiche metrologique pour ce matériel.'; 
        ?>
        </div>

    <?php } ?>
	</div> <!--  Archives du suivi métrologique -->

</div>

<!--
<div class="actions">
	<php echo $this->element('menu') ?>
	<php echo $this->element('menu_view', [ 'pluralHumanName' => 'Suivis', 'singularHumanName' => 'Suivi', 'lien' => $suivi->id ]) ?>
</div>
-->