Commit 4cf3322fbededfda923cf19c3ce33f73a71f4ea3
1 parent
b5bb5258
Exists in
master
and in
1 other branch
Suivis : Amélioration et nombreux Bugfixes !!! (1) (v3.7.9.8)
- pb javascript si métrologie - ajout intitulé comme titre - vue édition : champs trop larges, champs éditables, champs inutiles... - ...
Showing
10 changed files
with
595 additions
and
372 deletions
Show diff stats
README.md
... | ... | @@ -53,13 +53,16 @@ Logiciel testé et validé sur les configurations suivantes : |
53 | 53 | |
54 | 54 | VERSION ACTUELLE |
55 | 55 | |
56 | -Date: 23/03/2020 | |
57 | -Version: 3.7.9.7 | |
56 | +Date: 24/03/2020 | |
57 | +Version: 3.7.9.8 | |
58 | 58 | Author: EP |
59 | -Commentaire: Amélioration de la gestion des docs attachés (3) | |
60 | - - Enorme simplification grâce à la refactorisation des vues add et edit en une seule add_edit car elles sont très semblables | |
61 | - - TODO : faire la meme chose pour toutes les vues add et edit des différents objets (materiel, suivi, emprunt...) | |
62 | - | |
59 | +Commentaire: Suivis : Amélioration et nombreux Bugfixes !!! (1) | |
60 | + - pb javascript si métrologie | |
61 | + - ajout intitulé comme titre | |
62 | + - vue édition : champs trop larges, champs éditables, champs inutiles... | |
63 | + - ... | |
64 | + | |
65 | + | |
63 | 66 | IMPORTANT : |
64 | 67 | - Pour connaitre la version actuelle, taper "./VERSION" |
65 | 68 | - Pour mettre à jour le code, utiliser ./UPDATE depuis la racine du projet (ne plus se contenter de faire "git pull") |
... | ... | @@ -93,6 +96,10 @@ La liste ci-dessous n'est plus à jour, elle est désormais en ligne ici : https |
93 | 96 | |
94 | 97 | ----------------------------------------------------------------------------------------------------------- |
95 | 98 | |
99 | +23/03/2020 Version 3.7.9.7 (EP) | |
100 | + Amélioration de la gestion des docs attachés (3) | |
101 | + - Enorme simplification grâce à la refactorisation des vues add et edit en une seule add_edit car elles sont très semblables | |
102 | + - TODO : faire la meme chose pour toutes les vues add et edit des différents objets (materiel, suivi, emprunt...) | |
96 | 103 | |
97 | 104 | 20/03/2020 Version 3.7.9.6 (EP) |
98 | 105 | Amélioration et nombreux bugfixes de la gestion des docs attachés (2) | ... | ... |
src/Controller/AppController.php
... | ... | @@ -902,6 +902,9 @@ class AppController extends Controller |
902 | 902 | //if ($valeur != "") echo '<tr><td><strong>' . $nom . ' </strong></td>' . $balise . $valeur . '</td></tr>'; |
903 | 903 | if ($valeur!="") echo "<TR> <TD><strong>$nom</strong></TD> <$TD>$valeur</TD> </TR>"; |
904 | 904 | }; |
905 | + $printTableRow = $displayElement; | |
906 | + $this->set(compact('printTableRow')); | |
907 | + //@deprecated | |
905 | 908 | $this->set('displayElement', $displayElement); |
906 | 909 | |
907 | 910 | // Pass this function to all views | ... | ... |
src/Controller/DocumentsController.php
... | ... | @@ -197,19 +197,23 @@ class DocumentsController extends AppController |
197 | 197 | */ |
198 | 198 | public function view($id = null) |
199 | 199 | { |
200 | + // cf https://book.cakephp.org/3/fr/orm/retrieving-data-and-resultsets.html#eager-loading-associations | |
201 | + // Ceci permettra des accès du type $document->type_document->nom depuis la vue | |
200 | 202 | $document = $this->Documents->get($id, [ |
201 | - 'contain' => [ | |
202 | - 'TypeDocuments' | |
203 | - ] | |
203 | + 'contain' => ['TypeDocuments'] | |
204 | 204 | ]); |
205 | - | |
205 | + | |
206 | + /* | |
206 | 207 | $materiel = $this->Documents->Materiels->find() |
207 | 208 | ->where([ |
208 | 209 | 'id =' => $document->materiel_id |
209 | 210 | ])->first(); |
210 | - | |
211 | + */ | |
212 | + // $materiel | |
213 | + $materiel = $this->Documents->Materiels->get($document->materiel_id); | |
211 | 214 | if ($materiel != null) { |
212 | 215 | $this->set('materiel', $materiel); |
216 | + // $suivi | |
213 | 217 | } else { |
214 | 218 | $suivi = $this->Documents->Suivis->find() |
215 | 219 | ->where([ |
... | ... | @@ -300,13 +304,13 @@ class DocumentsController extends AppController |
300 | 304 | $parent_id = $document->materiel_id; |
301 | 305 | |
302 | 306 | if (!empty($parent_id)) { |
303 | - $doc_type = 'matériel'; | |
307 | + $parent_type = 'matériel'; | |
304 | 308 | //$parent_name = $parent->designation." (id = $parent->id)"; |
305 | 309 | $parent_controller = 'materiels'; |
306 | 310 | } |
307 | 311 | else { |
308 | 312 | $parent_id = $document->suivi_id; |
309 | - $doc_type = 'suivi'; | |
313 | + $parent_type = 'suivi'; | |
310 | 314 | //$parent_name = 'Suivi#'.$document->suivi_id; |
311 | 315 | $parent_controller = 'suivis'; |
312 | 316 | } |
... | ... | @@ -345,13 +349,13 @@ class DocumentsController extends AppController |
345 | 349 | /* |
346 | 350 | //$id = $document->materiel_id; |
347 | 351 | if (!empty($parent_id)) { |
348 | - $doc_type = 'matériel'; | |
352 | + $parent_type = 'matériel'; | |
349 | 353 | $parent_name = $parent->designation." (id = $parent->id)"; |
350 | 354 | //$parent_controller = 'materiels'; |
351 | 355 | } |
352 | 356 | else { |
353 | 357 | $parent_id = $document->suivi_id; |
354 | - $doc_type = 'suivi'; | |
358 | + $parent_type = 'suivi'; | |
355 | 359 | $parent_name = 'Suivi#'.$document->suivi_id; |
356 | 360 | //$parent_controller = 'suivis'; |
357 | 361 | } |
... | ... | @@ -359,8 +363,9 @@ class DocumentsController extends AppController |
359 | 363 | $parent_name = $parent_controller=='materiels' ? |
360 | 364 | $parent->designation." (id = $parent->id)" |
361 | 365 | : |
362 | - 'Suivi#'.$document->suivi_id; | |
363 | - $this->sendEmail($document, "[LabInvent] Ajout d'un document : $userName a ajouté un document de type '$nomType' au $doc_type $parent_name"); | |
366 | + 'Suivi#'.$parent->id; | |
367 | + //'Suivi#'.$document->suivi_id; | |
368 | + $this->sendEmail($document, "[LabInvent] Ajout d'un document : $userName a ajouté un document de type '$nomType' au $parent_type $parent_name"); | |
364 | 369 | } // ADD |
365 | 370 | //$parent_controller = empty($parent_id) ? 'suivis' : 'materiels'; |
366 | 371 | return $this->redirect([ |
... | ... | @@ -391,11 +396,11 @@ class DocumentsController extends AppController |
391 | 396 | |
392 | 397 | // Set some variables for the view |
393 | 398 | $this->set(compact('parent')); |
394 | - $doc_type = $PARENT_IS_MATOS ? 'matériel' : 'suivi'; | |
395 | - $this->set(compact('doc_type')); | |
396 | - $this->set(compact('parent_controller')); | |
397 | - $parent_name = $PARENT_IS_MATOS ? $parent->designation." (id = $parent->id)" : 'Suivi#'.$document->suivi_id; | |
398 | - $this->set(compact('parent_name')); | |
399 | + $parent_type = $PARENT_IS_MATOS ? 'matériel' : 'suivi'; | |
400 | + //$parent_name = $PARENT_IS_MATOS ? $parent->designation." (id = $parent->id)" : 'Suivi#'.$document->suivi_id; | |
401 | + //$parent_name = $PARENT_IS_MATOS ? $parent->designation." (id = $parent->id)" : 'Suivi#'.$parent->id; | |
402 | + $parent_name = $PARENT_IS_MATOS ? $parent->designation." (id = $parent->id)" : "$parent->intitule (suivi#$parent->id)"; | |
403 | + $this->set(compact('parent_type','parent_controller','parent_name')); | |
399 | 404 | |
400 | 405 | $IS_PHOTO = $IS_ADD ? |
401 | 406 | (isset($this->request->getAttribute('params')['pass'][2]) && $this->request->getAttribute('params')['pass'][2] == 'photo') | ... | ... |
src/Controller/SuivisController.php
... | ... | @@ -139,7 +139,7 @@ class SuivisController extends AppController |
139 | 139 | $this->set('_serialize', [ |
140 | 140 | 'suivis' |
141 | 141 | ]); |
142 | - } | |
142 | + } // index | |
143 | 143 | |
144 | 144 | /** |
145 | 145 | * View method |
... | ... | @@ -151,6 +151,8 @@ class SuivisController extends AppController |
151 | 151 | */ |
152 | 152 | public function view($id = null) |
153 | 153 | { |
154 | + // cf https://book.cakephp.org/3/fr/orm/retrieving-data-and-resultsets.html#eager-loading-associations | |
155 | + // Ceci permettra des accès du type $suivi->type_suivi->nom, $suivi->materiel->nom... depuis la vue | |
154 | 156 | $suivi = $this->Suivis->get($id, [ |
155 | 157 | 'contain' => [ |
156 | 158 | 'Materiels', |
... | ... | @@ -169,17 +171,42 @@ class SuivisController extends AppController |
169 | 171 | ], |
170 | 172 | 'order' => ('id DESC') |
171 | 173 | ]); |
172 | - if ($fichemet === null) | |
173 | - $fiche = $fichemet->first(); | |
174 | - else | |
175 | - $fiche = null; | |
174 | + $fiche = is_null($fichemet) ? null : $fichemet->first(); | |
175 | + /* | |
176 | 176 | $this->set('typeDocuments', $typeDocuments); |
177 | 177 | $this->set('suivi', $suivi); |
178 | 178 | $this->set('fiche', $fiche); |
179 | + */ | |
180 | + /* (EP inutile) | |
179 | 181 | $this->set('_serialize', [ |
180 | 182 | 'suivi' |
181 | 183 | ]); |
182 | - } | |
184 | + */ | |
185 | + $IS_OWNER = $this->userName == $suivi->nom_createur; | |
186 | + //debug($this->priviledgedUser); | |
187 | + $CAN_EDIT_DELETE_LINK = ( | |
188 | + $IS_OWNER || in_array($this->userRole, ['Administration','Administration Plus','Super Administrateur']) | |
189 | + //|| ($role == 'Utilisateur' && in_array($username, [$suivi->nom_createur])) | |
190 | + //|| ($role == 'Responsable' && in_array($username, [$suivi->nom_createur])) | |
191 | + || ( | |
192 | + $this->userRole == 'Responsable' | |
193 | + && ( | |
194 | + ( | |
195 | + isset($this->priviledgedUser->groupes_metier_id) | |
196 | + && $this->priviledgedUser->groupes_metier_id != $idGmNa | |
197 | + && $suivi->groupes_metier_id == $this->priviledgedUser->groupes_metier_id | |
198 | + ) | |
199 | + || | |
200 | + ( | |
201 | + isset($this->priviledgedUser->groupe_thematique_id) | |
202 | + && $this->priviledgedUser->groupe_thematique_id != $idGtNa | |
203 | + && $suivi->groupes_thematique_id == $this->priviledgedUser->groupe_thematique_id | |
204 | + ) | |
205 | + ) | |
206 | + ) | |
207 | + ); | |
208 | + $this->set(compact('typeDocuments', 'suivi', 'fiche', 'CAN_EDIT_DELETE_LINK')); | |
209 | + } // view | |
183 | 210 | |
184 | 211 | /** |
185 | 212 | * Add method |
... | ... | @@ -293,8 +320,10 @@ class SuivisController extends AppController |
293 | 320 | */ |
294 | 321 | public function edit($id = null) |
295 | 322 | { |
323 | + // cf https://book.cakephp.org/3/fr/orm/retrieving-data-and-resultsets.html#eager-loading-associations | |
324 | + // Ceci permettra des accès du type $suivi->type_suivi->nom depuis la vue | |
296 | 325 | $suivi = $this->Suivis->get($id, [ |
297 | - 'contain' => [] | |
326 | + 'contain' => ['TypeSuivis'] | |
298 | 327 | ]); |
299 | 328 | if ($this->request->is([ |
300 | 329 | 'patch', |
... | ... | @@ -385,15 +414,15 @@ class SuivisController extends AppController |
385 | 414 | ->read('authType'))[0] |
386 | 415 | ]) |
387 | 416 | ->first()['sur_categorie_id']; |
388 | - if ($dom == $domaines) | |
389 | - $domaineresp = true; | |
390 | - else | |
391 | - $domaineresp = false; | |
392 | - $this->set(compact('unite', 'metro', 'domaineresp', 'suivi', 'materiel', 'materiels', 'typeSuivis', 'numMateriel', 'groupesThematiques', 'groupesMetiers')); | |
417 | + $domaineresp = ($dom == $domaines); | |
418 | + $parent = $materiel; | |
419 | + $this->set(compact('unite', 'metro', 'domaineresp', 'suivi', 'parent', 'materiel', 'materiels', 'typeSuivis', 'numMateriel', 'groupesThematiques', 'groupesMetiers')); | |
420 | + /* (EP inutile) | |
393 | 421 | $this->set('_serialize', [ |
394 | 422 | 'suivi' |
395 | 423 | ]); |
396 | - } | |
424 | + */ | |
425 | + } // edit() | |
397 | 426 | |
398 | 427 | /** |
399 | 428 | * Delete method | ... | ... |
src/Model/Table/SuivisTable.php
... | ... | @@ -141,7 +141,7 @@ class SuivisTable extends AppTable |
141 | 141 | |
142 | 142 | $rules->add($checkNextDateControlIsAfterDateControl, [ |
143 | 143 | 'errorField' => 'date_prochain_controle', |
144 | - 'message' => 'La date de la prochaine intervention dois être postérieure à la date de l\'intervention précédente.' | |
144 | + 'message' => "La date de la prochaine intervention doit être postérieure à la date de l'intervention précédente" | |
145 | 145 | ]); |
146 | 146 | |
147 | 147 | $rules->add($rules->existsIn([ | ... | ... |
src/Template/Documents/add_edit.ctp
... | ... | @@ -6,7 +6,7 @@ $document = $document; |
6 | 6 | $typesD = $typesD; |
7 | 7 | $configuration = $configuration; |
8 | 8 | $parent = $parent; |
9 | -$doc_type = $doc_type; | |
9 | +$parent_type = $parent_type; | |
10 | 10 | $parent_controller = $parent_controller; |
11 | 11 | $parent_name = $parent_name; |
12 | 12 | // add or edit mode ? true=add ; false=edit |
... | ... | @@ -24,13 +24,13 @@ if (isset($photo)) { |
24 | 24 | /* |
25 | 25 | if (isset($materiel)) { |
26 | 26 | $materiel = $materiel; |
27 | - $doc_type = 'matériel'; | |
27 | + $parent_type = 'matériel'; | |
28 | 28 | $parent = $materiel; |
29 | 29 | $parent_controller = 'Materiels'; |
30 | 30 | } |
31 | 31 | if (isset($suivi)) { |
32 | 32 | $suivi = $suivi; |
33 | - $doc_type = 'suivi'; | |
33 | + $parent_type = 'suivi'; | |
34 | 34 | $parent = $suivi; |
35 | 35 | $parent_controller = 'Suivis'; |
36 | 36 | } |
... | ... | @@ -55,7 +55,7 @@ if (isset($photo)) { |
55 | 55 | |
56 | 56 | // Ce doc est lié à ... |
57 | 57 | //$link = isset($materiel) ? $materiel->designation : 'Suivi '.$suivi->id; |
58 | - $displayElement(__("Ce document est lié au $doc_type"), $this->Html->link($parent_name, [ | |
58 | + $displayElement(__("Ce document est lié au $parent_type"), $this->Html->link($parent_name, [ | |
59 | 59 | 'controller' => $parent_controller, |
60 | 60 | 'action' => 'view', |
61 | 61 | $parent->id |
... | ... | @@ -101,7 +101,7 @@ if (isset($photo)) { |
101 | 101 | echo $this->Form->control('nom', ['readonly' => !$IS_ADD]); |
102 | 102 | |
103 | 103 | // - Type (hidden si photo) |
104 | - echo "<i>(Si vous choisissez le type 'Photo', ce document sera affiché en tête de la fiche du $doc_type associé)</i>"; | |
104 | + echo "<i>(Si vous choisissez le type 'Photo', ce document sera affiché en tête de la fiche du $parent_type associé)</i>"; | |
105 | 105 | $f = 'control'; |
106 | 106 | $default = 1; |
107 | 107 | if (isset($photo)) { | ... | ... |
src/Template/Documents/view.ctp
... | ... | @@ -70,6 +70,7 @@ $photo_formats = ['png','jpg','jpeg']; |
70 | 70 | $displayElement(__('Nom'), h($document->nom)); |
71 | 71 | |
72 | 72 | // - Type |
73 | + debug($document); | |
73 | 74 | $displayElement(__('Type'), $document->has('type_document') ? h($document->type_document->nom) : ''); |
74 | 75 | |
75 | 76 | /* | ... | ... |
src/Template/Suivis/edit.ctp
1 | +<?php | |
2 | +// Variables passées à cette vue par le controleur | |
3 | +$suivi = $suivi; | |
1 | 4 | |
2 | -<div class="suivis form col-lg-12 col-md-12 col-sm-12"> | |
3 | - <?=$this->Form->create($suivi)?> | |
4 | - <fieldset> | |
5 | +$parent = $parent; | |
6 | +//@deprecated | |
7 | +$materiel = $materiel; | |
5 | 8 | |
6 | - <h2> | |
7 | - <i class="icon-edit"></i> Editer un suivi | |
8 | - </h2> | |
9 | +$materiels = $materiels; | |
10 | +$unite = $unite; | |
11 | +$metro = $metro; | |
12 | +$domaineresp = $domaineresp; | |
13 | +$typeSuivis = $typeSuivis; | |
14 | +$numMateriel = $numMateriel; | |
15 | +$groupesThematiques = $groupesThematiques; | |
16 | +$groupesMetiers = $groupesMetiers; | |
17 | +?> | |
9 | 18 | |
10 | - <?php | |
11 | - echo $this->Form->hidden('materiel_id', [ | |
12 | - 'options' => $materiels, | |
13 | - 'default' => $suivi->get('materiel_id') | |
14 | - ]); | |
15 | - echo $this->Form->control('materiel_numero_laboratoire', [ | |
16 | - 'label' => 'N° materiel labo', | |
17 | - 'default' => $materiel['numero_laboratoire'], | |
18 | - 'disabled' => TRUE | |
19 | - ]); | |
20 | - echo $this->Form->control('type_suivi_id', [ | |
21 | - 'label' => 'Type d\'intervention', | |
22 | - 'options' => $typeSuivis, | |
23 | - 'disabled' => TRUE | |
24 | - ]); | |
25 | - | |
26 | - //Affiche les bonnes informations en fonction du type de suivi | |
27 | - //Améliorable avec une requete pour fonctionner avec el nom de suivi et pas l'id | |
28 | - //Améliorable avec un switch | |
29 | - | |
30 | - if ($suivi->type_suivi_id == 2 ) { | |
31 | - echo $this->Form->control('date_controle', [ | |
32 | - 'type' => 'text', | |
33 | - 'id' => 'date_deb', | |
34 | - 'label' => 'Date de la prise en charge', | |
35 | - 'class' => 'datepicker', | |
36 | - 'placeholder' => 'Cliquez pour sélectionner une date', | |
37 | - 'disabled' => true | |
38 | - ]); | |
39 | - echo $this->Form->control('date_prochain_controle', [ | |
40 | - 'type' => 'text', | |
41 | - 'id' => 'date_fin', | |
42 | - 'label' => 'Date estimee de fin', | |
43 | - 'class' => 'datepicker', | |
44 | - 'placeholder' => 'Cliquez pour sélectionner une date' | |
45 | - ]); | |
46 | - | |
47 | - }else{ | |
48 | - echo '<table id="tableAlignementFrequence"><tr><td>'; | |
49 | - echo $this->Form->control('frequence', [ | |
50 | - 'type' => 'text', | |
51 | - 'id' => 'SuiviFrequence', | |
52 | - 'label' => 'Fréquence', | |
53 | - 'disabled' => true, | |
54 | - 'templates' => [ | |
55 | - 'inputContainer' => '<div class="A">{{content}}</div>' | |
56 | - ], | |
57 | - 'placeholder' => '' | |
58 | - ]); | |
59 | - echo '</td><td>'; | |
60 | - echo $this->Form->control('type_frequence', [ | |
61 | - 'label' => false, | |
62 | - 'disabled' => true, | |
63 | - 'templates' => [ | |
64 | - 'inputContainer' => '<div class="typeFrequence">{{content}}</div>' | |
65 | - ], | |
66 | - 'options' => [ | |
67 | - '/ Jours' => '/ Jours', | |
68 | - '/ Semaines' => '/ Semaines', | |
69 | - '/ Mois' => '/ Mois', | |
70 | - '/ Ans' => '/ Ans' | |
71 | - ], | |
72 | - 'default' => '/ Mois' | |
73 | - ]); | |
74 | - echo '</td></tr></table>'; | |
75 | - } | |
19 | +<!-- | |
20 | +<div class="suivis form col-lg-12 col-md-12 col-sm-12"> | |
21 | +--> | |
22 | +<div class="suivis form col-lg-5 col-md-7 col-sm-9"> | |
76 | 23 | |
77 | - echo $this->Form->control('statut', [ | |
78 | - 'options' => [ | |
79 | - 'En cours' => 'En cours', | |
80 | - 'Terminé' => 'Terminé' | |
81 | - ] | |
82 | - ]); | |
83 | - echo $this->Form->control('organisme', [ | |
84 | - 'label' => 'Prestataire' | |
85 | - ]); | |
86 | - echo $this->Form->control('groupes_thematique_id', [ | |
87 | - 'label' => $configuration->nom_groupe_thematique, | |
88 | - 'options' => $groupesThematiques, | |
89 | - 'default' => $materiel['groupes_thematique_id'] | |
90 | - ]); | |
91 | - echo $this->Form->control('groupes_metier_id', [ | |
92 | - 'label' => $configuration->nom_groupe_metier, | |
93 | - 'options' => $groupesMetiers, | |
94 | - 'default' => $materiel['groupes_metier_id'] | |
95 | - ]); | |
96 | - echo $this->Form->control('intitule', [ | |
97 | - 'label' => 'Intitulé' | |
98 | - ]); | |
99 | - echo '<div id="typedemesure" style="display:none">'; | |
100 | - // 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>'; | |
101 | - // La ligne du dessus est l'équivalent en pas propre de l'input juste en dessous ! | |
102 | - echo $this->Form->control('typemesure', [ | |
103 | - 'label' => 'Type de mesure', | |
104 | - 'options' => [ | |
105 | - '1' => 'Direct', | |
106 | - '2' => 'Indirect' | |
107 | - ] | |
108 | - // 'required' => 'required' | |
109 | - ]); | |
110 | - echo '</div>'; | |
111 | - echo '<div id="metro" style="display:none">'; | |
112 | - echo $this->Form->control('nommesure', [ | |
113 | - 'label' => 'Nom de la mesure' | |
114 | - // 'required' => 'required' | |
115 | - ]); | |
116 | - echo $this->Form->control('symbole', [ | |
117 | - 'label' => 'Symbole' | |
118 | - // 'required' => 'required' | |
119 | - ]); | |
120 | - echo $this->Form->control('unite_id', [ | |
121 | - 'options' => $unite, | |
122 | - 'label' => 'Unité', | |
123 | - 'empty' => 'choisir une unité' | |
124 | - // 'required' => 'required' | |
125 | - ]); | |
126 | - echo $this->Form->control('valeurRef', [ | |
127 | - 'label' => 'Valeur de référence' | |
128 | - // 'required' => 'required' | |
129 | - ]); | |
130 | - echo $this->Form->control('plage_debut', [ | |
131 | - 'label' => 'Plage de mesure (debut)' | |
132 | - ]); | |
133 | - echo $this->Form->control('plage_fin', [ | |
134 | - 'label' => 'Plage de mesure (fin)' | |
135 | - ]); | |
136 | - echo $this->Form->control('resolution', [ | |
137 | - 'label' => 'Resolution' | |
138 | - // 'required' => 'required' | |
139 | - ]); | |
140 | - echo $this->Form->control('tolerance', [ | |
141 | - 'label' => 'Tolerance' | |
142 | - // 'required' => 'required' | |
143 | - ]); | |
144 | - echo $this->Form->control('sensibilite', [ | |
145 | - 'label' => 'Sensibilité' | |
146 | - ]); | |
147 | - echo $this->Form->control('justesse', [ | |
148 | - 'label' => 'Justesse' | |
149 | - ]); | |
150 | - echo $this->Form->control('fidelite', [ | |
151 | - 'label' => 'Fidelite' | |
152 | - ]); | |
153 | - echo $this->Form->control('emtstandart', [ | |
154 | - 'label' => 'EMT standart' | |
155 | - // 'required' => 'required' | |
156 | - ]); | |
157 | - echo '</div>'; | |
158 | - echo $this->Form->control('commentaire', [ | |
159 | - 'type' => 'textarea' | |
160 | - ]); | |
161 | - echo $this->Form->hidden('nom_modificateur', [ | |
162 | - 'value' => $username | |
163 | - ]); | |
164 | - ?> | |
24 | + <h2> | |
25 | + <i class="icon-edit"></i> Editer un suivi | |
26 | + </h2> | |
27 | + | |
28 | + <?php | |
29 | + | |
30 | + // Ce suivi concerne le materiel... | |
31 | + //$link = isset($materiel) ? $materiel->designation : 'Suivi '.$suivi->id; | |
32 | + $displayElement(__("Matériel concerné :"), $this->Html->link($parent->designation, [ | |
33 | + 'controller' => 'materiels', | |
34 | + 'action' => 'view', | |
35 | + $parent->id | |
36 | + ])); | |
37 | + | |
38 | + echo $this->Form->create($suivi); | |
39 | + ?> | |
40 | + | |
41 | + <fieldset> | |
42 | + | |
43 | + <?php | |
44 | + | |
45 | + // - intitulé | |
46 | + echo $this->Form->control('intitule', ['label' => 'Intitulé']); | |
47 | + | |
48 | + // - matériel suivi (hidden) | |
49 | + echo $this->Form->hidden('materiel_id', [ | |
50 | + 'options' => $materiels, | |
51 | + 'default' => $suivi->get('materiel_id') | |
52 | + ]); | |
53 | + | |
54 | + // - num labo | |
55 | + /* (EP inutile) | |
56 | + echo $this->Form->control('materiel_numero_laboratoire', [ | |
57 | + 'label' => 'N° materiel labo', | |
58 | + 'default' => $materiel['numero_laboratoire'], | |
59 | + 'disabled' => TRUE | |
60 | + ]); | |
61 | + */ | |
62 | + | |
63 | + // - type suivi | |
64 | + echo $this->Form->control('type_suivi_id', [ | |
65 | + 'label' => "Type d'intervention", | |
66 | + 'options' => $typeSuivis, | |
67 | + 'disabled' => false | |
68 | + //'disabled' => TRUE | |
69 | + ]); | |
70 | + | |
71 | + // Affichage des bonnes informations en fonction du type de suivi | |
72 | + | |
73 | + // type = maintenance ? => cas spécifique | |
74 | + //if ($suivi->type_suivi_id == 2 ) { | |
75 | + //debug($suivi->type_suivi->nom); | |
76 | + if ($suivi->type_suivi->nom == 'Maintenance' ) { | |
77 | + // - date controle | |
78 | + echo $this->Form->control('date_controle', [ | |
79 | + 'type' => 'text', | |
80 | + 'id' => 'date_deb', | |
81 | + 'label' => 'Date de la prise en charge', | |
82 | + 'class' => 'datepicker', | |
83 | + 'placeholder' => 'Cliquez pour sélectionner une date', | |
84 | + //'disabled' => true | |
85 | + ]); | |
86 | + // - date prochain controle | |
87 | + echo $this->Form->control('date_prochain_controle', [ | |
88 | + 'type' => 'text', | |
89 | + 'id' => 'date_fin', | |
90 | + 'label' => 'Date de fin estimée', | |
91 | + 'class' => 'datepicker', | |
92 | + 'placeholder' => 'Cliquez pour sélectionner une date' | |
93 | + ]); | |
94 | + } // maintenance | |
95 | + | |
96 | + // autre type que maintenance ? => cas général | |
97 | + else { | |
98 | + //echo '<table id="tableAlignementFrequence" border=1><tr>'; | |
99 | + echo '<table id="tableAlignementFrequence" border=0><tr>'; | |
100 | + // - fréquence | |
101 | + echo '<td>'; | |
102 | + echo $this->Form->control('frequence', [ | |
103 | + 'type' => 'text', | |
104 | + 'id' => 'SuiviFrequence', | |
105 | + 'label' => 'Fréquence', | |
106 | + //'disabled' => true, | |
107 | + 'templates' => [ | |
108 | + 'inputContainer' => '<div class="A">{{content}}</div>' | |
109 | + ], | |
110 | + 'placeholder' => '' | |
111 | + ]); | |
112 | + echo '</td>'; | |
113 | + // - type fréquence | |
114 | + echo '<td>'; | |
115 | + echo $this->Form->control('type_frequence', [ | |
116 | + //'label' => false, | |
117 | + 'label' => 'Intervalle', | |
118 | + //'disabled' => true, | |
119 | + 'templates' => [ | |
120 | + 'inputContainer' => '<div class="typeFrequence">{{content}}</div>' | |
121 | + ], | |
122 | + 'options' => [ | |
123 | + '/ Jours' => '/ Jours', | |
124 | + '/ Semaines' => '/ Semaines', | |
125 | + '/ Mois' => '/ Mois', | |
126 | + '/ Ans' => '/ Ans' | |
127 | + ], | |
128 | + 'default' => '/ Mois' | |
129 | + ]); | |
130 | + echo '</td>'; | |
131 | + echo '</tr></table>'; | |
132 | + } // autre type que maintenance | |
133 | + | |
134 | + // statut | |
135 | + echo $this->Form->control('statut', [ | |
136 | + 'options' => [ | |
137 | + 'En cours' => 'En cours', | |
138 | + 'Terminé' => 'Terminé' | |
139 | + ] | |
140 | + ]); | |
141 | + | |
142 | + // prestataire | |
143 | + echo $this->Form->control('organisme', [ | |
144 | + 'label' => 'Prestataire' | |
145 | + ]); | |
146 | + | |
147 | + // groupe thématique | |
148 | + echo $this->Form->control('groupes_thematique_id', [ | |
149 | + 'label' => $configuration->nom_groupe_thematique, | |
150 | + 'options' => $groupesThematiques, | |
151 | + 'default' => $materiel['groupes_thematique_id'] | |
152 | + ]); | |
153 | + | |
154 | + // groupe métier | |
155 | + echo $this->Form->control('groupes_metier_id', [ | |
156 | + 'label' => $configuration->nom_groupe_metier, | |
157 | + 'options' => $groupesMetiers, | |
158 | + 'default' => $materiel['groupes_metier_id'] | |
159 | + ]); | |
160 | + | |
161 | + // (metro) type mesure (hidden) | |
162 | + echo '<div id="typedemesure" style="display:none">'; | |
163 | + // 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>'; | |
164 | + // La ligne du dessus est l'équivalent en pas propre de l'input juste en dessous ! | |
165 | + echo $this->Form->control('typemesure', [ | |
166 | + 'label' => 'Type de mesure', | |
167 | + 'options' => [ | |
168 | + '1' => 'Direct', | |
169 | + '2' => 'Indirect' | |
170 | + ] | |
171 | + // 'required' => 'required' | |
172 | + ]); | |
173 | + echo '</div>'; | |
174 | + | |
175 | + // Section métrologie (hidden) | |
176 | + echo '<div id="metro" style="display:none">'; | |
177 | + // (metro) nom mesure (hidden) | |
178 | + echo $this->Form->control('nommesure', [ | |
179 | + 'label' => 'Nom de la mesure' | |
180 | + // 'required' => 'required' | |
181 | + ]); | |
182 | + echo $this->Form->control('symbole', [ | |
183 | + 'label' => 'Symbole' | |
184 | + // 'required' => 'required' | |
185 | + ]); | |
186 | + echo $this->Form->control('unite_id', [ | |
187 | + 'options' => $unite, | |
188 | + 'label' => 'Unité', | |
189 | + 'empty' => 'choisir une unité' | |
190 | + // 'required' => 'required' | |
191 | + ]); | |
192 | + echo $this->Form->control('valeurRef', [ | |
193 | + 'label' => 'Valeur de référence' | |
194 | + // 'required' => 'required' | |
195 | + ]); | |
196 | + echo $this->Form->control('plage_debut', [ | |
197 | + 'label' => 'Plage de mesure (debut)' | |
198 | + ]); | |
199 | + echo $this->Form->control('plage_fin', [ | |
200 | + 'label' => 'Plage de mesure (fin)' | |
201 | + ]); | |
202 | + echo $this->Form->control('resolution', [ | |
203 | + 'label' => 'Resolution' | |
204 | + // 'required' => 'required' | |
205 | + ]); | |
206 | + echo $this->Form->control('tolerance', [ | |
207 | + 'label' => 'Tolerance' | |
208 | + // 'required' => 'required' | |
209 | + ]); | |
210 | + echo $this->Form->control('sensibilite', [ | |
211 | + 'label' => 'Sensibilité' | |
212 | + ]); | |
213 | + echo $this->Form->control('justesse', [ | |
214 | + 'label' => 'Justesse' | |
215 | + ]); | |
216 | + echo $this->Form->control('fidelite', [ | |
217 | + 'label' => 'Fidelite' | |
218 | + ]); | |
219 | + echo $this->Form->control('emtstandart', [ | |
220 | + 'label' => 'EMT standart' | |
221 | + // 'required' => 'required' | |
222 | + ]); | |
223 | + echo '</div>'; // Section métrologie (hidden) | |
224 | + | |
225 | + // commentaire | |
226 | + echo $this->Form->control('commentaire', [ | |
227 | + 'type' => 'textarea' | |
228 | + ]); | |
229 | + | |
230 | + // nom modificateur (hidden) | |
231 | + echo $this->Form->hidden('nom_modificateur', [ | |
232 | + 'value' => $username | |
233 | + ]); | |
234 | + ?> | |
235 | + | |
165 | 236 | </fieldset> |
237 | + | |
238 | + <!-- Bouton enregistrer --> | |
166 | 239 | <?=$this->Form->submit(__('Enregistrer'))?> |
240 | + | |
167 | 241 | <?=$this->Form->end()?> |
242 | + | |
168 | 243 | </div> |
169 | 244 | |
170 | 245 | <!-- |
... | ... | @@ -178,12 +253,27 @@ echo $this->element('menu_form', [ |
178 | 253 | </div> |
179 | 254 | --> |
180 | 255 | |
256 | + | |
257 | + | |
258 | + | |
259 | + | |
260 | + | |
261 | +<!-- | |
262 | +******************************************************************************** | |
263 | + JAVASCRIPT functions | |
264 | +******************************************************************************** | |
265 | +--> | |
266 | + | |
181 | 267 | <script type="text/javascript"> |
182 | 268 | |
183 | 269 | $(document).ready(function () { |
184 | 270 | |
185 | - var domaineId=$("#type-suivi-id :selected").text(); | |
271 | + var domaineId = $("#type-suivi-id :selected").text(); | |
272 | + var ismetro = "<?=$materiel['metrologie']?>"; | |
186 | 273 | |
274 | + //$("#metro").show(); | |
275 | + //$("#metro").hide(); | |
276 | + //if (domaineId != "Vérification métrologique") { | |
187 | 277 | if (domaineId == "Vérification métrologique") { |
188 | 278 | $("#metro").show(); |
189 | 279 | $("#nommesure").attr('required',true); |
... | ... | @@ -195,7 +285,7 @@ $(document).ready(function () { |
195 | 285 | $("#emtstandart").attr('required',true); |
196 | 286 | $("#typedemesure").show(); |
197 | 287 | $("#typedemesure").attr('required',true); |
198 | - } else if (<?=$materiel['metrologie']?> == 1) { | |
288 | + } else if (ismetro == 1) { | |
199 | 289 | $("#metro").hide(); |
200 | 290 | $("#nommesure").attr('required',false); |
201 | 291 | $("#symbole").attr('required',false); |
... | ... | @@ -219,7 +309,7 @@ $(document).ready(function () { |
219 | 309 | */ |
220 | 310 | |
221 | 311 | |
222 | - $(document).ready(function () { | |
312 | +$(document).ready(function () { | |
223 | 313 | d1 = toDate($("#date_deb")[0].value); /* Date de la prise en charge de la panne */ |
224 | 314 | d2 = toDate($("#date_fin")[0].value); /* Date estimee de fin de la panne */ |
225 | 315 | ... | ... |
src/Template/Suivis/view.ctp
1 | +<?php | |
2 | +// Variables passées à cette vue par le controleur | |
3 | +$suivi = $suivi; | |
4 | +$CAN_EDIT_DELETE_LINK = $CAN_EDIT_DELETE_LINK; | |
5 | +$typeDocuments = $typeDocuments; | |
6 | +$fiche = $fiche; | |
7 | +// from AppController::beforeFilter | |
8 | +$username = $username; | |
9 | +$role = $role; | |
10 | +$priviledgedUser = $priviledgedUser; | |
11 | +// functions | |
12 | +$printTableRow = $printTableRow; | |
13 | +/* | |
14 | +debug($suivi->nom_createur); | |
15 | +debug($suivi); | |
16 | +debug($username); | |
17 | +*/ | |
18 | +?> | |
1 | 19 | |
2 | 20 | <div class="suivis view col-lg-12 col-md-12 col-sm-12"> |
3 | 21 | |
... | ... | @@ -5,190 +23,256 @@ |
5 | 23 | |
6 | 24 | <table style="margin-bottom: 30px;"> |
7 | 25 | |
8 | - <div class="actions" | |
9 | - style="margin-bottom: 20px; width: 100%; float: none; padding: 10px 0;"> | |
10 | - <?php | |
11 | - if (($role == 'Utilisateur' && in_array($username, [ | |
12 | - $suivi->nom_createur | |
13 | - ])) || ($role == 'Responsable' && in_array($username, [$suivi->nom_createur])) | |
14 | - || (in_array($role, [ | |
15 | - 'Administration', | |
16 | - 'Administration Plus', | |
17 | - 'Super Administrateur' | |
18 | - ])) || ($role == 'Responsable' && ((isset($priviledgedUser->groupes_metier_id) && $priviledgedUser->groupes_metier_id != $idGmNa && $suivi->groupes_metier_id == $priviledgedUser->groupes_metier_id) || (isset($priviledgedUser->groupe_thematique_id) && $priviledgedUser->groupe_thematique_id != $idGtNa && $suivi->groupes_thematique_id == $priviledgedUser->groupe_thematique_id)))) { | |
19 | - echo $this->Html->link(__('<i class="icon-pencil"></i> Editer ce suivi'), [ | |
20 | - 'action' => 'edit', | |
21 | - $suivi->id | |
22 | - ], [ | |
23 | - 'escape' => false, | |
24 | - 'onclick' => 'return true;' | |
25 | - ]); | |
26 | - echo $this->Form->postLink(__('<i class="icon-trash"></i> Supprimer ce suivi'), [ | |
27 | - 'action' => 'delete', | |
28 | - $suivi->id | |
29 | - ], [ | |
30 | - 'style' => 'margin-left: 10px', | |
31 | - 'escape' => false, | |
32 | - 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $suivi->id) | |
33 | - ]); | |
34 | - | |
35 | - echo $this->Html->link('<i class="icon-file"></i> Lier un Doc.', [ | |
36 | - 'controller' => 'documents', | |
37 | - 'action' => 'add', | |
38 | - $suivi->id | |
39 | - ], [ | |
40 | - 'style' => 'margin-left: 10px', | |
41 | - 'title' => 'Attacher un Doc. à ce suivi', | |
42 | - 'escape' => false | |
43 | - ]); | |
44 | - } | |
45 | - ?> | |
46 | - </div> | |
26 | + <!-- 3 Boutons : Editer, Supprimer, Lier un doc --> | |
27 | + <div class="actions" style="margin-bottom: 20px; width: 100%; float: none; padding: 10px 0;"> | |
28 | + <?php | |
29 | + /* (EP) cette variable est maintenant définie par le controleur, c'est mieux, ça simplifie la vue ! | |
30 | + //$IS_OWNER = in_array($username, [$suivi->nom_createur]); | |
31 | + $IS_OWNER = $username == $suivi->nom_createur; | |
32 | + $CAN_EDIT_DELETE_LINK = ( | |
33 | + $IS_OWNER || in_array($role, ['Administration','Administration Plus','Super Administrateur']) | |
34 | + //|| ($role == 'Utilisateur' && in_array($username, [$suivi->nom_createur])) | |
35 | + //|| ($role == 'Responsable' && in_array($username, [$suivi->nom_createur])) | |
36 | + || ( | |
37 | + $role == 'Responsable' | |
38 | + && ( | |
39 | + ( | |
40 | + isset($priviledgedUser->groupes_metier_id) | |
41 | + && $priviledgedUser->groupes_metier_id != $idGmNa | |
42 | + && $suivi->groupes_metier_id == $priviledgedUser->groupes_metier_id | |
43 | + ) | |
44 | + || | |
45 | + ( | |
46 | + isset($priviledgedUser->groupe_thematique_id) | |
47 | + && $priviledgedUser->groupe_thematique_id != $idGtNa | |
48 | + && $suivi->groupes_thematique_id == $priviledgedUser->groupe_thematique_id | |
49 | + ) | |
50 | + ) | |
51 | + ) | |
52 | + ); | |
53 | + */ | |
54 | + if ($CAN_EDIT_DELETE_LINK) { | |
55 | + echo $this->Html->link(__('<i class="icon-pencil"></i> Editer'), [ | |
56 | + 'action' => 'edit', | |
57 | + $suivi->id | |
58 | + ], [ | |
59 | + 'escape' => false, | |
60 | + 'onclick' => 'return true;' | |
61 | + ]); | |
62 | + echo $this->Form->postLink(__('<i class="icon-trash"></i> Supprimer'), [ | |
63 | + 'action' => 'delete', | |
64 | + $suivi->id | |
65 | + ], [ | |
66 | + 'style' => 'margin-left: 10px', | |
67 | + 'escape' => false, | |
68 | + 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $suivi->id) | |
69 | + ]); | |
70 | + | |
71 | + //$bStyle = 'margin-right: 10px'; | |
72 | + $bStyle = 'margin-left: 10px'; | |
73 | + $echoActionButton($this->Html, 'icon-file', $bStyle, ' Lier doc. (ou photo)', 'documents', 'add', $suivi->id, [''], 'Attacher un Doc. à ce suivi'); | |
74 | + /* | |
75 | + echo $this->Html->link('<i class="icon-file"></i> Lier un Doc.', [ | |
76 | + 'controller' => 'documents', | |
77 | + 'action' => 'add', | |
78 | + $suivi->id | |
79 | + ], [ | |
80 | + 'style' => 'margin-left: 10px', | |
81 | + 'title' => 'Attacher un Doc. à ce suivi', | |
82 | + 'escape' => false | |
83 | + ]); | |
84 | + */ | |
85 | + } // if CAN_EDIT_DELETE_LINK | |
86 | + ?> | |
87 | + </div> <!-- 3 Boutons : Editer, Supprimer, Lier un doc --> | |
88 | + | |
47 | 89 | |
90 | + <!-- Affichage des champs du suivi (dans un tableau 2 col) --> | |
91 | + | |
48 | 92 | <tr> |
49 | 93 | <th style="width: 250px;"></th> |
50 | 94 | <th></th> |
51 | 95 | </tr> |
52 | - <?php | |
96 | + | |
97 | + <?php | |
98 | + if ($dateProchainControleVerif($suivi->date_prochain_controle) < 0) | |
99 | + $style = '"color: red"'; | |
100 | + elseif ($dateProchainControleVerif($suivi->date_prochain_controle) <= 15) | |
101 | + $style = '"color: orange"'; | |
102 | + else | |
103 | + $style = '"color: green"'; | |
104 | + | |
105 | + // - Intitulé | |
106 | + $printTableRow(__('Intitulé'), h($suivi->intitule)); | |
53 | 107 | |
54 | - if ($dateProchainControleVerif($suivi->date_prochain_controle) < 0) | |
55 | - $style = '"color: red"'; | |
56 | - elseif ($dateProchainControleVerif($suivi->date_prochain_controle) <= 15) | |
57 | - $style = '"color: orange"'; | |
58 | - else | |
59 | - $style = '"color: green"'; | |
108 | + // - Materiel | |
109 | + $printTableRow(__('Materiel suivi'), $suivi->has('materiel') ? | |
110 | + $this->Html->link($suivi->materiel->designation, [ | |
111 | + 'controller' => 'Materiels', | |
112 | + 'action' => 'view', | |
113 | + $suivi->materiel->id | |
114 | + ]) | |
115 | + : | |
116 | + '' | |
117 | + ); | |
118 | + | |
119 | + // - N° interne | |
120 | + //$printTableRow(__('Numéro interne (labo)'), $suivi->has('materiel') ? h($suivi->materiel->numero_laboratoire) : ''); | |
121 | + | |
122 | + // - Statut | |
123 | + $printTableRow(__('Statut'), h($suivi->statut)); | |
124 | + | |
125 | + // - Prestataire | |
126 | + $printTableRow(__('Prestataire'), h($suivi->organisme)); | |
127 | + | |
128 | + // - Type d'intervention | |
129 | + $printTableRow(__("Type d'intervention"), $suivi->has('type_suivi') ? h($suivi->type_suivi->nom) : ''); | |
130 | + | |
131 | + // - Dates interv (si données) | |
132 | + if ($suivi->type_suivi_id == "1") { | |
133 | + $printTableRow(__('Date Derniere Intervention'), h($suivi->date_controle)); | |
134 | + $printTableRow(__('Date Prochaine Intervention'), h($suivi->date_prochain_controle), $style); | |
135 | + $printTableRow(__('Fréquence'), h($suivi->frequence) . ' ' . h($suivi->type_frequence)); | |
136 | + } | |
137 | + else { | |
138 | + $printTableRow(__('Date Début Prise en Charge'), h($suivi->date_controle)); | |
139 | + $printTableRow(__('Date Fin de Panne estimée'), h($suivi->date_prochain_controle), $style); | |
140 | + } | |
60 | 141 | |
61 | - $displayElement(__('Materiel'), $suivi->has('materiel') ? | |
62 | - $this->Html->link($suivi->materiel->designation, [ | |
63 | - 'controller' => 'Materiels', | |
142 | + // - Groupe thématique | |
143 | + $printTableRow(__($configuration->nom_groupe_thematique), | |
144 | + $suivi->has('groupes_thematique') ? | |
145 | + $this->Html->link($suivi->groupes_thematique->nom, [ | |
146 | + 'controller' => 'GroupesThematiques', | |
147 | + 'action' => 'view', | |
148 | + $suivi->groupes_thematique->id | |
149 | + ]) | |
150 | + : | |
151 | + '' | |
152 | + ); | |
153 | + | |
154 | + // - Groupe métier | |
155 | + $printTableRow(__($configuration->nom_groupe_metier), $suivi->has('groupes_metier') ? $this->Html->link($suivi->groupes_metier->nom, [ | |
156 | + 'controller' => 'GroupesMetiers', | |
64 | 157 | 'action' => 'view', |
65 | - $suivi->materiel->id | |
66 | - ]) | |
67 | - : | |
68 | - '' | |
69 | - ); | |
70 | - $displayElement(__('Numéro interne (labo)'), $suivi->has('materiel') ? h($suivi->materiel->numero_laboratoire) : ''); | |
71 | - $displayElement(__('Statut'), h($suivi->statut)); | |
72 | - $displayElement(__('Prestataire'), h($suivi->organisme)); | |
73 | - $displayElement(__('Type d\'intervention'), $suivi->has('type_suivi') ? h($suivi->type_suivi->nom) : ''); | |
74 | - | |
75 | - if ($suivi->type_suivi_id == "1") { | |
76 | - $displayElement(__('Date Derniere Intervention'), h($suivi->date_controle)); | |
77 | - $displayElement(__('Date Prochaine Intervention'), h($suivi->date_prochain_controle), $style); | |
78 | - $displayElement(__('Fréquence'), h($suivi->frequence) . ' ' . h($suivi->type_frequence)); | |
79 | - | |
80 | - }else { | |
81 | - $displayElement(__('Date Debut Prise en Charge'), h($suivi->date_controle)); | |
82 | - $displayElement(__('Date Estimee de Fin de Panne'), h($suivi->date_prochain_controle), $style); | |
83 | - } | |
84 | - | |
85 | - | |
86 | - $displayElement(__($configuration->nom_groupe_thematique), $suivi->has('groupes_thematique') ? $this->Html->link($suivi->groupes_thematique->nom, [ | |
87 | - 'controller' => 'GroupesThematiques', | |
88 | - 'action' => 'view', | |
89 | - $suivi->groupes_thematique->id | |
90 | - ]) : ''); | |
91 | - $displayElement(__($configuration->nom_groupe_metier), $suivi->has('groupes_metier') ? $this->Html->link($suivi->groupes_metier->nom, [ | |
92 | - 'controller' => 'GroupesMetiers', | |
93 | - 'action' => 'view', | |
94 | - $suivi->groupes_metier->id | |
95 | - ]) : ''); | |
96 | - | |
97 | - $displayElement(__('Intitulé'), h($suivi->intitule)); | |
98 | - $displayElement(__('Date création'), h($suivi->created)); | |
99 | - $displayElement(__('Nom du créateur'), h($suivi->nom_createur)); | |
100 | - $displayElement(__('Date modification'), h($suivi->modified)); | |
101 | - $displayElement(__('Nom du modificateur'), h($suivi->nom_modificateur)); | |
102 | - $displayElement(__('Commentaire'), h($suivi->commentaire)); | |
103 | - ?> | |
158 | + $suivi->groupes_metier->id | |
159 | + ]) : ''); | |
160 | + | |
161 | + // - Date création | |
162 | + $printTableRow(__('Date création'), h($suivi->created)); | |
163 | + | |
164 | + // - Nom créateur | |
165 | + $printTableRow(__('Nom du créateur'), h($suivi->nom_createur)); | |
166 | + | |
167 | + // - Date modif | |
168 | + $printTableRow(__('Date modification'), h($suivi->modified)); | |
169 | + | |
170 | + // - Nom modificateur | |
171 | + $printTableRow(__('Nom du modificateur'), h($suivi->nom_modificateur)); | |
172 | + | |
173 | + // - Commentaire | |
174 | + $printTableRow(__('Commentaire'), h($suivi->commentaire)); | |
175 | + ?> | |
104 | 176 | |
105 | - </table> | |
177 | + </table> <!-- champs du suivi --> | |
178 | + | |
106 | 179 | |
180 | + <!-- Partie metrologie --> | |
107 | 181 | <?php |
108 | -// Partie metrologie | |
109 | -if ($suivi->type_suivi->nom == "Vérification métrologique") { | |
110 | - echo '<h3 id="t_informations_metrologie" style="cursor: pointer;">'; | |
111 | - echo '<i class="icon-chevron-down" style="font-size: 14px;" id="i_informations_metrologie"></i>'; | |
112 | - echo '<span style="text-decoration: underline;">Informations Métrologique</span>'; | |
113 | - echo '</h3>'; | |
114 | - echo '<div id="informations_metro" style="margin-bottom: 20px;">'; | |
115 | - echo '<table>'; | |
116 | - echo '<tr><th style="width: 200px;"></th><th></th><th></th><th></th></tr>'; | |
117 | - | |
118 | - echo '<tr><td><strong>' . __('Unite') . ' </strong></td><td>' . ($suivi->has('unite') ? h($suivi->unite->nom) : '') . '</td><td></td><td></td></tr>'; | |
119 | - 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>'; | |
120 | - 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>'; | |
121 | - echo '<tr><td><strong>' . __('Resolution') . ' </strong></td><td>' . h($suivi->resolution) . ' ' . ($suivi->has('unite') ? h($suivi->unite->symbole) : '') . '</td><td></td><td></td></tr>'; | |
122 | - 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>'; | |
123 | - 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>'; | |
124 | - 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>'; | |
125 | - 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>'; | |
126 | - 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>'; | |
127 | - echo '<tr><td><strong>' . __('Derniere etat metrologique') . ' </strong></td><td>' . h($suivi->conforme) . '</td><td></td><td></td></tr>'; | |
128 | - echo '<tr></tr>'; | |
129 | - | |
130 | - 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>'; | |
131 | - | |
132 | - if ($suivi->typemesure == "1") { | |
133 | - echo '<tr><td><strong>' . __('Type de mesure') . ' </strong></td><td>' . h("Direct") . '</td><td></td><td></td></tr>'; | |
134 | - } else { | |
135 | - echo '<tr><td><strong>' . __('Type de mesure') . ' </strong></td><td>' . h("Indirect") . '</td><td></td><td></td></tr>'; | |
182 | + if ($suivi->type_suivi->nom == "Vérification métrologique") { | |
183 | + echo '<h3 id="t_informations_metrologie" style="cursor: pointer;">'; | |
184 | + echo '<i class="icon-chevron-down" style="font-size: 14px;" id="i_informations_metrologie"></i>'; | |
185 | + echo '<span style="text-decoration: underline;">Informations Métrologique</span>'; | |
186 | + echo '</h3>'; | |
187 | + echo '<div id="informations_metro" style="margin-bottom: 20px;">'; | |
188 | + echo '<table>'; | |
189 | + echo '<tr><th style="width: 200px;"></th><th></th><th></th><th></th></tr>'; | |
190 | + | |
191 | + echo '<tr><td><strong>' . __('Unite') . ' </strong></td><td>' . ($suivi->has('unite') ? h($suivi->unite->nom) : '') . '</td><td></td><td></td></tr>'; | |
192 | + 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>'; | |
193 | + 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>'; | |
194 | + echo '<tr><td><strong>' . __('Resolution') . ' </strong></td><td>' . h($suivi->resolution) . ' ' . ($suivi->has('unite') ? h($suivi->unite->symbole) : '') . '</td><td></td><td></td></tr>'; | |
195 | + 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>'; | |
196 | + 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>'; | |
197 | + 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>'; | |
198 | + 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>'; | |
199 | + 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>'; | |
200 | + echo '<tr><td><strong>' . __('Derniere etat metrologique') . ' </strong></td><td>' . h($suivi->conforme) . '</td><td></td><td></td></tr>'; | |
201 | + echo '<tr></tr>'; | |
202 | + | |
203 | + 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>'; | |
204 | + | |
205 | + if ($suivi->typemesure == "1") { | |
206 | + echo '<tr><td><strong>' . __('Type de mesure') . ' </strong></td><td>' . h("Direct") . '</td><td></td><td></td></tr>'; | |
207 | + } else { | |
208 | + echo '<tr><td><strong>' . __('Type de mesure') . ' </strong></td><td>' . h("Indirect") . '</td><td></td><td></td></tr>'; | |
209 | + } | |
210 | + | |
211 | + echo '</table>'; | |
212 | + echo '</div>'; | |
136 | 213 | } |
137 | - | |
138 | - echo '</table>'; | |
139 | - echo '</div>'; | |
140 | -} | |
214 | + ?> <!-- Partie metrologie --> | |
141 | 215 | |
142 | -?> | |
143 | 216 | |
217 | + <!-- Docs liés au suivi --> | |
144 | 218 | <div id="fichiers" style="margin-bottom: 20px;"> |
145 | 219 | |
146 | 220 | <h3 id="t_fichiers" style="cursor: pointer;"> |
147 | 221 | <i class="icon-chevron-down" style="font-size: 14px;" id="i_fichiers"></i> |
148 | - <span style="text-decoration: underline;">Fichier(s) lié(s) au suivi (<?= count($suivi->documents) ?>)</span> | |
222 | + <span style="text-decoration: underline;">Document(s) lié(s) au suivi (<?= count($suivi->documents) ?>)</span> | |
149 | 223 | </h3> |
150 | - <?php if (!empty($suivi->documents) || $suivi->type_suivi->nom == "Vérification métrologique") { ?> | |
151 | - <table> | |
152 | - <tr> | |
153 | - <th class="actions"><?= __('') ?></th> | |
154 | - <th><?= __('N°') ?></th> | |
155 | - <th><?= __('Liens/fichiers') ?></th> | |
156 | - </tr> | |
157 | - <?php $i=1; ?> | |
158 | - <?php if ($configuration->metrologie) { ?> | |
159 | - <td class="actions" style="padding: 6px 0; text-align: left;"></td> | |
160 | - <td><?php echo $i; $i++; ?></td> | |
161 | - <td><?= $this->Html->link('Lien 1: Fiche métrologique', ['controller' => 'Fichemetrologiques', 'action' => 'add', $suivi->id]) ?></td> | |
162 | - <?php } ?> | |
163 | - <?php foreach ($suivi->documents as $documents): ?> | |
164 | - <tr> | |
165 | - <td class="actions" style="padding: 6px 0; text-align: left;"> | |
166 | - <?= $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 ]) ?> | |
167 | - <?php | |
168 | - if (($role == 'Utilisateur' && in_array($username, [ | |
169 | - $suivi->nom_createur | |
170 | - ])) || ($role == 'Responsable' && in_array($username, [ | |
171 | - $suivi->nom_createur])) | |
172 | - || (in_array($role, [ | |
173 | - 'Administration', | |
174 | - 'Administration Plus', | |
175 | - 'Super Administrateur' | |
176 | - ])) || ($role == 'Responsable' && ((isset($priviledgedUser->groupes_metier_id) && $priviledgedUser->groupes_metier_id != $idGmNa && $suivi->groupes_metier_id == $priviledgedUser->groupes_metier_id) || (isset($priviledgedUser->groupe_thematique_id) && $priviledgedUser->groupe_thematique_id != $idGtNa && $suivi->groupes_thematique_id == $priviledgedUser->groupe_thematique_id)))) { | |
177 | - ?> | |
178 | - <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Documents', 'action' => 'edit', $documents->id], ['escape' => false, 'style' => 'margin:0'])?> | |
179 | - <?= $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)]) ?> | |
180 | - <?= $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 ? ')])?> | |
181 | - </td> | |
182 | - <?php } ?> | |
183 | - <td><?= $i ?></td> | |
184 | - <td><?= $this->Html->link($documents->nom, ['controller' => 'documents', 'action' => 'view', $documents->id]) ?></td> | |
185 | - <?php $i++; ?> | |
186 | - </tr> | |
187 | - <?php endforeach; ?> | |
188 | - </table> | |
189 | - <?php } else { echo 'Aucun fichier pour ce matériel.'; } ?> | |
190 | - </div> | |
224 | + <?php | |
225 | + if (!empty($suivi->documents) || $suivi->type_suivi->nom == "Vérification métrologique") { ?> | |
226 | + <table> | |
227 | + <tr> | |
228 | + <th class="actions"><?= __('') ?></th> | |
229 | + <th><?= __('N°') ?></th> | |
230 | + <th><?= __('Liens/fichiers') ?></th> | |
231 | + </tr> | |
232 | + <?php | |
233 | + $i=1; | |
234 | + if ($configuration->metrologie) { ?> | |
235 | + <td class="actions" style="padding: 6px 0; text-align: left;"></td> | |
236 | + <td><?php echo $i; $i++; ?></td> | |
237 | + <td><?= $this->Html->link('Lien 1: Fiche métrologique', ['controller' => 'Fichemetrologiques', 'action' => 'add', $suivi->id]) ?></td> | |
238 | + <?php | |
239 | + } | |
240 | + foreach ($suivi->documents as $documents): ?> | |
241 | + <tr> | |
242 | + <td class="actions" style="padding: 6px 0; text-align: left;"> | |
243 | + <?php | |
244 | + 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 ]); | |
245 | + if (($role == 'Utilisateur' && in_array($username, [ | |
246 | + $suivi->nom_createur | |
247 | + ])) || ($role == 'Responsable' && in_array($username, [ | |
248 | + $suivi->nom_createur])) | |
249 | + || (in_array($role, [ | |
250 | + 'Administration', | |
251 | + 'Administration Plus', | |
252 | + 'Super Administrateur' | |
253 | + ])) || ($role == 'Responsable' && ((isset($priviledgedUser->groupes_metier_id) && $priviledgedUser->groupes_metier_id != $idGmNa && $suivi->groupes_metier_id == $priviledgedUser->groupes_metier_id) || (isset($priviledgedUser->groupe_thematique_id) && $priviledgedUser->groupe_thematique_id != $idGtNa && $suivi->groupes_thematique_id == $priviledgedUser->groupe_thematique_id) | |
254 | + ))) { | |
255 | + echo $this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Documents', 'action' => 'edit', $documents->id], ['escape' => false, 'style' => 'margin:0']); | |
256 | + 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)]); | |
257 | + 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 ? ')]); | |
258 | + } | |
259 | + ?> | |
260 | + </td> | |
261 | + <td><?= $i ?></td> | |
262 | + <td><?= $this->Html->link($documents->nom, ['controller' => 'documents', 'action' => 'view', $documents->id]) ?></td> | |
263 | + <?php $i++; ?> | |
264 | + </tr> | |
265 | + <?php | |
266 | + endforeach; ?> | |
267 | + </table> | |
268 | + <?php | |
269 | + } // il y a des docs | |
270 | + else echo 'Aucun fichier pour ce matériel.'; | |
271 | + ?> | |
272 | + </div> <!-- Docs liés au suivi --> | |
273 | + | |
191 | 274 | |
275 | + <!-- Archives du suivi métrologique --> | |
192 | 276 | <div id="archives"> |
193 | 277 | <?php if ( $configuration->metrologie && ( isset($suivi->fichemetrologiques) || $suivi->fichemetrologiques != "" ) ) { ?> |
194 | 278 | <h3 id="t_fichemetrologiques" style="cursor: pointer;"> |
... | ... | @@ -224,11 +308,14 @@ if ($suivi->type_suivi->nom == "Vérification métrologique") { |
224 | 308 | </tr> |
225 | 309 | <?php endforeach; ?> |
226 | 310 | </table> |
227 | - <?php }else { echo 'Aucune fiche metrologique pour ce matériel.'; } ?> | |
311 | + <?php | |
312 | + } | |
313 | + else echo 'Aucune fiche metrologique pour ce matériel.'; | |
314 | + ?> | |
228 | 315 | </div> |
229 | 316 | |
230 | 317 | <?php } ?> |
231 | - </div> | |
318 | + </div> <!-- Archives du suivi métrologique --> | |
232 | 319 | |
233 | 320 | </div> |
234 | 321 | ... | ... |
webroot/css/inventirap.css
... | ... | @@ -946,8 +946,9 @@ textarea { |
946 | 946 | } |
947 | 947 | #tableAlignementFrequence{ |
948 | 948 | border-bottom: white; |
949 | - width:510px; | |
950 | - margin-left: -10px; | |
949 | + width : 20%; | |
950 | + /*width : 510px;*/ | |
951 | + margin-left: -5px; | |
951 | 952 | margin-bottom: -10px; |
952 | 953 | margin-top: -10px; |
953 | 954 | } | ... | ... |