Commit 727b4dd08f270214b2d77e4c22474d0c88bbf620

Authored by mimelhaine
2 parents defaf950 5b54a286

Merge branch 'master' into dev

Conflicts:
	src/Controller/AppController.php
	src/Controller/DocumentsController.php
	src/Model/Table/DocumentsTable.php
	src/Template/Documents/edit.ctp
	src/Template/Layout/Formules/add.ctp
	src/Template/Layout/Formules/edit.ctp
	src/Template/Layout/Formules/index.ctp
	src/Template/Layout/Formules/view.ctp
	src/Template/Materiels/index.ctp
	src/Template/Pages/tools_menu_sm.ctp
	src/Template/Suivis/add.ctp
	src/Template/Suivis/view.ctp
README-LABINVENT.md
... ... @@ -47,20 +47,9 @@ Logiciel testé et validé sur les configurations suivantes :
47 47  
48 48 VERSION ACTUELLE
49 49  
50   -Date: 23/01/2018
51   -Version: 2.8.0.7
52   - Nombreux bugfixes :
53   - - phase installation, structure BD, ...
54   - - Export des matériels :
55   - - Num cde : vide !!!
56   - - autres champs vides : Fournisseur - Etop - num serie - Nom utilisateur
57   - - Fiche PDF du matériel: plusieurs champs manquants
58   - - Bug affichage résultat recherche (contenu ne correspond pas aux colonnes, et certains contenus sont absents!!)
59   - - Listes export : supprimer champ id
60   - - Bug étiquette : organisme ne s'affiche plus
61   - - Bug doc admission
62   -
63   -ATTENTION : Mise à jour de la base de données requise (cf database/update)
  50 +Date: 02/02/2018
  51 +Version: 2.8.1.0
  52 + Modif format étiquette
64 53  
65 54 Version majeure en cours (2.8): https://projects.irap.omp.eu/versions/162
66 55  
... ...
src/Controller/AppController.php
... ... @@ -1387,3 +1387,4 @@ class AppController extends Controller
1387 1387 return $mailList;
1388 1388 }
1389 1389 }
  1390 +
... ...
src/Controller/DocumentsController.php 100644 → 100755
... ... @@ -635,6 +635,8 @@ class DocumentsController extends AppController
635 635 $this->set(compact('suivi', 'unite', 'fiche', 'symbole', 'mesures'));
636 636 $this->set('fpdf', new FPDF('P', 'mm', 'A4'));
637 637 }
  638 +
  639 +
638 640  
639 641 /*
640 642 * Envoi de mail - cette fonction sera appelée si l'on clique sur le bouton envelloppe d'un document sur la page vue d'un matériel
... ... @@ -682,6 +684,5 @@ class DocumentsController extends AppController
682 684 $document->suivi_id
683 685 ]);
684 686 }
685   -
686 687 }
687 688 }
... ...
src/Model/Table/DocumentsTable.php
... ... @@ -71,12 +71,11 @@ class DocumentsTable extends AppTable
71 71  
72 72 $validator->allowEmpty('suivi_id');
73 73  
74   - //le nom du doc ne doit pas contenir de termes non alphanumérique, cela crée des problèmes pour les dl
75 74 $validator->add('nom', 'alphaNumeric', [
76   - 'rule' => 'alphaNumeric',
77   - 'message' => __('Le nom du document ne doit contenir que des chiffres et des lettres.'),
78   - ]);
79   -
  75 + 'rule' => 'alphaNumeric',
  76 + 'message' => __('Le nom du document ne doit contenir que des chiffres et des lettres.'),
  77 + ]);
  78 +
80 79 return $validator;
81 80 }
82 81  
... ... @@ -204,10 +203,8 @@ class DocumentsTable extends AppTable
204 203 }
205 204 $nom=$id."_".$entity->get('nom')."_".$entity->get('id'). '.' . $extension;
206 205 if ($entity->get('photo')) {
207   - //move_uploaded_file($file['tmp_name'], 'img' . DS . 'photos' . DS . $entity->get('id') . '.' . $extension);
208 206 move_uploaded_file($file['tmp_name'], 'img' . DS . 'photos' . DS . $nom );
209 207 } else {
210   - //move_uploaded_file($file['tmp_name'], 'files' . DS . $entity->get('id') . '.' . $extension);
211 208 move_uploaded_file($file['tmp_name'], 'files' . DS . $nom );
212 209 }
213 210 }
... ...
src/Template/Documents/edit.ctp
... ... @@ -25,6 +25,7 @@
25 25 }
26 26  
27 27 //On met le nom du doc en read only vu qu'il apparait dans le nom du fichier sur le serveur
  28 +
28 29 //et une opération pour remodifier ces fichiers peut être lourd en complexité
29 30 echo $this->Form->input('nom', ['readonly' => true]);
30 31  
... ...
src/Template/Materiels/index.ctp
... ... @@ -200,8 +200,6 @@ if (in_array($materiel->status, [
200 200 $materiel ->nom_responsable
201 201 ]))) ||($role == 'Responsable' && ((isset($priviledgedUser->groupes_metier_id) && $priviledgedUser->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $priviledgedUser->groupes_metier_id) || (isset($priviledgedUser->groupe_thematique_id) && $priviledgedUser->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $priviledgedUser->groupe_thematique_id)))) {
202 202 ?>
203   -
204   -
205 203 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $materiel->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>
206 204 <?php } endif; ?>
207 205  
... ...
src/Template/Suivis/add.ctp
... ... @@ -131,6 +131,8 @@ echo $this-&gt;element(&#39;menu_form&#39;, [
131 131 document.getElementById('typedemesure').innerHTML = "";
132 132 $('#listes').hide();
133 133 }
  134 + //gère l'affichage dynamique après choix du type de suivi
  135 +
134 136 if( domaineId == "Panne"){
135 137 document.getElementById('frequence').innerHTML = "";
136 138 $("#frequence").hide();
... ...
webroot/js/Verifications_dates_materiels.js
... ... @@ -22,20 +22,46 @@ $(document).ready(function () {
22 22 * Event calcul date fin de garantie
23 23 */
24 24 /* On formatte COMME IL FAUT les dates des formulaires */
  25 + /* EP deactivated, works but no more necessary ?*/
