Commit 4cf3322fbededfda923cf19c3ce33f73a71f4ea3

Authored by Etienne Pallier
1 parent b5bb5258
Exists in master and in 1 other branch dev

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...
- ...
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 = [&#39;png&#39;,&#39;jpg&#39;,&#39;jpeg&#39;];
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-&gt;element(&#39;menu_form&#39;, [
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-&gt;type_suivi-&gt;nom == &quot;Vérification métrologique&quot;) {
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 }
... ...