Commit ade9d227fbc75a075f43a4a07b74797d13442bb3

Authored by Malik Imelhaine
1 parent 95dff624

Update Edit

==>problème de compatibilité des commentaires
Showing 1 changed file with 150 additions and 268 deletions   Show diff stats
src/Template/Materiels/edit.ctp
... ... @@ -2,54 +2,56 @@
2 2 use Cake\ORM\TableRegistry;
3 3  
4 4 $USER_IS_UTILISATEUR_AND_CREATOR_OR_OWNER = $USER_IS_UTILISATEUR && in_array($username, [
5   - $materiel->nom_createur,
6   - $materiel->nom_responsable
  5 + $materiel->nom_createur,
  6 + $materiel->nom_responsable
7 7 ]);
8 8  
9 9 $USER_IS_RESPONSABLE_AND_CREATOR_OR_OWNER = $USER_IS_RESPONSABLE && in_array($username, [
10   - $materiel->nom_createur,
11   - $materiel->nom_responsable
  10 + $materiel->nom_createur,
  11 + $materiel->nom_responsable
12 12 ]);
13 13  
  14 +
14 15 $USER_IS_RESPONSABLE_AND_SAME_GROUP = $USER_IS_RESPONSABLE && ((isset($priviledgedUser->groupes_metier_id) && $materiel->groupes_metier_id == $priviledgedUser->groupes_metier_id) || (isset($priviledgedUser->groupe_thematique_id) && $materiel->groupes_thematique_id == $priviledgedUser->groupe_thematique_id));
15 16  
16 17 $administrationData = array(
17   - 'eotp',
18   - 'numero_commande',
19   - 'code_comptable',
20   - 'numero_inventaire_organisme',
21   - 'numero_inventaire_old'
  18 + 'eotp',
  19 + 'numero_commande',
  20 + 'code_comptable',
  21 + 'numero_inventaire_organisme',
  22 + 'numero_inventaire_old'
22 23 );
23 24 $myReadonlyFields = array();
24 25 if ($IS_VALIDATED)
25   - // can only modify some fields
26   - $myReadonlyFields = array_merge(array(
27   - 'sur_categorie_id',
28   - 'categorie_id',
29   - 'materiel_administratif',
30   - 'materiel_technique',
31   - 'site_id',
32   - 'date_acquisition',
33   - 'date_reception',
34   - 'organisme_id',
35   - 'prix_ht',
36   - 'gestionnaire_id'
37   - ), $administrationData);
38   - else if ($IS_ARCHIVED_OR_TOBE) {
39   - $myReadonlyFields = array(
40   - '*',
41   - 'status'
42   - );
43   - }
44   - if ($IS_VALIDATED && $materiel->sous_categorie_id)
45   - $myReadonlyFields = array_merge(array(
46   - 'sous_categorie_id'
47   - ), $myReadonlyFields);
48   - if ($IS_VALIDATED && $materiel->numero_serie)
49   - $myReadonlyFields = array_merge(array(
50   - 'numero_serie'
51   - ), $myReadonlyFields);
52   - ?>
  26 + // can only modify some fields
  27 + $myReadonlyFields = array_merge(array(
  28 + 'sur_categorie_id',
  29 + 'categorie_id',
  30 + 'materiel_administratif',
  31 + 'materiel_technique',
  32 + 'site_id',
  33 + 'date_acquisition',
  34 + 'date_reception',
  35 + 'organisme_id',
  36 + 'prix_ht',
  37 + 'gestionnaire_id'
  38 + ), $administrationData);
  39 +else if ($IS_ARCHIVED_OR_TOBE) {
  40 + $myReadonlyFields = array(
  41 + '*',
  42 + 'status'
  43 + );
  44 +}
  45 +if ($IS_VALIDATED && $materiel->sous_categorie_id)
  46 + $myReadonlyFields = array_merge(array(
  47 + 'sous_categorie_id'
  48 + ), $myReadonlyFields);
  49 +if ($IS_VALIDATED && $materiel->numero_serie)
  50 + $myReadonlyFields = array_merge(array(
  51 + 'numero_serie'
  52 + ), $myReadonlyFields);
  53 +?>
  54 +