25 26 $('.datepicker').each(function(){
26 27 this.value = this.value.replace(/\//g, "-");
27 28 this.value = twoToFour(this.value);
28 29 });
29   -
30 30  
31 31 /* Puis si nécessaire on update la date de fin de gurantie au chargement de la page */
32   - if ($("#date-fin-garantie")[0].value != "") dateUpdate();
  32 + if ($("#date-fin-garantie")[0].value != "") date_fin_garantie_update();
33 33  
34 34 /* Et enfin les events purs */
35   - $("#date-reception").change( function(event) { dateUpdate(); });
36   - $("#duree-garantie").bind("change", function(event) { dateUpdate(); });
37   - $("#unite-duree-garantie").bind("change", function(event) { dateUpdate(); });
38   - $("#date-fin-garantie").bind("change", function(event) { $("#duree-garantie")[0].value = "" });
  35 + /*
  36 + $("#date-reception").change(
  37 + function(event) { date_fin_garantie_update(); }
  38 + );
  39 + */
  40 + $("#date-reception").change(
  41 + function(event) {
  42 + if(!checkDate(this.value)) {
  43 + alert("Les dates doivent être de la forme dd-mm-YYYY");
  44 + event.preventDefault();
  45 + }
  46 + else {
  47 + date_fin_garantie_update();
  48 + }
  49 + }
  50 + );
  51 + $("#duree-garantie").bind("change", function(event) { date_fin_garantie_update(); });
  52 + $("#unite-duree-garantie").bind("change", function(event) { date_fin_garantie_update(); });
  53 + /*$("#date-fin-garantie").bind("change", function(event) { $("#duree-garantie")[0].value = "" });*/
  54 + $("#date-fin-garantie").change(
  55 + function(event) {
  56 + if(!checkDate(this.value)) {
  57 + alert("Les dates doivent être de la forme dd-mm-YYYY");
  58 + event.preventDefault();
  59 + }
  60 + else {
  61 + $("#duree-garantie")[0].value = "";
  62 + }
  63 + }
  64 + );
39 65  
40 66 /**
41 67 * Event - à la validation, on vérifie les dates
... ... @@ -49,6 +75,7 @@ $(document).ready(function () {
49 75 // event.preventDefault();
50 76 // }
51 77  
  78 + /* EP deactivated, works but no more necessary
52 79 $bool = false;
53 80 $('.datepicker').each(function(){
54 81 if(this.value != "" && $bool == false) {
... ... @@ -60,17 +87,20 @@ $(document).ready(function () {
60 87 }
61 88 }
62 89 });
  90 + */
63 91  
64 92 d1 = toDate($("#date-acquisition")[0].value); /* Date de la commande */
65 93 d2 = toDate($("#date-reception")[0].value); /* Date de réception */
66 94 d3 = toDate($("#date-fin-garantie")[0].value); /* Date fin de garantie */
67 95  
  96 + /* EP deactivated, works but no more necessary
68 97 if($("#date-reception")[0].value != undefined){
69 98 if(d1 > d2) {
70 99 alert("Les dates ne correspondent pas, la date de réception doit être supérieure à la date de commande.");
71 100 event.preventDefault();
72 101 }
73 102 }
  103 + */
74 104  
75 105 if($("#date-reception")[0].value != undefined){
76 106 if(d2 > d3) {
... ... @@ -79,18 +109,19 @@ $(document).ready(function () {
79 109 }
80 110 }
81 111  
82   - });
  112 + }); /* On SUBMIT */
83 113 });
84 114  
85 115 /**
86 116 * Fonction qui vérifie que la date en parametre soit bien au format dd-mm-YYYY ou d-m-YYYY
87 117 */
88 118 function checkDate(str) {
89   - return str.match(/^(\d{1,2})-(\d{1,2})-(\d{4})$/);
  119 + //return str.match(/^(\d{1,2})-(\d{1,2})-(\d{4})$/);
  120 + return str.match(/^(\d{2})-(\d{2})-(\d{4})$/);
90 121 }
91 122  
92 123 /**
93   - * Fonction qui passe l'années de deux à quatres chiffres
  124 + * Fonction qui passe l'année de deux à quatres chiffres
94 125 */
95 126 function twoToFour(str) {
96 127 if (str.match(/^(\d{1,2})-(\d{1,2})-(\d{2})$/)) {
... ... @@ -104,8 +135,18 @@ function twoToFour(str) {
104 135 /**
105 136 * Fonction de mise à jour de la date de fin de guarantie
106 137 */
107   -function dateUpdate() {
  138 +function date_fin_garantie_update() {
108 139 if ($("#date-reception").val() != "" && $("#duree-garantie").val() != "") {
  140 + /* EP added this :
  141 + $('.datepicker').each(function(){
  142 + this.value = this.value.replace(/\//g, "-");
  143 + this.value = twoToFour(this.value);
  144 + });
  145 + */
  146 + $("#date-reception").each(function(){
  147 + this.value = twoToFour(this.value);
  148 + });
  149 +
109 150 var url = document.URL;
110 151 var reg = new RegExp("(materiels).*$", "g");
111 152 var dateUrl = url.replace(reg, "Materiels/getDateGarantie/");
... ...