Commit 727b4dd08f270214b2d77e4c22474d0c88bbf620
Exists in
master
and in
3 other branches
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
Showing
8 changed files
with
64 additions
and
34 deletions
Show diff stats
README-LABINVENT.md
@@ -47,20 +47,9 @@ Logiciel testé et validé sur les configurations suivantes : | @@ -47,20 +47,9 @@ Logiciel testé et validé sur les configurations suivantes : | ||
47 | 47 | ||
48 | VERSION ACTUELLE | 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 | Version majeure en cours (2.8): https://projects.irap.omp.eu/versions/162 | 54 | Version majeure en cours (2.8): https://projects.irap.omp.eu/versions/162 |
66 | 55 |
src/Controller/AppController.php
@@ -635,6 +635,8 @@ class DocumentsController extends AppController | @@ -635,6 +635,8 @@ class DocumentsController extends AppController | ||
635 | $this->set(compact('suivi', 'unite', 'fiche', 'symbole', 'mesures')); | 635 | $this->set(compact('suivi', 'unite', 'fiche', 'symbole', 'mesures')); |
636 | $this->set('fpdf', new FPDF('P', 'mm', 'A4')); | 636 | $this->set('fpdf', new FPDF('P', 'mm', 'A4')); |
637 | } | 637 | } |
638 | + | ||
639 | + | ||
638 | 640 | ||
639 | /* | 641 | /* |
640 | * 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 | 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,6 +684,5 @@ class DocumentsController extends AppController | ||
682 | $document->suivi_id | 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,12 +71,11 @@ class DocumentsTable extends AppTable | ||
71 | 71 | ||
72 | $validator->allowEmpty('suivi_id'); | 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 | $validator->add('nom', 'alphaNumeric', [ | 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 | return $validator; | 79 | return $validator; |
81 | } | 80 | } |
82 | 81 | ||
@@ -204,10 +203,8 @@ class DocumentsTable extends AppTable | @@ -204,10 +203,8 @@ class DocumentsTable extends AppTable | ||
204 | } | 203 | } |
205 | $nom=$id."_".$entity->get('nom')."_".$entity->get('id'). '.' . $extension; | 204 | $nom=$id."_".$entity->get('nom')."_".$entity->get('id'). '.' . $extension; |
206 | if ($entity->get('photo')) { | 205 | if ($entity->get('photo')) { |
207 | - //move_uploaded_file($file['tmp_name'], 'img' . DS . 'photos' . DS . $entity->get('id') . '.' . $extension); | ||
208 | move_uploaded_file($file['tmp_name'], 'img' . DS . 'photos' . DS . $nom ); | 206 | move_uploaded_file($file['tmp_name'], 'img' . DS . 'photos' . DS . $nom ); |
209 | } else { | 207 | } else { |
210 | - //move_uploaded_file($file['tmp_name'], 'files' . DS . $entity->get('id') . '.' . $extension); | ||
211 | move_uploaded_file($file['tmp_name'], 'files' . DS . $nom ); | 208 | move_uploaded_file($file['tmp_name'], 'files' . DS . $nom ); |
212 | } | 209 | } |
213 | } | 210 | } |
src/Template/Documents/edit.ctp
@@ -25,6 +25,7 @@ | @@ -25,6 +25,7 @@ | ||
25 | } | 25 | } |
26 | 26 | ||
27 | //On met le nom du doc en read only vu qu'il apparait dans le nom du fichier sur le serveur | 27 | //On met le nom du doc en read only vu qu'il apparait dans le nom du fichier sur le serveur |
28 | + | ||
28 | //et une opération pour remodifier ces fichiers peut être lourd en complexité | 29 | //et une opération pour remodifier ces fichiers peut être lourd en complexité |
29 | echo $this->Form->input('nom', ['readonly' => true]); | 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,8 +200,6 @@ if (in_array($materiel->status, [ | ||
200 | $materiel ->nom_responsable | 200 | $materiel ->nom_responsable |
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)))) { | 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 | <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $materiel->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> | 203 | <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $materiel->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> |
206 | <?php } endif; ?> | 204 | <?php } endif; ?> |
207 | 205 |
src/Template/Suivis/add.ctp
@@ -131,6 +131,8 @@ echo $this->element('menu_form', [ | @@ -131,6 +131,8 @@ echo $this->element('menu_form', [ | ||
131 | document.getElementById('typedemesure').innerHTML = ""; | 131 | document.getElementById('typedemesure').innerHTML = ""; |
132 | $('#listes').hide(); | 132 | $('#listes').hide(); |
133 | } | 133 | } |
134 | + //gère l'affichage dynamique après choix du type de suivi | ||
135 | + | ||
134 | if( domaineId == "Panne"){ | 136 | if( domaineId == "Panne"){ |
135 | document.getElementById('frequence').innerHTML = ""; | 137 | document.getElementById('frequence').innerHTML = ""; |
136 | $("#frequence").hide(); | 138 | $("#frequence").hide(); |
webroot/js/Verifications_dates_materiels.js
@@ -22,20 +22,46 @@ $(document).ready(function () { | @@ -22,20 +22,46 @@ $(document).ready(function () { | ||
22 | * Event calcul date fin de garantie | 22 | * Event calcul date fin de garantie |
23 | */ | 23 | */ |
24 | /* On formatte COMME IL FAUT les dates des formulaires */ | 24 | /* On formatte COMME IL FAUT les dates des formulaires */ |
25 | + /* EP deactivated, works but no more necessary ?*/ | ||
25 | $('.datepicker').each(function(){ | 26 | $('.datepicker').each(function(){ |
26 | this.value = this.value.replace(/\//g, "-"); | 27 | this.value = this.value.replace(/\//g, "-"); |
27 | this.value = twoToFour(this.value); | 28 | this.value = twoToFour(this.value); |
28 | }); | 29 | }); |
29 | - | ||
30 | 30 | ||
31 | /* Puis si nécessaire on update la date de fin de gurantie au chargement de la page */ | 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 | /* Et enfin les events purs */ | 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 | * Event - à la validation, on vérifie les dates | 67 | * Event - à la validation, on vérifie les dates |
@@ -49,6 +75,7 @@ $(document).ready(function () { | @@ -49,6 +75,7 @@ $(document).ready(function () { | ||
49 | // event.preventDefault(); | 75 | // event.preventDefault(); |
50 | // } | 76 | // } |
51 | 77 | ||
78 | + /* EP deactivated, works but no more necessary | ||
52 | $bool = false; | 79 | $bool = false; |
53 | $('.datepicker').each(function(){ | 80 | $('.datepicker').each(function(){ |
54 | if(this.value != "" && $bool == false) { | 81 | if(this.value != "" && $bool == false) { |
@@ -60,17 +87,20 @@ $(document).ready(function () { | @@ -60,17 +87,20 @@ $(document).ready(function () { | ||
60 | } | 87 | } |
61 | } | 88 | } |
62 | }); | 89 | }); |
90 | + */ | ||
63 | 91 | ||
64 | d1 = toDate($("#date-acquisition")[0].value); /* Date de la commande */ | 92 | d1 = toDate($("#date-acquisition")[0].value); /* Date de la commande */ |
65 | d2 = toDate($("#date-reception")[0].value); /* Date de réception */ | 93 | d2 = toDate($("#date-reception")[0].value); /* Date de réception */ |
66 | d3 = toDate($("#date-fin-garantie")[0].value); /* Date fin de garantie */ | 94 | d3 = toDate($("#date-fin-garantie")[0].value); /* Date fin de garantie */ |
67 | 95 | ||
96 | + /* EP deactivated, works but no more necessary | ||
68 | if($("#date-reception")[0].value != undefined){ | 97 | if($("#date-reception")[0].value != undefined){ |
69 | if(d1 > d2) { | 98 | if(d1 > d2) { |
70 | alert("Les dates ne correspondent pas, la date de réception doit être supérieure à la date de commande."); | 99 | alert("Les dates ne correspondent pas, la date de réception doit être supérieure à la date de commande."); |
71 | event.preventDefault(); | 100 | event.preventDefault(); |
72 | } | 101 | } |
73 | } | 102 | } |
103 | + */ | ||
74 | 104 | ||
75 | if($("#date-reception")[0].value != undefined){ | 105 | if($("#date-reception")[0].value != undefined){ |
76 | if(d2 > d3) { | 106 | if(d2 > d3) { |
@@ -79,18 +109,19 @@ $(document).ready(function () { | @@ -79,18 +109,19 @@ $(document).ready(function () { | ||
79 | } | 109 | } |
80 | } | 110 | } |
81 | 111 | ||
82 | - }); | 112 | + }); /* On SUBMIT */ |
83 | }); | 113 | }); |
84 | 114 | ||
85 | /** | 115 | /** |
86 | * Fonction qui vérifie que la date en parametre soit bien au format dd-mm-YYYY ou d-m-YYYY | 116 | * Fonction qui vérifie que la date en parametre soit bien au format dd-mm-YYYY ou d-m-YYYY |
87 | */ | 117 | */ |
88 | function checkDate(str) { | 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 | function twoToFour(str) { | 126 | function twoToFour(str) { |
96 | if (str.match(/^(\d{1,2})-(\d{1,2})-(\d{2})$/)) { | 127 | if (str.match(/^(\d{1,2})-(\d{1,2})-(\d{2})$/)) { |
@@ -104,8 +135,18 @@ function twoToFour(str) { | @@ -104,8 +135,18 @@ function twoToFour(str) { | ||
104 | /** | 135 | /** |
105 | * Fonction de mise à jour de la date de fin de guarantie | 136 | * Fonction de mise à jour de la date de fin de guarantie |
106 | */ | 137 | */ |
107 | -function dateUpdate() { | 138 | +function date_fin_garantie_update() { |
108 | if ($("#date-reception").val() != "" && $("#duree-garantie").val() != "") { | 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 | var url = document.URL; | 150 | var url = document.URL; |
110 | var reg = new RegExp("(materiels).*$", "g"); | 151 | var reg = new RegExp("(materiels).*$", "g"); |
111 | var dateUrl = url.replace(reg, "Materiels/getDateGarantie/"); | 152 | var dateUrl = url.replace(reg, "Materiels/getDateGarantie/"); |