edit.ctp 8.64 KB

<div class="suivis form">
    <?=$this->Form->create($suivi)?>
    <fieldset>

		<h2>
			<i class="icon-edit"></i> Editer un suivi
		</h2>

        <?php
        echo $this->Form->hidden('materiel_id', [
            'options' => $materiels,
            'default' => $suivi->get('materiel_id')
        ]);
        echo $this->Form->control('materiel_numero_laboratoire', [
            'label' => 'N° materiel labo',
            'default' => $materiel['numero_laboratoire'],
            'disabled' => TRUE
        ]);
        echo $this->Form->control('type_suivi_id', [
            'label' => 'Type d\'intervention',
            'options' => $typeSuivis,
            'disabled' => TRUE
        ]);
       
        //Affiche les bonnes informations en fonction du type de suivi
        //Améliorable avec une requete pour fonctionner avec el nom de suivi et pas l'id
        //Améliorable avec un switch
        
        if ($suivi->type_suivi_id == 2 ) {
        	echo $this->Form->control('date_controle', [
        			'type' => 'text',
        			'id' => 'date_deb',
        			'label' => 'Date de la prise en charge',
        			'class' => 'datepicker',
        			'placeholder' => 'Cliquez pour sélectionner une date',
        			'disabled' => true
        	]);
        	echo $this->Form->control('date_prochain_controle', [
        			'type' => 'text',
        			'id' => 'date_fin',
        			'label' => 'Date estimee de fin',
        			'class' => 'datepicker',
        			'placeholder' => 'Cliquez pour sélectionner une date'
        	]);
        	
        }else{
        	echo '<table id="tableAlignementFrequence"><tr><td>';
        	echo $this->Form->control('frequence', [
        			'type' => 'text',
        			'id' => 'SuiviFrequence',
        			'label' => 'Fréquence',
        			'disabled' => true,
        			'templates' => [
        					'inputContainer' => '<div class="A">{{content}}</div>'
        			],
        			'placeholder' => ''
        	]);
        	echo '</td><td>';
        	echo $this->Form->control('type_frequence', [
        			'label' => false,
        			'disabled' => true,
        			'templates' => [
        					'inputContainer' => '<div class="typeFrequence">{{content}}</div>'
        			],
        			'options' => [
        					'/ Jours' => '/ Jours',
        					'/ Semaines' => '/ Semaines',
        					'/ Mois' => '/ Mois',
        					'/ Ans' => '/ Ans'
        			],
        			'default' => '/ Mois'
        	]);
        	echo '</td></tr></table>';
        }

        echo $this->Form->control('statut', [
            'options' => [
                'En cours' => 'En cours',
                'Terminé' => 'Terminé'
            ]
        ]);
        echo $this->Form->control('organisme', [
            'label' => 'Prestataire'
        ]);
        echo $this->Form->control('groupes_thematique_id', [
            'label' => $configuration->nom_groupe_thematique,
            'options' => $groupesThematiques,
            'default' => $materiel['groupes_thematique_id']
        ]);
        echo $this->Form->control('groupes_metier_id', [
            'label' => $configuration->nom_groupe_metier,
            'options' => $groupesMetiers,
            'default' => $materiel['groupes_metier_id']
        ]);
        echo $this->Form->control('intitule', [
            'label' => 'Intitulé'
        ]);
        echo '<div id="typedemesure" style="display:none">';
        // echo '<div class="input select required"><label for="typemesure">Type de mesure</label><select name="typemesure" id="typemesure"><option value="1">Direct</option><option value="2">Indirect</option></select></div>';
        // La ligne du dessus est l'équivalent en pas propre de l'input juste en dessous !
        echo $this->Form->control('typemesure', [
            'label' => 'Type de mesure',
            'options' => [
                '1' => 'Direct',
                '2' => 'Indirect'
            ]
            // 'required' => 'required'
        ]);
        echo '</div>';
        echo '<div id="metro" style="display:none">';
        echo $this->Form->control('nommesure', [
            'label' => 'Nom de la mesure'
            // 'required' => 'required'
        ]);
        echo $this->Form->control('symbole', [
            'label' => 'Symbole'
            // 'required' => 'required'
        ]);
        echo $this->Form->control('unite_id', [
            'options' => $unite,
            'label' => 'Unité',
            'empty' => 'choisir une unité'
            // 'required' => 'required'
        ]);
        echo $this->Form->control('valeurRef', [
            'label' => 'Valeur de référence'
            // 'required' => 'required'
        ]);
        echo $this->Form->control('plage_debut', [
            'label' => 'Plage de mesure (debut)'
        ]);
        echo $this->Form->control('plage_fin', [
            'label' => 'Plage de mesure (fin)'
        ]);
        echo $this->Form->control('resolution', [
            'label' => 'Resolution'
            // 'required' => 'required'
        ]);
        echo $this->Form->control('tolerance', [
            'label' => 'Tolerance'
            // 'required' => 'required'
        ]);
        echo $this->Form->control('sensibilite', [
            'label' => 'Sensibilité'
        ]);
        echo $this->Form->control('justesse', [
            'label' => 'Justesse'
        ]);
        echo $this->Form->control('fidelite', [
            'label' => 'Fidelite'
        ]);
        echo $this->Form->control('emtstandart', [
            'label' => 'EMT standart'
            // 'required' => 'required'
        ]);
        echo '</div>';
        echo $this->Form->control('commentaire', [
            'type' => 'textarea'
        ]);
        echo $this->Form->hidden('nom_modificateur', [
            'value' => $username
        ]);
        ?>
    </fieldset>
    <?=$this->Form->submit(__('Enregistrer'))?>
    <?=$this->Form->end()?>