53 55  
54 56 <div class="materiels form">
55 57 <?=$this->Form->create($materiel)?>
... ... @@ -58,17 +60,16 @@ if ($IS_VALIDATED)
58 60 <h2>
59 61 <i class="icon-edit"></i> Editer un Matériel
60 62 </h2>
61   -
62 63  
63   - <?php
64   - /* Après harmonisation suppression du lien vers la page administrer
65   - *
66   - * if ($role == 'Super Administrateur') {
  64 + <?php
  65 +
  66 + // Après armonisation de edit et administrer plus besoin de lien vers la page*
  67 + /*
67 68 if ($USER_IS_SUPERADMIN) {
68 69 echo $this->Html->link('Aller au formulaire d\'édition avancée', [
69 70 'action' => 'administrer',
70 71 $materiel->id
71   - ]);z
  72 + ]);
72 73 echo '<br><br>';
73 74 }*/
74 75 ?>
... ... @@ -77,8 +78,8 @@ if ($IS_VALIDATED)
77 78 style="margin-bottom: 20px; width: 100%; float: none; padding: 10px 0;">
78 79 <?=$this->Form->submit(__('Enregistrer'))?>
79 80  
80   - <?=$this->Html->link(__('<i class="icon-minus-sign"></i> Annuler'), ['action' => 'view', $materiel->id], ['escape' => false,'onclick' => 'return true;','style' => 'margin-right: 10px'])?>
81   - </div>
  81 + <?=$this->Html->link(__('<i class="icon-minus-sign"></i> Annuler'), ['action' => 'view', $materiel->id], ['escape' => false,'onclick' => 'return true;','style' => 'margin-right: 10px'])?>
  82 + </div>
