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,13 +53,16 @@ Logiciel testé et validé sur les configurations suivantes : | ||
53 | 53 | ||
54 | VERSION ACTUELLE | 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 | Author: EP | 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 | IMPORTANT : | 66 | IMPORTANT : |
64 | - Pour connaitre la version actuelle, taper "./VERSION" | 67 | - Pour connaitre la version actuelle, taper "./VERSION" |
65 | - Pour mettre à jour le code, utiliser ./UPDATE depuis la racine du projet (ne plus se contenter de faire "git pull") | 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,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 | 20/03/2020 Version 3.7.9.6 (EP) | 104 | 20/03/2020 Version 3.7.9.6 (EP) |
98 | Amélioration et nombreux bugfixes de la gestion des docs attachés (2) | 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,6 +902,9 @@ class AppController extends Controller | ||
902 | //if ($valeur != "") echo '<tr><td><strong>' . $nom . ' </strong></td>' . $balise . $valeur . '</td></tr>'; | 902 | //if ($valeur != "") echo '<tr><td><strong>' . $nom . ' </strong></td>' . $balise . $valeur . '</td></tr>'; |
903 | if ($valeur!="") echo "<TR> <TD><strong>$nom</strong></TD> <$TD>$valeur</TD> </TR>"; | 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 | $this->set('displayElement', $displayElement); | 908 | $this->set('displayElement', $displayElement); |
906 | 909 | ||
907 | // Pass this function to all views | 910 | // Pass this function to all views |
src/Controller/DocumentsController.php
@@ -197,19 +197,23 @@ class DocumentsController extends AppController | @@ -197,19 +197,23 @@ class DocumentsController extends AppController | ||
197 | */ | 197 | */ |
198 | public function view($id = null) | 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 | $document = $this->Documents->get($id, [ | 202 | $document = $this->Documents->get($id, [ |
201 | - 'contain' => [ | ||
202 | - 'TypeDocuments' | ||
203 | - ] | 203 | + 'contain' => ['TypeDocuments'] |
204 | ]); | 204 | ]); |
205 | - | 205 | + |
206 | + /* | ||
206 | $materiel = $this->Documents->Materiels->find() | 207 | $materiel = $this->Documents->Materiels->find() |
207 | ->where([ | 208 | ->where([ |
208 | 'id =' => $document->materiel_id | 209 | 'id =' => $document->materiel_id |
209 | ])->first(); | 210 | ])->first(); |
210 | - | 211 | + */ |
212 | + // $materiel | ||
213 | + $materiel = $this->Documents->Materiels->get($document->materiel_id); | ||
211 | if ($materiel != null) { | 214 | if ($materiel != null) { |
212 | $this->set('materiel', $materiel); | 215 | $this->set('materiel', $materiel); |
216 | + // $suivi | ||
213 | } else { | 217 | } else { |
214 | $suivi = $this->Documents->Suivis->find() | 218 | $suivi = $this->Documents->Suivis->find() |
215 | ->where([ | 219 | ->where([ |
@@ -300,13 +304,13 @@ class DocumentsController extends AppController | @@ -300,13 +304,13 @@ class DocumentsController extends AppController | ||
300 | $parent_id = $document->materiel_id; | 304 | $parent_id = $document->materiel_id; |
301 | 305 | ||
302 | if (!empty($parent_id)) { | 306 | if (!empty($parent_id)) { |
303 | - $doc_type = 'matériel'; | 307 | + $parent_type = 'matériel'; |
304 | //$parent_name = $parent->designation." (id = $parent->id)"; | 308 | //$parent_name = $parent->designation." (id = $parent->id)"; |
305 | $parent_controller = 'materiels'; | 309 | $parent_controller = 'materiels'; |
306 | } | 310 | } |
307 | else { | 311 | else { |
308 | $parent_id = $document->suivi_id; | 312 | $parent_id = $document->suivi_id; |
309 | - $doc_type = 'suivi'; | 313 | + $parent_type = 'suivi'; |
310 | //$parent_name = 'Suivi#'.$document->suivi_id; | 314 | //$parent_name = 'Suivi#'.$document->suivi_id; |
311 | $parent_controller = 'suivis'; | 315 | $parent_controller = 'suivis'; |
312 | } | 316 | } |
@@ -345,13 +349,13 @@ class DocumentsController extends AppController | @@ -345,13 +349,13 @@ class DocumentsController extends AppController | ||
345 | /* | 349 | /* |
346 | //$id = $document->materiel_id; | 350 | //$id = $document->materiel_id; |
347 | if (!empty($parent_id)) { | 351 | if (!empty($parent_id)) { |
348 | - $doc_type = 'matériel'; | 352 | + $parent_type = 'matériel'; |
349 | $parent_name = $parent->designation." (id = $parent->id)"; | 353 | $parent_name = $parent->designation." (id = $parent->id)"; |
350 | //$parent_controller = 'materiels'; | 354 | //$parent_controller = 'materiels'; |
351 | } | 355 | } |
352 | else { | 356 | else { |
353 | $parent_id = $document->suivi_id; | 357 | $parent_id = $document->suivi_id; |
354 | - $doc_type = 'suivi'; | 358 | + $parent_type = 'suivi'; |
355 | $parent_name = 'Suivi#'.$document->suivi_id; | 359 | $parent_name = 'Suivi#'.$document->suivi_id; |
356 | //$parent_controller = 'suivis'; | 360 | //$parent_controller = 'suivis'; |
357 | } | 361 | } |
@@ -359,8 +363,9 @@ class DocumentsController extends AppController | @@ -359,8 +363,9 @@ class DocumentsController extends AppController | ||
359 | $parent_name = $parent_controller=='materiels' ? | 363 | $parent_name = $parent_controller=='materiels' ? |
360 | $parent->designation." (id = $parent->id)" | 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 | } // ADD | 369 | } // ADD |
365 | //$parent_controller = empty($parent_id) ? 'suivis' : 'materiels'; | 370 | //$parent_controller = empty($parent_id) ? 'suivis' : 'materiels'; |
366 | return $this->redirect([ | 371 | return $this->redirect([ |
@@ -391,11 +396,11 @@ class DocumentsController extends AppController | @@ -391,11 +396,11 @@ class DocumentsController extends AppController | ||
391 | 396 | ||
392 | // Set some variables for the view | 397 | // Set some variables for the view |
393 | $this->set(compact('parent')); | 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 | $IS_PHOTO = $IS_ADD ? | 405 | $IS_PHOTO = $IS_ADD ? |
401 | (isset($this->request->getAttribute('params')['pass'][2]) && $this->request->getAttribute('params')['pass'][2] == 'photo') | 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,7 +139,7 @@ class SuivisController extends AppController | ||
139 | $this->set('_serialize', [ | 139 | $this->set('_serialize', [ |
140 | 'suivis' | 140 | 'suivis' |
141 | ]); | 141 | ]); |
142 | - } | 142 | + } // index |
143 | 143 | ||
144 | /** | 144 | /** |
145 | * View method | 145 | * View method |
@@ -151,6 +151,8 @@ class SuivisController extends AppController | @@ -151,6 +151,8 @@ class SuivisController extends AppController | ||
151 | */ | 151 | */ |
152 | public function view($id = null) | 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 | $suivi = $this->Suivis->get($id, [ | 156 | $suivi = $this->Suivis->get($id, [ |
155 | 'contain' => [ | 157 | 'contain' => [ |
156 | 'Materiels', | 158 | 'Materiels', |
@@ -169,17 +171,42 @@ class SuivisController extends AppController | @@ -169,17 +171,42 @@ class SuivisController extends AppController | ||
169 | ], | 171 | ], |
170 | 'order' => ('id DESC') | 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 | $this->set('typeDocuments', $typeDocuments); | 176 | $this->set('typeDocuments', $typeDocuments); |
177 | $this->set('suivi', $suivi); | 177 | $this->set('suivi', $suivi); |
178 | $this->set('fiche', $fiche); | 178 | $this->set('fiche', $fiche); |
179 | + */ | ||
180 | + /* (EP inutile) | ||
179 | $this->set('_serialize', [ | 181 | $this->set('_serialize', [ |
180 | 'suivi' | 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 | * Add method | 212 | * Add method |
@@ -293,8 +320,10 @@ class SuivisController extends AppController | @@ -293,8 +320,10 @@ class SuivisController extends AppController | ||
293 | */ | 320 | */ |
294 | public function edit($id = null) | 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 | $suivi = $this->Suivis->get($id, [ | 325 | $suivi = $this->Suivis->get($id, [ |
297 | - 'contain' => [] | 326 | + 'contain' => ['TypeSuivis'] |
298 | ]); | 327 | ]); |
299 | if ($this->request->is([ | 328 | if ($this->request->is([ |
300 | 'patch', | 329 | 'patch', |
@@ -385,15 +414,15 @@ class SuivisController extends AppController | @@ -385,15 +414,15 @@ class SuivisController extends AppController | ||
385 | ->read('authType'))[0] | 414 | ->read('authType'))[0] |
386 | ]) | 415 | ]) |
387 | ->first()['sur_categorie_id']; | 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 | $this->set('_serialize', [ | 421 | $this->set('_serialize', [ |
394 | 'suivi' | 422 | 'suivi' |
395 | ]); | 423 | ]); |
396 | - } | 424 | + */ |
425 | + } // edit() | ||
397 | 426 | ||
398 | /** | 427 | /** |
399 | * Delete method | 428 | * Delete method |
src/Model/Table/SuivisTable.php
@@ -141,7 +141,7 @@ class SuivisTable extends AppTable | @@ -141,7 +141,7 @@ class SuivisTable extends AppTable | ||
141 | 141 | ||
142 | $rules->add($checkNextDateControlIsAfterDateControl, [ | 142 | $rules->add($checkNextDateControlIsAfterDateControl, [ |
143 | 'errorField' => 'date_prochain_controle', | 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 | $rules->add($rules->existsIn([ | 147 | $rules->add($rules->existsIn([ |
src/Template/Documents/add_edit.ctp
@@ -6,7 +6,7 @@ $document = $document; | @@ -6,7 +6,7 @@ $document = $document; | ||
6 | $typesD = $typesD; | 6 | $typesD = $typesD; |
7 | $configuration = $configuration; | 7 | $configuration = $configuration; |
8 | $parent = $parent; | 8 | $parent = $parent; |
9 | -$doc_type = $doc_type; | 9 | +$parent_type = $parent_type; |
10 | $parent_controller = $parent_controller; | 10 | $parent_controller = $parent_controller; |
11 | $parent_name = $parent_name; | 11 | $parent_name = $parent_name; |
12 | // add or edit mode ? true=add ; false=edit | 12 | // add or edit mode ? true=add ; false=edit |
@@ -24,13 +24,13 @@ if (isset($photo)) { | @@ -24,13 +24,13 @@ if (isset($photo)) { | ||
24 | /* | 24 | /* |
25 | if (isset($materiel)) { | 25 | if (isset($materiel)) { |
26 | $materiel = $materiel; | 26 | $materiel = $materiel; |
27 | - $doc_type = 'matériel'; | 27 | + $parent_type = 'matériel'; |
28 | $parent = $materiel; | 28 | $parent = $materiel; |
29 | $parent_controller = 'Materiels'; | 29 | $parent_controller = 'Materiels'; |
30 | } | 30 | } |
31 | if (isset($suivi)) { | 31 | if (isset($suivi)) { |
32 | $suivi = $suivi; | 32 | $suivi = $suivi; |
33 | - $doc_type = 'suivi'; | 33 | + $parent_type = 'suivi'; |
34 | $parent = $suivi; | 34 | $parent = $suivi; |
35 | $parent_controller = 'Suivis'; | 35 | $parent_controller = 'Suivis'; |
36 | } | 36 | } |
@@ -55,7 +55,7 @@ if (isset($photo)) { | @@ -55,7 +55,7 @@ if (isset($photo)) { | ||
55 | 55 | ||
56 | // Ce doc est lié à ... | 56 | // Ce doc est lié à ... |
57 | //$link = isset($materiel) ? $materiel->designation : 'Suivi '.$suivi->id; | 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 | 'controller' => $parent_controller, | 59 | 'controller' => $parent_controller, |
60 | 'action' => 'view', | 60 | 'action' => 'view', |
61 | $parent->id | 61 | $parent->id |
@@ -101,7 +101,7 @@ if (isset($photo)) { | @@ -101,7 +101,7 @@ if (isset($photo)) { | ||
101 | echo $this->Form->control('nom', ['readonly' => !$IS_ADD]); | 101 | echo $this->Form->control('nom', ['readonly' => !$IS_ADD]); |
102 | 102 | ||
103 | // - Type (hidden si photo) | 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 | $f = 'control'; | 105 | $f = 'control'; |
106 | $default = 1; | 106 | $default = 1; |
107 | if (isset($photo)) { | 107 | if (isset($photo)) { |
src/Template/Documents/view.ctp
@@ -70,6 +70,7 @@ $photo_formats = ['png','jpg','jpeg']; | @@ -70,6 +70,7 @@ $photo_formats = ['png','jpg','jpeg']; | ||
70 | $displayElement(__('Nom'), h($document->nom)); | 70 | $displayElement(__('Nom'), h($document->nom)); |
71 | 71 | ||
72 | // - Type | 72 | // - Type |
73 | + debug($document); | ||
73 | $displayElement(__('Type'), $document->has('type_document') ? h($document->type_document->nom) : ''); | 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 | </fieldset> | 236 | </fieldset> |
237 | + | ||
238 | + <!-- Bouton enregistrer --> | ||
166 | <?=$this->Form->submit(__('Enregistrer'))?> | 239 | <?=$this->Form->submit(__('Enregistrer'))?> |
240 | + | ||
167 | <?=$this->Form->end()?> | 241 | <?=$this->Form->end()?> |
242 | + | ||
168 | </div> | 243 | </div> |
169 | 244 | ||
170 | <!-- | 245 | <!-- |
@@ -178,12 +253,27 @@ echo $this->element('menu_form', [ | @@ -178,12 +253,27 @@ echo $this->element('menu_form', [ | ||
178 | </div> | 253 | </div> |
179 | --> | 254 | --> |
180 | 255 | ||
256 | + | ||
257 | + | ||
258 | + | ||
259 | + | ||
260 | + | ||
261 | +<!-- | ||
262 | +******************************************************************************** | ||
263 | + JAVASCRIPT functions | ||
264 | +******************************************************************************** | ||
265 | +--> | ||
266 | + | ||
181 | <script type="text/javascript"> | 267 | <script type="text/javascript"> |
182 | 268 | ||
183 | $(document).ready(function () { | 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 | if (domaineId == "Vérification métrologique") { | 277 | if (domaineId == "Vérification métrologique") { |
188 | $("#metro").show(); | 278 | $("#metro").show(); |
189 | $("#nommesure").attr('required',true); | 279 | $("#nommesure").attr('required',true); |
@@ -195,7 +285,7 @@ $(document).ready(function () { | @@ -195,7 +285,7 @@ $(document).ready(function () { | ||
195 | $("#emtstandart").attr('required',true); | 285 | $("#emtstandart").attr('required',true); |
196 | $("#typedemesure").show(); | 286 | $("#typedemesure").show(); |
197 | $("#typedemesure").attr('required',true); | 287 | $("#typedemesure").attr('required',true); |
198 | - } else if (<?=$materiel['metrologie']?> == 1) { | 288 | + } else if (ismetro == 1) { |
199 | $("#metro").hide(); | 289 | $("#metro").hide(); |
200 | $("#nommesure").attr('required',false); | 290 | $("#nommesure").attr('required',false); |
201 | $("#symbole").attr('required',false); | 291 | $("#symbole").attr('required',false); |
@@ -219,7 +309,7 @@ $(document).ready(function () { | @@ -219,7 +309,7 @@ $(document).ready(function () { | ||
219 | */ | 309 | */ |
220 | 310 | ||
221 | 311 | ||
222 | - $(document).ready(function () { | 312 | +$(document).ready(function () { |
223 | d1 = toDate($("#date_deb")[0].value); /* Date de la prise en charge de la panne */ | 313 | d1 = toDate($("#date_deb")[0].value); /* Date de la prise en charge de la panne */ |
224 | d2 = toDate($("#date_fin")[0].value); /* Date estimee de fin de la panne */ | 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 | <div class="suivis view col-lg-12 col-md-12 col-sm-12"> | 20 | <div class="suivis view col-lg-12 col-md-12 col-sm-12"> |
3 | 21 | ||
@@ -5,190 +23,256 @@ | @@ -5,190 +23,256 @@ | ||
5 | 23 | ||
6 | <table style="margin-bottom: 30px;"> | 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 | <tr> | 92 | <tr> |
49 | <th style="width: 250px;"></th> | 93 | <th style="width: 250px;"></th> |
50 | <th></th> | 94 | <th></th> |
51 | </tr> | 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 | 'action' => 'view', | 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 | <?php | 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 | <div id="fichiers" style="margin-bottom: 20px;"> | 218 | <div id="fichiers" style="margin-bottom: 20px;"> |
145 | 219 | ||
146 | <h3 id="t_fichiers" style="cursor: pointer;"> | 220 | <h3 id="t_fichiers" style="cursor: pointer;"> |
147 | <i class="icon-chevron-down" style="font-size: 14px;" id="i_fichiers"></i> | 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 | </h3> | 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 | <div id="archives"> | 276 | <div id="archives"> |
193 | <?php if ( $configuration->metrologie && ( isset($suivi->fichemetrologiques) || $suivi->fichemetrologiques != "" ) ) { ?> | 277 | <?php if ( $configuration->metrologie && ( isset($suivi->fichemetrologiques) || $suivi->fichemetrologiques != "" ) ) { ?> |
194 | <h3 id="t_fichemetrologiques" style="cursor: pointer;"> | 278 | <h3 id="t_fichemetrologiques" style="cursor: pointer;"> |
@@ -224,11 +308,14 @@ if ($suivi->type_suivi->nom == "Vérification métrologique") { | @@ -224,11 +308,14 @@ if ($suivi->type_suivi->nom == "Vérification métrologique") { | ||
224 | </tr> | 308 | </tr> |
225 | <?php endforeach; ?> | 309 | <?php endforeach; ?> |
226 | </table> | 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 | </div> | 315 | </div> |
229 | 316 | ||
230 | <?php } ?> | 317 | <?php } ?> |
231 | - </div> | 318 | + </div> <!-- Archives du suivi métrologique --> |
232 | 319 | ||
233 | </div> | 320 | </div> |
234 | 321 |
webroot/css/inventirap.css
@@ -946,8 +946,9 @@ textarea { | @@ -946,8 +946,9 @@ textarea { | ||
946 | } | 946 | } |
947 | #tableAlignementFrequence{ | 947 | #tableAlignementFrequence{ |
948 | border-bottom: white; | 948 | border-bottom: white; |
949 | - width:510px; | ||
950 | - margin-left: -10px; | 949 | + width : 20%; |
950 | + /*width : 510px;*/ | ||
951 | + margin-left: -5px; | ||
951 | margin-bottom: -10px; | 952 | margin-bottom: -10px; |
952 | margin-top: -10px; | 953 | margin-top: -10px; |
953 | } | 954 | } |