</div>

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

<script type="text/javascript">

$(document).ready(function () {

			var domaineId=$("#type-suivi-id :selected").text();

			if (domaineId == "Vérification métrologique") {
				$("#metro").show();
				$("#nommesure").attr('required',true);
				$("#symbole").attr('required',true);
				$("#unite_id").attr('required',true);
				$("#valeurRef").attr('required',true);
				$("#resolution").attr('required',true);
				$("#tolerance").attr('required',true);
				$("#emtstandart").attr('required',true);
				$("#typedemesure").show();
				$("#typedemesure").attr('required',true);
			} else if (<?=$materiel['metrologie']?> == 1) {
				$("#metro").hide();
				$("#nommesure").attr('required',false);
				$("#symbole").attr('required',false);
				$("#unite_id").attr('required',false);
				$("#valeurRef").attr('required',false);
				$("#resolution").attr('required',false);
				$("#tolerance").attr('required',false);
				$("#emtstandart").attr('required',false);
				$("#typedemesure").hide();
				$("#typedemesure").attr('required',false);
			}

			if(domaineId == "Réparation") $("#frequence").hide();
			else $("#frequence").show();

});


/*
 *  Vérification date début > date fin dans le cas d'une panne
 */


 $(document).ready(function () {
d1 = toDate($("#date_deb")[0].value); 	/* Date de la prise en charge de la panne */
d2 = toDate($("#date_fin")[0].value); 	/* Date estimee de fin de la panne */

if($("#date_fin")[0].value != undefined){
	if(d1 > d2) {
		alert("Les dates ne correspondent pas, la date de début de prise en charge doit être antérieure à la date de fin.");
		event.preventDefault();
	}
}

 });

 
/**
 * Event calcul date prochain controle
 */
  $(document).ready(function () {
  	$("#SuiviFrequence").bind("change", function (event) {
  		if($("#date-controle").val() != "" && $("#SuiviFrequence").val() != "") {
  			var url = document.URL;
  			var reg=new RegExp("(suivis).*$","g");
  			var dateUrl = url.replace(reg, "Suivis/getNextDate/");
  			$.ajax({
  				url: dateUrl + $("#date-controle").val() + "/" + $("#SuiviFrequence").val() + "/" + $("#type-frequence").val().substring(2)
  			}).done(function(data) {
  				$("#date-prochain-controle").val(data)
  			});
  		}
  	});
  	$("#type-frequence").bind("change", function (event) {
  		if($("#date-controle").val() != "" && $("#SuiviFrequence").val() != "") {
  			var url = document.URL;
  			var reg=new RegExp("(suivis).*$","g");
  			var dateUrl = url.replace(reg, "Suivis/getNextDate/");
  			$.ajax({
  				url: dateUrl + $("#date-controle").val() + "/" + $("#SuiviFrequence").val() + "/" + $("#type-frequence").val().substring(2)
  			}).done(function(data) {
  				$("#date-prochain-controle").val(data)
  			});
  		}
  	});
  });

</script>