Commit 07ffc697d23fe276da42f5806a59ec6f6bfb04c0
1 parent
de42b839
Exists in
master
and in
1 other branch
Amelioration Suivis (3) (v3.7.9.17)
- ajout champ is_metro dans table type_suivis pour les types liés au module métrologie - Nombreuses simplifications (et bugfix) des VUES en enrichissant le controleur de Suivis (et de Materiels) - (les vues doivent toujours être le plus BETE, SIMPLE possibles, la complexité ne doit être QUE dans le controleur) - commentaires et repagination pour que le code soit LISIBLE !!!! - début d'utilisation des migrations de BD - ...
Showing
11 changed files
with
410 additions
and
221 deletions
Show diff stats
README.md
... | ... | @@ -53,15 +53,16 @@ Logiciel testé et validé sur les configurations suivantes : |
53 | 53 | |
54 | 54 | VERSION ACTUELLE |
55 | 55 | |
56 | -Date: 07/04/2020 | |
57 | -Version: 3.7.9.16 | |
56 | +Date: 09/04/2020 | |
57 | +Version: 3.7.9.17 | |
58 | 58 | Author: EP |
59 | 59 | Commentaire: |
60 | - Amelioration Suivis (2) : | |
61 | - - amélioration du code javascript | |
62 | - - ajout champ "is_regular" dans table type_suivis pour déclarer les types des suivis réguliers (fréquence) ou irréguliers (date) | |
63 | - - mise à jour vues suivi et type_suivis pour le champ "is_regular" | |
64 | - - commentaires | |
60 | + Amelioration Suivis (3) : | |
61 | + - ajout champ is_metro dans table type_suivis pour les types liés au module métrologie | |
62 | + - Nombreuses simplifications (et bugfix) des VUES en enrichissant le controleur de Suivis (et de Materiels) | |
63 | + - (les vues doivent toujours être le plus BETE, SIMPLE possibles, la complexité ne doit être QUE dans le controleur) | |
64 | + - commentaires et repagination pour que le code soit LISIBLE !!!! | |
65 | + - début d'utilisation des migrations de BD | |
65 | 66 | - ... |
66 | 67 | |
67 | 68 | |
... | ... | @@ -98,6 +99,16 @@ La liste ci-dessous n'est plus à jour, elle est désormais en ligne ici : https |
98 | 99 | |
99 | 100 | ----------------------------------------------------------------------------------------------------------- |
100 | 101 | |
102 | +07/04/2020 Version 3.7.9.16 (EP) | |
103 | + Amelioration Suivis (2) : | |
104 | + - amélioration du code javascript par refactorisation | |
105 | + - test de cohérence des dates suite à saisie (javascript) | |
106 | + - ajout champ "is_regular" dans table type_suivis pour déclarer les types de suivis réguliers (fréquence) ou irréguliers (date) | |
107 | + - mise à jour vues suivi et type_suivis pour le champ "is_regular" | |
108 | + - commentaires | |
109 | + - début d'utilisation des migrations de BD | |
110 | + - ... | |
111 | + | |
101 | 112 | 02/04/2020 Version 3.7.9.15 (EP) |
102 | 113 | Bugfix Materiels bouton Annuler |
103 | 114 | Amelioration Suivis (1) | ... | ... |
src/Controller/MaterielsController.php
... | ... | @@ -818,7 +818,10 @@ class MaterielsController extends AppController |
818 | 818 | 'Sites', |
819 | 819 | 'Documents', |
820 | 820 | 'Emprunts', |
821 | - 'Suivis', | |
821 | + // Tous les suivis de ce $materiel (sans leur type) | |
822 | + //'Suivis', | |
823 | + // Tous les suivis de ce $materiel AVEC leur type de suivi | |
824 | + 'Suivis.TypeSuivis', | |
822 | 825 | 'Fournisseurs' |
823 | 826 | ] |
824 | 827 | ]); |
... | ... | @@ -911,11 +914,17 @@ class MaterielsController extends AppController |
911 | 914 | $this->set('IS_ARCHIVED', $IS_ARCHIVED); |
912 | 915 | $this->set('status', $status); |
913 | 916 | |
914 | - $sites = TableRegistry::get('Sites'); | |
917 | + $sites = TableRegistry::getTableLocator()->get('Sites'); | |
915 | 918 | //$sites = TableLocator::get('Sites'); |
916 | - $typeSuivis = TableRegistry::get('TypeSuivis'); | |
917 | - $typeDocuments = TableRegistry::get('TypeDocuments'); | |
918 | - $fournisseurs = TableRegistry::get('Fournisseurs'); | |
919 | + //$typeSuivis = TableRegistry::getTableLocator()->get('TypeSuivis'); | |
920 | + /* | |
921 | + $typeSuivisAll = $typeSuivis->find('list', [ | |
922 | + 'keyField' => 'id', | |
923 | + 'valueField' => 'is_regular', | |
924 | + ])->toArray(); | |
925 | + */ | |
926 | + $typeDocuments = TableRegistry::getTableLocator()->get('TypeDocuments'); | |
927 | + $fournisseurs = TableRegistry::getTableLocator()->get('Fournisseurs'); | |
919 | 928 | //$fournisseurs = TableLocator::get('Fournisseurs'); |
920 | 929 | |
921 | 930 | if ($materiel->photo_id != null) { |
... | ... | @@ -924,14 +933,17 @@ class MaterielsController extends AppController |
924 | 933 | } |
925 | 934 | |
926 | 935 | $this->set('PDF_ENGINE', $this->confLabinvent->pdf_engine); |
927 | - $this->set('sites', $sites); | |
928 | - $this->set('typeSuivis', $typeSuivis); | |
929 | - $this->set('typeDocuments', $typeDocuments); | |
930 | - $this->set('fournisseurs', $fournisseurs); | |
931 | - $this->set('materiel', $materiel); | |
936 | + | |
937 | + $entity = $materiel; | |
938 | + $this->set(compact('sites', 'typeDocuments', 'fournisseurs', | |
939 | + 'entity' | |
940 | + //'materiel', // @deprecated | |
941 | + )); | |
942 | + /* (EP) inutile | |
932 | 943 | $this->set('_serialize', [ |
933 | 944 | 'materiel' |
934 | 945 | ]); |
946 | + */ | |
935 | 947 | |
936 | 948 | /* TODO: |
937 | 949 | $CAN_EDIT = $IS_CREATED && ( | ... | ... |
src/Controller/SuivisController.php
... | ... | @@ -101,44 +101,52 @@ class SuivisController extends AppController |
101 | 101 | $GT = $this->request->getQuery('GT'); |
102 | 102 | if ($GM !== null || $GT !== null) { |
103 | 103 | if ($GM !== null && $GM != TableRegistry::getTableLocator()->get('GroupesMetiers')->find() |
104 | - ->where([ | |
105 | - 'nom =' => 'N/A' | |
106 | - ]) | |
107 | - ->first()['id']) { | |
108 | - $condition = [ | |
109 | - 'Suivis.groupes_metier_id =' => $GM | |
110 | - ]; | |
111 | - } else if ($GT !== null && $GT != TableRegistry::getTableLocator()->get('GroupesThematiques')->find() | |
112 | - ->where([ | |
113 | - 'nom =' => 'N/A' | |
114 | - ]) | |
115 | - ->first()['id']) { | |
116 | - $condition = [ | |
117 | - 'Suivis.groupes_thematique_id =' => $GT | |
118 | - ]; | |
119 | - } else { | |
120 | - $condition = [ | |
121 | - 'Suivis.id =' => 0 | |
122 | - ]; | |
123 | - } | |
104 | + ->where([ | |
105 | + 'nom =' => 'N/A' | |
106 | + ]) | |
107 | + ->first()['id'] | |
108 | + ) | |
109 | + $condition = ['Suivis.groupes_metier_id =' => $GM]; | |
110 | + else if ($GT !== null && $GT != TableRegistry::getTableLocator()->get('GroupesThematiques')->find() | |
111 | + ->where([ | |
112 | + 'nom =' => 'N/A' | |
113 | + ]) | |
114 | + ->first()['id'] | |
115 | + ) | |
116 | + $condition = ['Suivis.groupes_thematique_id =' => $GT]; | |
117 | + else | |
118 | + $condition = ['Suivis.id =' => 0]; | |
124 | 119 | } |
120 | + /* | |
125 | 121 | $this->paginate = [ |
126 | 122 | 'contain' => [ |
127 | 123 | 'Materiels', |
128 | 124 | 'TypeSuivis' |
129 | 125 | ] |
130 | 126 | ]; |
127 | + */ | |
131 | 128 | $suivis = $this->paginate($this->Suivis->find('all', [ |
132 | - 'conditions' => $condition | |
129 | + 'contain' => ['Materiels','TypeSuivis'], | |
130 | + 'conditions' => $condition, | |
133 | 131 | ])); |
132 | + /* | |
133 | + // Pour avoir une version plus sophistiquée comprenant aussi le champ 'is_metro' | |
134 | + // Voir cette même variable définie dans la fonction add_or_edit() | |
135 | + $typeSuivisAll = $this->Suivis->TypeSuivis->find('list', [ | |
136 | + 'keyField' => 'id', | |
137 | + 'valueField' => 'is_regular', | |
138 | + ])->toArray(); | |
139 | + */ | |
140 | + | |
134 | 141 | $this->set('nbSuivis', $this->Suivis->find('all', [ |
135 | 142 | 'conditions' => $condition |
136 | - ]) | |
137 | - ->count()); | |
143 | + ])->count()); | |
138 | 144 | $this->set(compact('suivis')); |
145 | + /* (EP) inutile | |
139 | 146 | $this->set('_serialize', [ |
140 | 147 | 'suivis' |
141 | 148 | ]); |
149 | + */ | |
142 | 150 | } // index |
143 | 151 | |
144 | 152 | /** |
... | ... | @@ -184,7 +192,7 @@ class SuivisController extends AppController |
184 | 192 | */ |
185 | 193 | $IS_OWNER = $this->userName == $suivi->nom_createur; |
186 | 194 | //debug($this->priviledgedUser); |
187 | - $CAN_EDIT_DELETE_LINK = ( | |
195 | + $CAN_EDIT_DELETE = ( | |
188 | 196 | $IS_OWNER || in_array($this->userRole, ['Administration','Administration Plus','Super Administrateur']) |
189 | 197 | //|| ($role == 'Utilisateur' && in_array($username, [$suivi->nom_createur])) |
190 | 198 | //|| ($role == 'Responsable' && in_array($username, [$suivi->nom_createur])) |
... | ... | @@ -205,7 +213,7 @@ class SuivisController extends AppController |
205 | 213 | ) |
206 | 214 | ) |
207 | 215 | ); |
208 | - $this->set(compact('typeDocuments', 'suivi', 'fiche', 'CAN_EDIT_DELETE_LINK')); | |
216 | + $this->set(compact('typeDocuments', 'suivi', 'fiche', 'CAN_EDIT_DELETE')); | |
209 | 217 | } // view |
210 | 218 | |
211 | 219 | |
... | ... | @@ -376,9 +384,37 @@ class SuivisController extends AppController |
376 | 384 | } |
377 | 385 | */ |
378 | 386 | |
387 | + /* On construit un tableau de la forme : | |
388 | + * typesuivi_id => [ | |
389 | + * 'is_regular' => value, | |
390 | + 'is_metro' => value | |
391 | + * ] | |
392 | + * | |
393 | + * Exemple : | |
394 | + (int) 1 => [ | |
395 | + 'is_regular' => true, | |
396 | + 'is_metro' => false | |
397 | + ], | |
398 | + (int) 2 => [ | |
399 | + 'is_regular' => false, | |
400 | + 'is_metro' => false | |
401 | + ], | |
402 | + (int) 5 => [ | |
403 | + 'is_regular' => true, | |
404 | + 'is_metro' => false | |
405 | + ], | |
406 | + ... | |
407 | + */ | |
379 | 408 | $typeSuivisAll = $this->Suivis->TypeSuivis->find('list', [ |
380 | 409 | 'keyField' => 'id', |
381 | - 'valueField' => 'is_regular', | |
410 | + //'valueField' => 'is_regular', | |
411 | + //'valueField' => ['is_regular','is_metro'] | |
412 | + 'valueField' => function ($typesuivi) { | |
413 | + return [ | |
414 | + 'is_regular' => $typesuivi->is_regular, | |
415 | + 'is_metro' => $typesuivi->is_metro | |
416 | + ]; | |
417 | + } | |
382 | 418 | ])->toArray(); |
383 | 419 | |
384 | 420 | // $domaineresp= TableRegistry::getTableLocator()->get('Users')->find()->select('sur_categorie_id')->where(['username =' => $this->LdapAuth->user($this->request->getSession()->read('authType'))[0]])->first()['sur_categorie_id']; | ... | ... |
src/Template/Materiels/view.ctp
... | ... | @@ -34,6 +34,10 @@ $PROFILE_SUPERADMIN = $PROFILE_SUPERADMIN; |
34 | 34 | $allProfiles = $allProfiles; |
35 | 35 | |
36 | 36 | // - Materiel status: |
37 | +$entity = $entity; | |
38 | +$materiel = $entity; //@deprecated | |
39 | +//debug($entity); | |
40 | + | |
37 | 41 | $idGmNa = $idGmNa; |
38 | 42 | $idGtNa = $idGtNa; |
39 | 43 | $IS_CREATED = $IS_CREATED; |
... | ... | @@ -176,6 +180,7 @@ $CAN_COPY = $IS_CREATED and ($USER_IS_ADMIN_OR_MORE || $USER_IS_UTILISATEUR_AND_ |
176 | 180 | $CAN_PRINT_LABEL = $IS_VALIDATED && $configuration->hasPrinter && $USER_IS_ADMIN_OR_MORE; |
177 | 181 | */ |
178 | 182 | |
183 | + | |
179 | 184 | ?> |
180 | 185 | |
181 | 186 | |
... | ... | @@ -588,30 +593,35 @@ if ($role == 'Super Administrateur') { |
588 | 593 | <!-- INFORMATIONS --> |
589 | 594 | |
590 | 595 | |
596 | + | |
597 | + | |
591 | 598 | <!-- PARTIE ADMIN --> |
592 | 599 | |
593 | 600 | <?php |
594 | -if ($USER_IS_ADMIN_OR_MORE) { | |
595 | - // if (in_array($role, ['Administration','Administration Plus','Super Administrateur'])) { | |
596 | - echo '<h3 id="t_informations_admin" style="cursor: pointer;">'; | |
597 | - echo '<i class="icon-chevron-down" style="font-size: 14px;" id="i_informations_admin"></i>'; | |
598 | - echo '<span style="text-decoration: underline;"> Informations administratives</span>'; | |
599 | - echo '</h3>'; | |
600 | - echo '<div id="informations_admin" style="margin-bottom: 20px;">'; | |
601 | - echo '<table>'; | |
602 | - echo '<tr><th style="width: 250px;"></th><th></th></tr>'; | |
603 | - echo '<tr><td><strong>' . __('CentreFinancier/EOTP') . ' </strong></td><td>' . h($materiel->eotp) . '</td></tr>'; | |
604 | - echo '<tr><td><strong>' . __('N° commande') . ' </strong></td><td>' . h($materiel->numero_commande) . '</td></tr>'; | |
605 | - echo '<tr><td><strong>' . __('Code comptable') . ' </strong></td><td>' . h($materiel->code_comptable) . '</td></tr>'; | |
606 | - echo '<tr><td><strong>' . __('N. Inventaire Organisme') . ' </strong></td><td>' . h($materiel->numero_inventaire_organisme) . '</td></tr>'; | |
607 | - echo '<tr><td><strong>' . __('N. inventaire (ancien)') . ' </strong></td><td>' . h($materiel->numero_inventaire_old) . '</td></tr>'; | |
608 | - echo '</table>'; | |
609 | - echo '</div>'; | |
610 | -} | |
601 | + if ($USER_IS_ADMIN_OR_MORE) { | |
602 | + // if (in_array($role, ['Administration','Administration Plus','Super Administrateur'])) { | |
603 | + echo '<h3 id="t_informations_admin" style="cursor: pointer;">'; | |
604 | + echo '<i class="icon-chevron-down" style="font-size: 14px;" id="i_informations_admin"></i>'; | |
605 | + echo '<span style="text-decoration: underline;"> Informations administratives</span>'; | |
606 | + echo '</h3>'; | |
607 | + echo '<div id="informations_admin" style="margin-bottom: 20px;">'; | |
608 | + echo '<table>'; | |
609 | + echo '<tr><th style="width: 250px;"></th><th></th></tr>'; | |
610 | + echo '<tr><td><strong>' . __('CentreFinancier/EOTP') . ' </strong></td><td>' . h($materiel->eotp) . '</td></tr>'; | |
611 | + echo '<tr><td><strong>' . __('N° commande') . ' </strong></td><td>' . h($materiel->numero_commande) . '</td></tr>'; | |
612 | + echo '<tr><td><strong>' . __('Code comptable') . ' </strong></td><td>' . h($materiel->code_comptable) . '</td></tr>'; | |
613 | + echo '<tr><td><strong>' . __('N. Inventaire Organisme') . ' </strong></td><td>' . h($materiel->numero_inventaire_organisme) . '</td></tr>'; | |
614 | + echo '<tr><td><strong>' . __('N. inventaire (ancien)') . ' </strong></td><td>' . h($materiel->numero_inventaire_old) . '</td></tr>'; | |
615 | + echo '</table>'; | |
616 | + echo '</div>'; | |
617 | + } | |
618 | + | |
619 | + | |
620 | + $bStyle = 'margin:0'; | |
621 | + ?> | |
622 | + | |
611 | 623 | |
612 | 624 | |
613 | -$bStyle = 'margin:0'; | |
614 | -?> | |
615 | 625 | |
616 | 626 | <!-- SUIVIS --> |
617 | 627 | |
... | ... | @@ -619,79 +629,108 @@ $bStyle = 'margin:0'; |
619 | 629 | <i class="icon-chevron-down" style="font-size: 14px;" id="i_suivis"></i> |
620 | 630 | <span style="text-decoration: underline;">Suivi(s) du matériel (<?=count($materiel->suivis)?>)</span> |
621 | 631 | </h3> |
632 | + | |
622 | 633 | <div id="suivis" style="margin-bottom: 20px;"> |
623 | - <?php if (! empty($materiel->suivis)) { ?> | |
624 | - <table> | |
625 | - <tr> | |
626 | - <th class="actions"><?=__('')?></th> | |
627 | - <th><?=__('N°')?></th> | |
628 | - <th><?=__('Type')?></th> | |
629 | - <th><?=__('Intitulé')?></th> | |
630 | - <th><?=__('Date début / Fréquence')?></th> | |
631 | - <th><?=__('Date fin / Répétition')?></th> | |
632 | - <th><?=__('Statut')?></th> | |
633 | - </tr> | |
634 | - <?php foreach ($materiel->suivis as $suivi) :?> | |
635 | - <tr> | |
636 | - <td class="actions" style="padding: 6px 0; text-align: left;"> | |
637 | - <?php | |
638 | - //if ($USER_IS_ADMIN_OR_MORE || $USER_IS_UTILISATEUR_AND_CREATOR_OR_OWNER || $USER_IS_RESPONSABLE_AND_SAME_GROUP || $USER_IS_RESPONSABLE_AND_CREATOR_OR_OWNER) { | |
639 | - /* | |
640 | - if ($USER_IS_ADMIN_OR_MORE | |
641 | - || $USER_IS_CREATOR_OR_OWNER | |
642 | - || ($USER_IS_RESPONSABLE && $USER_IS_SAME_GROUP_AS_MATERIEL)) { | |
643 | - */ | |
644 | - if ($CAN_MANAGE_SUIVIS) { | |
645 | - // Edit Suivis | |
646 | - $echoActionButton($this->Html, 'icon-pencil', $bStyle, '', 'Suivis', 'edit', $suivi->id); | |
647 | - /* | |
648 | - echo $this->Html->link(__('<i class="icon-pencil"></i>'), [ | |
649 | - 'controller' => 'Suivis', | |
650 | - 'action' => 'edit', | |
651 | - $suivi->id | |
652 | - ], [ | |
653 | - 'escape' => false, | |
654 | - 'style' => 'margin:0' | |
655 | - ]); | |
656 | - */ | |
657 | - // Delete Suivis | |
658 | - //TODO: postLink ??? kesako ? | |
659 | - //$echoActionButton($this->Html, 'icon-trash', $bStyle, '', 'Suivis', 'delete', $suivi->id, [], "", ""); | |
660 | - echo $this->Form->postLink(__('<i class="icon-trash"></i>'), [ | |
661 | - 'controller' => 'Suivis', | |
662 | - 'action' => 'delete', | |
663 | - $suivi->id | |
664 | - ], [ | |
665 | - 'escape' => false, | |
666 | - 'style' => 'margin:0', | |
667 | - 'confirm' => __('Êtes-vous sur de vouloir annuler ce suivi #{0} ?', $suivi->id) | |
668 | - ]); | |
669 | - } | |
670 | - ?> | |
671 | - </td> | |
672 | - <td><?=$this->Html->link('Suivi ' . $suivi->id, ['controller' => 'suivis','action' => 'view',$suivi->id])?></td> | |
673 | - <td><?=$typeSuivis->find()->where(['id =' => h($suivi->type_suivi_id)])->first()['nom'];?></td> | |
674 | - <td><?=h($suivi->intitule)?></td> | |
675 | - | |
676 | - <?php if ($typeSuivis->find()->where(['id =' => h($suivi->type_suivi_id)])->first()['nom'] == "Panne" ) {?> | |
677 | - <td><?=h($suivi->date_controle)?></td> | |
678 | - <td><?=h($suivi->date_prochain_controle)?></td> | |
679 | - <?php } else { ?> | |
680 | - <td><?=h($suivi->frequence)?></td> | |
681 | - <td><?=h($suivi->type_frequence)?></td> | |
682 | - <?php } ?> | |
683 | - <td><?=h($suivi->statut)?></td> | |
684 | - </tr> | |
685 | - <?php endforeach;?> | |
686 | - | |
687 | - </table> | |
688 | - <?php | |
689 | - } else { | |
690 | - echo 'Aucun suivi pour ce matériel.'; | |
691 | - } | |
692 | - ?> | |
693 | - </div> | |
694 | - <!-- FIN SUIVIS --> | |
634 | + | |
635 | + <?php | |
636 | + if (empty($materiel->suivis)) | |
637 | + echo 'Aucun suivi pour ce matériel.'; | |
638 | + | |
639 | + else { | |
640 | + ?> | |
641 | + <table> | |
642 | + | |
643 | + <tr> | |
644 | + <th class="actions"><?=__('')?></th> | |
645 | + <!-- | |
646 | + <th><=__('N°')?></th> | |
647 | + --> | |
648 | + <th><?=__('Intitulé')?></th> | |
649 | + <th><?=__('Type')?></th> | |
650 | + <th><?=__('Date début / Fréquence')?></th> | |
651 | + <th><?=__('Date fin / Répétition')?></th> | |
652 | + <th><?=__('Statut')?></th> | |
653 | + </tr> | |
654 | + | |
655 | + <!-- Affichage de chaque ligne de suivi --> | |
656 | + <?php foreach ($materiel->suivis as $suivi) :?> | |
657 | + | |
658 | + <tr> | |
659 | + | |
660 | + <td class="actions" style="padding: 6px 0; text-align: left;"> | |
661 | + <?php | |
662 | + //if ($USER_IS_ADMIN_OR_MORE || $USER_IS_UTILISATEUR_AND_CREATOR_OR_OWNER || $USER_IS_RESPONSABLE_AND_SAME_GROUP || $USER_IS_RESPONSABLE_AND_CREATOR_OR_OWNER) { | |
663 | + /* | |
664 | + if ($USER_IS_ADMIN_OR_MORE | |
665 | + || $USER_IS_CREATOR_OR_OWNER | |
666 | + || ($USER_IS_RESPONSABLE && $USER_IS_SAME_GROUP_AS_MATERIEL)) { | |
667 | + */ | |
668 | + if ($CAN_MANAGE_SUIVIS) { | |
669 | + // Edit Suivis | |
670 | + $echoActionButton($this->Html, 'icon-pencil', $bStyle, '', 'Suivis', 'edit', $suivi->id); | |
671 | + /* | |
672 | + echo $this->Html->link(__('<i class="icon-pencil"></i>'), [ | |
673 | + 'controller' => 'Suivis', | |
674 | + 'action' => 'edit', | |
675 | + $suivi->id | |
676 | + ], [ | |
677 | + 'escape' => false, | |
678 | + 'style' => 'margin:0' | |
679 | + ]); | |
680 | + */ | |
681 | + // Delete Suivis | |
682 | + //TODO: postLink ??? kesako ? | |
683 | + //$echoActionButton($this->Html, 'icon-trash', $bStyle, '', 'Suivis', 'delete', $suivi->id, [], "", ""); | |
684 | + echo $this->Form->postLink(__('<i class="icon-trash"></i>'), [ | |
685 | + 'controller' => 'Suivis', | |
686 | + 'action' => 'delete', | |
687 | + $suivi->id | |
688 | + ], [ | |
689 | + 'escape' => false, | |
690 | + 'style' => 'margin:0', | |
691 | + 'confirm' => __('Êtes-vous sur de vouloir annuler ce suivi #{0} ?', $suivi->id) | |
692 | + ]); | |
693 | + } | |
694 | + ?> | |
695 | + </td> | |
696 | + <!-- | |
697 | + <td><=$this->Html->link('Suivi ' . $suivi->id, ['controller' => 'suivis','action' => 'view',$suivi->id])?></td> | |
698 | + <td><=h($suivi->intitule)?></td> | |
699 | + --> | |
700 | + <td><?=$this->Html->link(h($suivi->intitule).' (suivi '. $suivi->id.')', ['controller' => 'suivis','action' => 'view',$suivi->id])?></td> | |
701 | + | |
702 | + <!-- | |
703 | + <td><=$typeSuivis->find()->where(['id =' => h($suivi->type_suivi_id)])->first()['nom'];?></td> | |
704 | + --> | |
705 | + <td><?=$suivi->type_suivi->nom?></td> | |
706 | + | |
707 | + <!-- TODO: Faire qqch de plus propre ici : ne pas faire de requete sql dans le vue mais dans le controleur --> | |
708 | + <!-- | |
709 | + <php if ($typeSuivis->find()->where(['id =' => h($suivi->type_suivi_id)])->first()['nom'] == "Panne" ) {?> | |
710 | + <php if ( $typeSuivis->find()->where(['id =' => h($suivi->type_suivi_id)])->first()['is_regular'] ) {?> | |
711 | + --> | |
712 | + <?php //debug($suivi); ?> | |
713 | + <?php //if ( $typeSuivisAll[$suivi->type_suivi_id]['is_regular'] ) {?> | |
714 | + <?php if ( $suivi->type_suivi->is_regular ) {?> | |
715 | + <td><?=h($suivi->frequence)?></td> | |
716 | + <td><?=h($suivi->type_frequence)?></td> | |
717 | + <?php } else { ?> | |
718 | + <td><?=h($suivi->date_controle)?></td> | |
719 | + <td><?=h($suivi->date_prochain_controle)?></td> | |
720 | + <?php } ?> | |
721 | + | |
722 | + <td><?=h($suivi->statut)?></td> | |
723 | + | |
724 | + </tr> | |
725 | + | |
726 | + <?php endforeach;?> | |
727 | + | |
728 | + </table> | |
729 | + <?php | |
730 | + } // (IF) il y a des suivis | |
731 | + ?> | |
732 | + | |
733 | + </div> <!-- FIN SUIVIS --> | |
695 | 734 | |
696 | 735 | |
697 | 736 | <!-- EMPRUNTS --> | ... | ... |
src/Template/Suivis/add_edit.ctp
... | ... | @@ -62,6 +62,8 @@ $typeSuivis = $typeSuivis; |
62 | 62 | |
63 | 63 | $typeSuivisAll = $typeSuivisAll; |
64 | 64 | //debug($typeSuivisAll); |
65 | +//foreach($typeSuivisAll as $k=>$v) { debug("$k : "); debug($v); } | |
66 | + | |
65 | 67 | //debug($typeSuivisAll[1]); |
66 | 68 | //debug($typeSuivisAll[5]); |
67 | 69 | //foreach($typeSuivisAll as $k=>$v) debug("$k : ".(int)($v+0)); |
... | ... | @@ -205,8 +207,8 @@ else { |
205 | 207 | // EDIT |
206 | 208 | else { |
207 | 209 | //if ( in_array($suivi->type_suivi->nom, ['Réparation','Autre']) ) { |
208 | - //if ( $typeSuivisAll[$suivi->type_suivi_id]['is_regular'] ) { | |
209 | - if ( $typeSuivisAll[$suivi->type_suivi_id] ) { | |
210 | + //if ( $typeSuivisAll[$suivi->type_suivi_id] ) { | |
211 | + if ( $typeSuivisAll[$suivi->type_suivi_id]['is_regular'] ) { | |
210 | 212 | $style_dates = $style_hide; |
211 | 213 | $style_periodicity = $style_show; |
212 | 214 | } |
... | ... | @@ -267,7 +269,7 @@ else { |
267 | 269 | echo $this->Form->control('date_prochain_controle', [ |
268 | 270 | 'type' => 'text', |
269 | 271 | 'id' => 'date_fin', |
270 | - 'label' => 'Date estimee de fin', | |
272 | + 'label' => 'Date estimée de fin', | |
271 | 273 | 'class' => 'datepicker', |
272 | 274 | 'placeholder' => 'Cliquez pour sélectionner une date' |
273 | 275 | ]); |
... | ... | @@ -513,16 +515,27 @@ $(document).ready(function () { |
513 | 515 | |
514 | 516 | console.log("Doc. chargé"); |
515 | 517 | |
516 | - var typesSuiviAll = <?php echo json_encode($typeSuivisAll); ?>; | |
518 | + // (EP) Une fois pour toutes, on récupère la liste des types de suivi | |
519 | + // conversion php => javascript | |
520 | + var typeSuivisAll = <?php echo json_encode($typeSuivisAll); ?>; | |
517 | 521 | |
518 | 522 | |
519 | 523 | // (EDIT only) |
520 | 524 | // (metro) |
521 | - var type_suivi_t = $("#type-suivi-id :selected").text(); | |
525 | + var type_suivi = $("#type-suivi-id :selected").text(); | |
522 | 526 | var ismetro = "<?=$materiel['metrologie']?>"; |
523 | 527 | |
528 | + // EDIT only | |
524 | 529 | /* |
525 | - // 1 - Afficher la section PÉRIODICITÉ ou DATE selon le type suivi choisi | |
530 | + * Vérification date début > date fin dans le cas d'une panne | |
531 | + */ | |
532 | + $("#date_deb").bind("change", function (event) {check_dates();} ); | |
533 | + $("#date_fin").bind("change", function (event) {check_dates();} ); | |
534 | + // FIN changement date | |
535 | + | |
536 | + | |
537 | + /* | |
538 | + // 1 - Afficher la section PERIODICITE ou DATE selon le type suivi choisi | |
526 | 539 | if (type_suivi != "Choisir le type de suivi") { |
527 | 540 | //if (type_suivi == "Panne") |
528 | 541 | if (type_suivi == "Réparation" || type_suivi == "Etalonnage") { |
... | ... | @@ -534,7 +547,9 @@ $(document).ready(function () { |
534 | 547 | } |
535 | 548 | */ |
536 | 549 | // 2 - (metro) Afficher ou non la section MÉTROLOGIE |
537 | - if (type_suivi_t == "Vérification métrologique") { | |
550 | + // TODO: (EP nouvelle proposition à tester) | |
551 | + //if (typeSuivisAll[type_suivi_id]['is_metro']) | |
552 | + if (type_suivi == "Vérification métrologique") { | |
538 | 553 | $("#metro").show(); |
539 | 554 | $("#nommesure").attr('required',true); |
540 | 555 | $("#symbole").attr('required',true); |
... | ... | @@ -557,26 +572,6 @@ $(document).ready(function () { |
557 | 572 | $("#typedemesure").hide(); |
558 | 573 | $("#typedemesure").attr('required',false); |
559 | 574 | } |
560 | - | |
561 | - | |
562 | - // EDIT only | |
563 | - /* | |
564 | - * Vérification date début > date fin dans le cas d'une panne | |
565 | - */ | |
566 | - function check_dates() { | |
567 | - d1 = toDate($("#date_deb")[0].value); /* Date de la prise en charge de la panne */ | |
568 | - d2 = toDate($("#date_fin")[0].value); /* Date estimee de fin de la panne */ | |
569 | - if($("#date_fin")[0].value != undefined){ | |
570 | - if(d1 > d2) { | |
571 | - alert("Les dates ne correspondent pas, la date de début de prise en charge doit être antérieure à la date de fin."); | |
572 | - event.preventDefault(); | |
573 | - } | |
574 | - } | |
575 | - } | |
576 | - $("#date_deb").bind("change", function (event) {check_dates();} ); | |
577 | - $("#date_fin").bind("change", function (event) {check_dates();} ); | |
578 | - // FIN changement date | |
579 | - | |
580 | 575 | |
581 | 576 | // ADD only |
582 | 577 | // (metro) |
... | ... | @@ -609,7 +604,8 @@ $(document).ready(function () { |
609 | 604 | if( type_suivi != "Choisir le type de suivi" ) { |
610 | 605 | console.log("coucou"); |
611 | 606 | console.log(type_suivi_id); |
612 | - if (typesSuiviAll[type_suivi_id]) { | |
607 | + //if (typeSuivisAll[type_suivi_id]) | |
608 | + if (typeSuivisAll[type_suivi_id]['is_regular']) { | |
613 | 609 | //document.getElementById('frequence').innerHTML = ""; |
614 | 610 | $("#dates").hide(); |
615 | 611 | $("#frequence").show(); |
... | ... | @@ -624,6 +620,8 @@ $(document).ready(function () { |
624 | 620 | } |
625 | 621 | |
626 | 622 | // (metro) |
623 | + // TODO: (EP nouvelle proposition à tester) | |
624 | + //if (typeSuivisAll[type_suivi_id]['is_metro']) | |
627 | 625 | if (type_suivi== "Vérification métrologique") { |
628 | 626 | document.getElementById('typedemesure').innerHTML ="<div class=\"input select required\"><label for=\"typemesure\">Type de mesure</label><select name=\"typemesure\" onchange=\"typedemesure()\" id=\"typemesure\"><option value=\"1\">Direct</option><option value=\"2\">Indirect</option></select></div>"; |
629 | 627 | $('#listes').show(); |
... | ... | @@ -673,7 +671,24 @@ $(document).ready(function () { |
673 | 671 | |
674 | 672 | |
675 | 673 | |
674 | +/* | |
675 | + * ************************* | |
676 | + * ******* FONCTIONS ******* | |
677 | + * ************************* | |
678 | + */ | |
676 | 679 | |
680 | +// EDIT only | |
681 | +// Vérification date début > date fin dans le cas d'une panne | |
682 | +function check_dates() { | |
683 | + d1 = toDate($("#date_deb")[0].value); /* Date de la prise en charge de la panne */ | |
684 | + d2 = toDate($("#date_fin")[0].value); /* Date estimee de fin de la panne */ | |
685 | + if($("#date_fin")[0].value != undefined){ | |
686 | + if(d1 > d2) { | |
687 | + alert("Les dates ne correspondent pas, la date de début de prise en charge doit être antérieure à la date de fin."); | |
688 | + event.preventDefault(); | |
689 | + } | |
690 | + } | |
691 | +} | |
677 | 692 | |
678 | 693 | // (metro) ADD only |
679 | 694 | function typedemesure() { | ... | ... |
src/Template/Suivis/index.ctp
1 | +<?php | |
2 | + | |
3 | +// Variables définies par le controleur : | |
4 | +$suivis = $suivis; | |
5 | +//debug($suivis); | |
6 | +// ... | |
7 | + | |
8 | +?> | |
1 | 9 | |
2 | 10 | <div class="suivis index col-lg-12 col-md-12 col-sm-12"> |
3 | -<?php echo '<h2><i class="icon-list"></i> Liste des suivis ('.$nbSuivis.')</h2>'; ?> | |
11 | + | |
12 | + <?php echo '<h2><i class="icon-list"></i> Liste des suivis ('.$nbSuivis.')</h2>'; ?> | |
13 | + | |
4 | 14 | <table style="border-collapse: separate; border-spacing: 0;"> |
15 | + | |
16 | + <!-- Titres du tableau --> | |
5 | 17 | <thead> |
6 | 18 | <tr> |
7 | 19 | <th class="actions"><?= __('') ?></th> |
8 | - <th><?= $this->Paginator->sort('id', 'N°') ?></th> | |
9 | - <th><?= $this->Paginator->sort('materiel_id', 'Matériel') ?></th> | |
10 | - <th><?= $this->Paginator->sort('numero_laboratoire', 'N° interne (labo)') ?></th> | |
20 | + <!-- | |
21 | + <th><= $this->Paginator->sort('id', 'N°') ?></th> | |
22 | + --> | |
11 | 23 | <th><?= $this->Paginator->sort('intitule', "Intitulé") ?></th> |
12 | - <th><?= $this->Paginator->sort('date_controle', 'Date debut / Frequence') ?></th> | |
13 | - <th><?= $this->Paginator->sort('date_prochain_controle', 'Date fin / Repetition') ?></th> | |
14 | - <th><?= $this->Paginator->sort('type_suivi_id', "Type d'intervention") ?></th> | |
24 | + <th><?= $this->Paginator->sort('materiel_id', 'Matériel') ?></th> | |
25 | + <!-- | |
26 | + <th><= $this->Paginator->sort('numero_laboratoire', 'N° interne (labo)') ?></th> | |
27 | + --> | |
28 | + <th><?= $this->Paginator->sort('type_suivi_id', "Type") ?></th> | |
29 | + <th><?= $this->Paginator->sort('date_controle', 'Date déb. / Fréq.') ?></th> | |
30 | + <th><?= $this->Paginator->sort('date_prochain_controle', 'Date fin / Cycle') ?></th> | |
15 | 31 | <th><?= $this->Paginator->sort('statut', "Statut") ?></th> |
16 | - | |
17 | 32 | </tr> |
18 | 33 | </thead> |
34 | + | |
35 | + <!-- Data (les suivis) --> | |
19 | 36 | <tbody> |
20 | 37 | <?php foreach ($suivis as $suivi): ?> |
21 | - <tr> | |
22 | - <td class="actions" style="padding: 6px 0; text-align: left;"> | |
23 | - <?php | |
24 | - | |
25 | -if (($role == 'Utilisateur' && in_array($username, [ | |
26 | - $suivi->nom_createur | |
27 | - ])) || ($role == 'Responsable' && in_array($username, [ | |
28 | - $suivi->nom_createur | |
29 | - ])) | |
30 | - || (in_array($role, [ | |
31 | - 'Administration', | |
32 | - 'Administration Plus', | |
33 | - 'Super Administrateur' | |
34 | - ])) || ($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)))) { | |
35 | - ?> | |
36 | - <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $suivi->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> | |
37 | - <?= $this->Form->postLink(__('<i class="icon-trash"></i>'), ['action' => 'delete', $suivi->id], ['title' => 'Supprimer', 'style' => 'margin: 0 2px', 'escape' => false, 'confirm' => __('Êtes-vous sur de vouloir supprimer ce suivi ?')]) ?> | |
38 | - <?php } ?> | |
39 | - </td> | |
40 | - <td class="smallText"><?php echo $this->Html->link('Suivi '.$this->Number->format($suivi->id), ['action' => 'view', $suivi->id])?></td> | |
41 | - <td class="smallText"><?= $suivi->has('materiel') ? $this->Html->link($suivi->materiel->designation, ['controller' => 'Materiels', 'action' => 'view', $suivi->materiel->id]) : '' ?></td> | |
42 | - <td class="smallText"><?= $suivi->has('materiel') ? h($suivi->materiel->numero_laboratoire) : '' ?></td> | |
43 | - <td class="smallText"><?= h($suivi->intitule) ?></td> | |
44 | - | |
45 | - | |
46 | - <?php if ($suivi->type_suivi_id == 2 ) {?> | |
47 | - <td><?=h($suivi->date_controle)?></td> | |
48 | - <td><?=h($suivi->date_prochain_controle)?></td> | |
49 | - <?php } else { ?> | |
50 | - <td><?=h($suivi->frequence)?></td> | |
51 | - <td><?=h($suivi->type_frequence)?></td> | |
52 | - <?php } ?> | |
53 | - | |
54 | - <td class="smallText"><?= $suivi->has('type_suivi') ? h($suivi->type_suivi->nom) : '' ?></td> | |
55 | - <td class="smallText"><?= h($suivi->statut) ?></td> | |
38 | + <tr> | |
39 | + <!-- BOUTONS Edit et Delete --> | |
40 | + <td class="actions" style="padding: 6px 0; text-align: left;"> | |
41 | + <?php | |
42 | + $CAN_EDIT_DELETE = ( | |
43 | + ($role == 'Utilisateur' && in_array($username, [$suivi->nom_createur])) | |
44 | + || | |
45 | + ($role == 'Responsable' && in_array($username, [$suivi->nom_createur])) | |
46 | + || | |
47 | + ( | |
48 | + in_array($role, ['Administration','Administration Plus','Super Administrateur'])) | |
49 | + || | |
50 | + ($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)) | |
51 | + ) | |
52 | + ); | |
53 | + if ($CAN_EDIT_DELETE) { | |
54 | + echo $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $suivi->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]); | |
55 | + echo $this->Form->postLink(__('<i class="icon-trash"></i>'), ['action' => 'delete', $suivi->id], ['title' => 'Supprimer', 'style' => 'margin: 0 2px', 'escape' => false, 'confirm' => __('Êtes-vous sur de vouloir supprimer ce suivi ?')]); | |
56 | + } | |
57 | + ?> | |
58 | + </td> | |
59 | + | |
60 | + <!-- DATA --> | |
61 | + | |
62 | + <!-- OLD | |
63 | + - n° suivi | |
64 | + <td class="smallText"><php echo $this->Html->link('Suivi '.$this->Number->format($suivi->id), ['action' => 'view', $suivi->id])?></td> | |
65 | + - Intitulé | |
66 | + <td class="smallText"><= h($suivi->intitule) ?></td> | |
67 | + --> | |
56 | 68 | |
69 | + <!-- Intitulé (lien vers suivi) --> | |
70 | + <td class="smallText"><?= $this->Html->link(h($suivi->intitule).' (suivi '.$this->Number->format($suivi->id).')', ['action' => 'view', $suivi->id]) ?></td> | |
57 | 71 | |
58 | - </tr> | |
72 | + <!-- Matériel concerné --> | |
73 | + <td class="smallText"><?= $suivi->has('materiel') ? $this->Html->link($suivi->materiel->designation, ['controller' => 'Materiels', 'action' => 'view', $suivi->materiel->id]) : '' ?></td> | |
74 | + | |
75 | + <!-- N° inventaire | |
76 | + <td class="smallText"><?= $suivi->has('materiel') ? h($suivi->materiel->numero_laboratoire) : '' ?></td> | |
77 | + --> | |
78 | + | |
79 | + <td class="smallText"><?= $suivi->has('type_suivi') ? h($suivi->type_suivi->nom) : '' ?></td> | |
80 | + | |
81 | + <!-- | |
82 | + <php if ($suivi->type_suivi_id == 2 ) {?> | |
83 | + --> | |
84 | + <?php //debug($suivi->type_suivi_id); ?> | |
85 | + <?php //if ( $typeSuivisAll[$suivi->type_suivi_id] ) {?> | |
86 | + <?php if ($suivi->type_suivi->is_regular) {?> | |
87 | + <td><?=h($suivi->frequence)?></td> | |
88 | + <td><?=h($suivi->type_frequence)?></td> | |
89 | + <?php } else { ?> | |
90 | + <td><?=h($suivi->date_controle)?></td> | |
91 | + <td><?=h($suivi->date_prochain_controle)?></td> | |
92 | + <?php } ?> | |
93 | + | |
94 | + <td class="smallText"><?= h($suivi->statut) ?></td> | |
95 | + | |
96 | + | |
97 | + </tr> | |
59 | 98 | <?php endforeach; ?> |
60 | 99 | </tbody> |
100 | + | |
61 | 101 | </table> |
62 | 102 | |
63 | 103 | <?php echo $this->element('pagination'); ?> | ... | ... |
src/Template/Suivis/view.ctp
1 | 1 | <?php |
2 | 2 | // Variables passées à cette vue par le controleur |
3 | 3 | $suivi = $suivi; |
4 | -$CAN_EDIT_DELETE_LINK = $CAN_EDIT_DELETE_LINK; | |
4 | +$CAN_EDIT_DELETE = $CAN_EDIT_DELETE; | |
5 | 5 | $typeDocuments = $typeDocuments; |
6 | 6 | $fiche = $fiche; |
7 | 7 | // from AppController::beforeFilter |
... | ... | @@ -51,7 +51,7 @@ debug($username); |
51 | 51 | ) |
52 | 52 | ); |
53 | 53 | */ |
54 | - if ($CAN_EDIT_DELETE_LINK) { | |
54 | + if ($CAN_EDIT_DELETE) { | |
55 | 55 | echo $this->Html->link(__('<i class="icon-pencil"></i> Editer'), [ |
56 | 56 | 'action' => 'edit', |
57 | 57 | $suivi->id |
... | ... | @@ -129,14 +129,19 @@ debug($username); |
129 | 129 | $printTableRow(__("Type d'intervention"), $suivi->has('type_suivi') ? h($suivi->type_suivi->nom) : ''); |
130 | 130 | |
131 | 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); | |
132 | + //if ($suivi->type_suivi_id == "1") { | |
133 | + if ($suivi->type_suivi->is_regular) { | |
134 | + //$printTableRow(__('Date Derniere Intervention'), h($suivi->date_controle)); | |
135 | + //$printTableRow(__('Date Prochaine Intervention'), h($suivi->date_prochain_controle), $style); | |
135 | 136 | $printTableRow(__('Fréquence'), h($suivi->frequence) . ' ' . h($suivi->type_frequence)); |
136 | 137 | } |
137 | 138 | else { |
139 | + $printTableRow(__('Date Début'), h($suivi->date_controle)); | |
140 | + $printTableRow(__('Date Fin estimée'), h($suivi->date_prochain_controle), $style); | |
141 | + /* | |
138 | 142 | $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); | |
143 | + $printTableRow(__('Date Fin de Panne estimée'), h($suivi->date_prochain_controle), $style); | |
144 | + */ | |
140 | 145 | } |
141 | 146 | |
142 | 147 | // - Groupe thématique |
... | ... | @@ -224,19 +229,34 @@ debug($username); |
224 | 229 | <?php |
225 | 230 | if (!empty($suivi->documents) || $suivi->type_suivi->nom == "Vérification métrologique") { ?> |
226 | 231 | <table> |
232 | + | |
233 | + <!-- Titres colonnes --> | |
227 | 234 | <tr> |
228 | 235 | <th class="actions"><?= __('') ?></th> |
229 | - <th><?= __('N°') ?></th> | |
236 | + <!-- (EP) inutile | |
237 | + <th><= __('N°') ?></th> | |
238 | + --> | |
230 | 239 | <th><?= __('Liens/fichiers') ?></th> |
231 | 240 | </tr> |
232 | - <?php | |
241 | + | |
242 | + <!-- DATA --> | |
243 | + | |
244 | + <?php | |
245 | + | |
246 | + // 1 ligne pour la fiche metro | |
233 | 247 | $i=1; |
234 | 248 | 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> | |
249 | + <tr> | |
250 | + <td class="actions" style="padding: 6px 0; text-align: left;"></td> | |
251 | + <!-- | |
252 | + <td><php echo $i; $i++; ?></td> | |
253 | + --> | |
254 | + <td><?= $this->Html->link('Lien 1: Fiche métrologique', ['controller' => 'Fichemetrologiques', 'action' => 'add', $suivi->id]) ?></td> | |
255 | + </tr> | |
238 | 256 | <?php |
239 | 257 | } |
258 | + | |
259 | + // 1 ligne pour chaque doc lié | |
240 | 260 | foreach ($suivi->documents as $documents): ?> |
241 | 261 | <tr> |
242 | 262 | <td class="actions" style="padding: 6px 0; text-align: left;"> |
... | ... | @@ -258,7 +278,9 @@ debug($username); |
258 | 278 | } |
259 | 279 | ?> |
260 | 280 | </td> |
261 | - <td><?= $i ?></td> | |
281 | + <!-- | |
282 | + <td><= $i ?></td> | |
283 | + --> | |
262 | 284 | <td><?= $this->Html->link($documents->nom, ['controller' => 'documents', 'action' => 'view', $documents->id]) ?></td> |
263 | 285 | <?php $i++; ?> |
264 | 286 | </tr> | ... | ... |
src/Template/TypeSuivis/add.ctp
... | ... | @@ -14,7 +14,11 @@ |
14 | 14 | echo $this->Form->control('nom'); |
15 | 15 | |
16 | 16 | echo $this->Form->control('is_regular', [ |
17 | - 'label' => 'Régulier' | |
17 | + 'label' => 'Suivi Régulier' | |
18 | + ]); | |
19 | + | |
20 | + echo $this->Form->control('is_metro', [ | |
21 | + 'label' => 'Suivi lié à la Métrologie' | |
18 | 22 | ]); |
19 | 23 | |
20 | 24 | ?> | ... | ... |
src/Template/TypeSuivis/edit.ctp
... | ... | @@ -14,7 +14,11 @@ |
14 | 14 | echo $this->Form->control('nom'); |
15 | 15 | |
16 | 16 | echo $this->Form->control('is_regular', [ |
17 | - 'label' => 'Régulier' | |
17 | + 'label' => 'Suivi Régulier' | |
18 | + ]); | |
19 | + | |
20 | + echo $this->Form->control('is_metro', [ | |
21 | + 'label' => 'Suivi lié à la Métrologie' | |
18 | 22 | ]); |
19 | 23 | |
20 | 24 | ?> | ... | ... |
src/Template/TypeSuivis/index.ctp
... | ... | @@ -12,6 +12,7 @@ |
12 | 12 | <th class="actions"><?= __('') ?></th> |
13 | 13 | <th><?= $this->Paginator->sort('nom', 'Nom') ?></th> |
14 | 14 | <th><?= $this->Paginator->sort('is_regular', 'Régulier ?') ?></th> |
15 | + <th><?= $this->Paginator->sort('is_metro', 'Métrologie ?') ?></th> | |
15 | 16 | </tr> |
16 | 17 | </thead> |
17 | 18 | |
... | ... | @@ -33,8 +34,10 @@ |
33 | 34 | |
34 | 35 | </td> |
35 | 36 | |
37 | + <!-- data --> | |
36 | 38 | <td class="smallText"><?= $this->Html->link($typeSuivi->nom, ['action' => 'view', $typeSuivi->id]) ?></td> |
37 | 39 | <td class="smallText"><?= $typeSuivi->is_regular?"Oui":"Non" ?></td> |
40 | + <td class="smallText"><?= $typeSuivi->is_metro?"Oui":"Non" ?></td> | |
38 | 41 | |
39 | 42 | </tr> |
40 | 43 | <?php endforeach; ?> | ... | ... |
src/Template/TypeSuivis/view.ctp
... | ... | @@ -46,7 +46,10 @@ |
46 | 46 | $displayElement(__('Nom'), h($typeSuivi->nom)); |
47 | 47 | |
48 | 48 | // - Régulier ? |
49 | - $displayElement(__('Régulier ?'), h($typeSuivi->is_regular)?"Oui":"Non"); | |
49 | + $displayElement(__('Suivi Régulier ?'), h($typeSuivi->is_regular)?"Oui":"Non"); | |
50 | + | |
51 | + // - Métrologie ? | |
52 | + $displayElement(__('Suivi lié à la Métrologie ?'), h($typeSuivi->is_metro)?"Oui":"Non"); | |
50 | 53 | |
51 | 54 | ?> |
52 | 55 | ... | ... |