82 83  
83 84 <?php
84 85 echo $this->Form->input('designation', [
... ... @@ -335,29 +336,26 @@ if ($IS_VALIDATED)
335 336 echo '<div style="border-top: 1px solid #CCC; border-bottom: 1px solid #CCC; margin-bottom: 0; background: #EEE;"><span style="font-size: 9px; color: red;">Partie administrative</span>';
336 337 echo $this->Form->checkbox('adminEdit', [
337 338 'label' => 'Editer la partie administrative',
338   - 'onchange' => 'changeAdminEdit();',
  339 + 'onchange' => 'changeAdminEdit();',
339 340 'default' => false
340 341 ]);
341   -
342 342 echo $this->Form->input('eotp', [
343 343 'label' => 'Centre financier/EOTP',
344 344 'disabled' => true
345 345 ]);
346 346 echo $this->Form->input('numero_commande', [
347   - 'label' => 'Numéro de commande',
348   - 'disabled' => true
  347 + 'label' => 'Numéro de commande',
  348 + 'disabled' => true
349 349 ]);
350 350 echo $this->Form->input('code_comptable', [
351 351 'label' => 'Code comptable',
352 352 'disabled' => true
353 353 ]);
354   -
355 354 echo $this->Form->input('numero_laboratoire', [
356 355 'label' => 'Numéro de laboratoire',
357 356 'id' => 'num_labo',
358 357 'disabled' => true
359 358 ]);
360   -
361 359 echo $this->Form->input('numero_inventaire_organisme', [
362 360 'label' => 'N° inventaire organisme',
363 361 'disabled' => true
... ... @@ -368,77 +366,41 @@ if ($IS_VALIDATED)
368 366 ]);
369 367 echo '</div>';
370 368 }
  369 + // if ($role == 'Super Administrateur') {
  370 +if ($USER_IS_SUPERADMIN) {
  371 + echo '<div style="border-top: 1px solid #CCC; border-bottom: 1px solid #CCC; margin-bottom: 0; background: #EEE;"><span style="font-size: 9px; color: red;">Partie administrative avancée</span>';
  372 + /*echo $this->Form->checkbox('adminEditPlus', [
  373 + 'label' => 'Editer la partie administrative avancée',
  374 + 'onchange' => 'changeAdminPlus();',
  375 + 'default' => false
  376 + ]);*/
  377 +
  378 + echo $this->Form->input('nom_createur', [
  379 + 'label' => 'Nom du créateur',
  380 + 'disabled' => true,
  381 + 'options' => $utilisateurs
  382 + ]);
  383 +
  384 + echo $this->Form->input('created', [
  385 + 'label' => 'Date de création',
  386 + 'disabled' => true
  387 + ]);
  388 + echo $this->Form->input('nom_modificateur', [
  389 + 'label' => 'Nom du modificateur',
  390 + 'default' => $username,
  391 + 'disabled' => true
  392 + ]);
  393 + echo $this->Form->input('modified', [
  394 + 'label' => 'Date de modification',
  395 + 'disabled' => true
  396 + ]);
  397 + echo '</div>';
  398 + }
  399 +echo $this->Form->hidden('nom_modificateur', [
  400 + 'value' => $username
  401 +]);
  402 +
371 403  
372   -
373   - // if ($role == 'Super Administrateur') {
374   - if ($USER_IS_SUPERADMIN) {
375   -
376   - echo '<div style="border-top: 1px solid #CCC; border-bottom: 1px solid #CCC; margin-bottom: 0; background: #EEE;"><span style="font-size: 9px; color: red;">Partie administrative avancée</span>';
377   - /* Checkbox à remettre si on veut pouvoir modifier les champs suivants si elle est cochée
378   - * il faut aussi remettre la fonction javascript changeAdminEditPlus() en fin de fichier qui dicte le comportement de ces champs
379   -
380   - echo $this->Form->checkbox('adminPlus', [
381   -
382   - 'label' => 'Editer la partie administrative avancée',
383   - 'onchange' => 'changeAdminEditPlus();',
384   - 'default' => false
385   - ]);*/
386   -
387   - //if($this->Form->adminEditPlus)
388   - echo $this->Form->input('nom_createur', [
389   - 'label' => 'Nom du créateur',
390   - 'disabled' => true,
391   - 'options' => $utilisateurs
392   - ]);
393   - //Date de création de la fiche matériel
394   - //dispo en deux versions,
395   - //Version de base qui crée un champ pour l'heure, un champ pour le jour, un pour le mois...
396   - //nous la vérouillons d'office, car aucune utilisateur même le superadmin n'a pas besoin de modifier ce champ
397   -
398   - echo $this->Form->input('created', [
399   - 'label' => 'Date de création',
400   - 'disabled' => true
401   - ]);
402   -
403   - /*Version datepicker, possède un id, si la checkbox en début de div est active
404   - * Ainsi que la fonction changeAdminEditPlus(), ce champ devient disabled en fonction de la checkbox
405   - * il y a cependant plusieurs problèmes, la date est l'heure sont préremplies dans ce date picker qui ne gère que la date
406   - * Ainsi à chaque fois l'on veut modifier la fiche on est obligé de remodifier ce champ et enlever l'heure
407   - * Il faudrait changer plus de choses, mais comme l'on a décidé de laisses ces champs non modifiables j'en suis resté là
408   - echo $this->Form->input('created', [
409   - 'type' => 'text',
410   - 'label' => 'Date de création',
411   - 'disabled' => true,
412   - 'class' => 'datepicker'
413   - ]);*/
414   -
415   -
416   - echo $this->Form->input('nom_modificateur', [
417   - 'label' => 'Nom du modificateur',
418   - 'default' => $username,
419   - 'disabled' => true
420   - ]);
421   - // Même situation que pour la création, mais pour la modification
422   - echo $this->Form->input('modified', [
423   - 'label' => 'Date de modification',
424   - 'disabled' => true
425   - ]);
426   -
427   - //Version datepicker
428   - /*echo $this->Form->input('modified', [
429   - 'type' => 'text',
430   - 'label' => 'Date de modification',
431   - 'disabled' => true,
432   - 'class' => 'datepicker'
433   - ]);
434   -
435   - echo '</div>';*/
436   -
437   - }
438   -
439   - echo $this->Form->hidden('nom_modificateur', [
440   - 'value' => $username
441   - ]);
442 404 ?>
443 405 </fieldset>
444 406 <?=$this->Form->submit(__('Enregistrer'))?>
... ... @@ -473,155 +435,11 @@ echo $this-&gt;element(&#39;menu_form&#39;, [
473 435  
474 436 <?php // Alors oui, c'est pas joli, mais CakePHP a eu l'EXCELENTE IDEE de TOUT inclure dans la balise <head> du site ... Et bien entendu c'est pas pris en compte ici .... Halleluja bordel (#JeremyFerrary) ?>
475 437 <?=$this->Html->script('jquery-1.8.12')?>
  438 +<?=$this->Html->script('script')?>
476 439 <?=$this->Html->script('DatepickerConfig')?>
477 440 <?=$this->Html->script('Verifications_dates_materiels.js')?>
478   -<?=$this->Html->script('script')?>
479 441  
480 442 <script type="text/javascript">
481   -
482   -/**
483   - * Event DOMAINE change
484   - *
485   - * Sur sélection d'un DOMAINE ==> update CATEGORIES + empty SOUS-CATEGORIES
486   - *
487   - * Dans le détail :
488   - * - si select <> "choisir" ==> categ value = from domaine (select="choisir")
489   - * - si select = "choisir" ==> categ value = TOUTES (select="choisir")
490   - * - puis (dans les 2 cas) vider scateg
491   - *
492   - */
493   -
494   -$(document).ready(function () {
495   - $("#sur-categorie-id").bind("change", function (event) {
496   - var domaineId=$("#sur-categorie-id :selected").val();
497   -
498   - if (domaineId=="")
499   - updateSelectOptionsFromAnother("#categorie-id", "#sur-categorie-id", "Categories/getAll", "Choisir une catégorie");
500   - else
501   - updateSelectOptionsFromAnother("#categorie-id", "#sur-categorie-id", "Categories/getBySurCategorie", "Choisir une catégorie");
502   - emptySelectOptions("#sous-categorie-id","Choisir une sous-catégorie");
503   - return false;
504   - });
505   -});
506   -
507   -/**
508   - *
509   - * Event CATEGORIE change
510   - *
511   - * - si select = "choisir" ==> vider scateg
512   - * - si select <> "choisir" ==> domaine value selected = celui de la categ, et scateg values = from categ
513   - */
514   -$(document).ready(function () {
515   - $("#categorie-id").bind("change", function (event) {
516   - var categId=$("#categorie-id :selected").val();
517   - var categLabel=$("#categorie-id :selected").text();
518   -
519   - if (categId=="") emptySelectOptions("#sous-categorie-id","Choisir une sous-catégorie");
520   - else {
521   - updateSelectOptionsFromAnother("#sous-categorie-id", "#categorie-id", "SousCategories/getByCategorie", "Choisir une sous-catégorie "+categLabel);
522   - updateSelectOptionsFromAnother("#sur-categorie-id", "#categorie-id", "SurCategories/getFromCategorie", "");
523   - }
524   - return false;
525   - });
526   -});
527   -
528   -
529   - /**
530   - * Event Mail change
531   - */
532   - $(document).ready(function () {
533   - $("#nom-responsable").bind("change", function (event) {
534   - var url = document.URL;
535   - var reg=new RegExp("(materiels).*$","g");
536   - var emailUrl = url.replace(reg, "Users/getLdapEmail/");
537   - $.ajax({
538   - url: emailUrl + $("#nom-responsable").val()
539   - }).done(function(data) {
540   - $("#email-responsable").val(data)
541   - });
542   - });
543   - });
544   -
545   -
546   - /**
547   - * Event calcul date fin de garantie
548   - */
549   - $(document).ready(function () {
550   - $("#duree-garantie").bind("change", function (event) {
551   - if($("#date-reception").val() != "" && $("#duree-garantie").val() != "") {
552   - var url = document.URL;
553   - var reg=new RegExp("(materiels).*$","g");
554   - var dateUrl = url.replace(reg, "Materiels/getDateGarantie/");
555   - $.ajax({
556   - url: dateUrl + $("#date-reception").val() + "/" + $("#duree-garantie").val() + "/" + $("#unite-duree-garantie").val()
557   - }).done(function(data) {
558   - $("#date-fin-garantie").val(data)
559   - });
560   - }
561   - });
562   - $("#unite-duree-garantie").bind("change", function (event) {
563   - if($("#date-reception").val() != "" && $("#duree-garantie").val() != "") {
564   - var url = document.URL;
565   - var reg=new RegExp("(materiels).*$","g");
566   - var dateUrl = url.replace(reg, "Materiels/getDateGarantie/");
567   - $.ajax({
568   - url: dateUrl + $("#date-reception").val() + "/" + $("#duree-garantie").val() + "/" + $("#unite-duree-garantie").val()
569   - }).done(function(data) {
570   - $("#date-fin-garantie").val(data)
571   - });
572   - }
573   - });
574   - });
575   -
576   -
577   - //changement d'emplacement de la fonction qui étais dans le fichier ./webroot/js/script.js (si modifiée dans le script, bug de l'application)
578   - //permet d'afficher les infos administrative
579   - //après checkbox checked
580   - //
581   -function changeAdminEdit() {
582   - if (document.getElementById('eotp').disabled) {
583   - document.getElementById('eotp').disabled=false;
584   - document.getElementById('numero-commande').disabled=false;
585   - document.getElementById('code-comptable').disabled=false;
586   - document.getElementById('numero-inventaire-organisme').disabled=false;
587   - document.getElementById('numero-inventaire-old').disabled=false;
588   - document.getElementById('num_labo').disabled=false;
589   - }
590   - else {
591   - document.getElementById('eotp').disabled=true;
592   - document.getElementById('numero-commande').disabled=true;
593   - document.getElementById('code-comptable').disabled=true;
594   - document.getElementById('numero-inventaire-organisme').disabled=true;
595   - document.getElementById('numero-inventaire-old').disabled=true;
596   - document.getElementById('num_labo').disabled=true;
597   - }
598   -}
599   -/* Fonction retirée car ces informations n'ont pas pour but d'être modifiées
600   - * Nous laissons la fonction disponible si elle redevient un jour nécessaire
601   - *
602   -//Permet d'afficher les infos administrative plus après checkbox checked
603   - function changeAdminEditPlus() {
604   - if (document.getElementById('nom-createur').disabled) {
605   - document.getElementById('nom-createur').disabled=false;
606   - document.getElementById('nom-modificateur').disabled=false;
607   - document.getElementById('created').disabled=false;
608   - document.getElementById('modified').disabled=false;
609   - }
610   - else {
611   - document.getElementById('nom-createur').disabled=true;
612   - document.getElementById('nom-modificateur').disabled=true;
613   - document.getElementById('created').disabled=true;
614   - document.getElementById('modified').disabled=true;
615   - }
616   - }
617   -*/
618   -
619   -
620   -
621   -</script>
622   -
623   -<!--
624   -<script type="text/javascript">
625 443  
626 444 $(document).ready(function () {
627 445  
... ... @@ -680,7 +498,71 @@ $(document).ready(function () {
680 498 return false;
681 499 });
682 500 });
  501 +
  502 +/**
  503 + * Event Mail change
  504 + */
  505 + $(document).ready(function () {
  506 + $("#nom-responsable").bind("change", function (event) {
  507 + var url = document.URL;
  508 + var reg=new RegExp("(materiels).*$","g");
  509 + var emailUrl = url.replace(reg, "Users/getLdapEmail/");
  510 + $.ajax({
  511 + url: emailUrl + $("#nom-responsable").val()
  512 + }).done(function(data) {
  513 + $("#email-responsable").val(data)
  514 + });
  515 + });
  516 + });
  517 +
  518 +
  519 + /**
  520 + * Event calcul date fin de garantie
  521 + */
  522 + $(document).ready(function () {
  523 + $("#duree-garantie").bind("change", function (event) {
  524 + if($("#date-reception").val() != "" && $("#duree-garantie").val() != "") {
  525 + var url = document.URL;
  526 + var reg=new RegExp("(materiels).*$","g");
  527 + var dateUrl = url.replace(reg, "Materiels/getDateGarantie/");
  528 + $.ajax({
  529 + url: dateUrl + $("#date-reception").val() + "/" + $("#duree-garantie").val() + "/" + $("#unite-duree-garantie").val()
  530 + }).done(function(data) {
  531 + $("#date-fin-garantie").val(data)
  532 + });
  533 + }
  534 + });
  535 + $("#unite-duree-garantie").bind("change", function (event) {
  536 + if($("#date-reception").val() != "" && $("#duree-garantie").val() != "") {
  537 + var url = document.URL;
  538 + var reg=new RegExp("(materiels).*$","g");
  539 + var dateUrl = url.replace(reg, "Materiels/getDateGarantie/");
  540 + $.ajax({
  541 + url: dateUrl + $("#date-reception").val() + "/" + $("#duree-garantie").val() + "/" + $("#unite-duree-garantie").val()
  542 + }).done(function(data) {
  543 + $("#date-fin-garantie").val(data)
  544 + });
  545 + }
  546 + });
  547 +});
  548 +
  549 + function changeAdminEdit() {
  550 + if (document.getElementById('eotp').disabled) {
  551 + document.getElementById('eotp').disabled=false;
  552 + document.getElementById('numero-commande').disabled=false;
  553 + document.getElementById('code-comptable').disabled=false;
  554 + document.getElementById('numero-inventaire-organisme').disabled=false;
  555 + document.getElementById('numero-inventaire-old').disabled=false;
  556 + document.getElementById('num_labo').disabled=false;
  557 + }
  558 + else {
  559 + document.getElementById('eotp').disabled=true;
  560 + document.getElementById('numero-commande').disabled=true;
  561 + document.getElementById('code-comptable').disabled=true;
  562 + document.getElementById('numero-inventaire-organisme').disabled=true;
  563 + document.getElementById('numero-inventaire-old').disabled=true;
  564 + document.getElementById('num_labo').disabled=true;
  565 + }
  566 + }
683 567  
684 568 </script>
685   -
686   - -->
... ...