Commit 6990fd5bf1b598551c328a2726244b2a24de2a7e
1 parent
4f90ace2
Exists in
master
and in
2 other branches
Bugfix actions sur pdf interdites
Aussi: Grosse Simplification des vues materiels/view et index
Showing
6 changed files
with
247 additions
and
176 deletions
Show diff stats
README.md
... | ... | @@ -54,12 +54,12 @@ Logiciel testé et validé sur les configurations suivantes : |
54 | 54 | VERSION ACTUELLE |
55 | 55 | |
56 | 56 | Date: 21/05/2019 |
57 | -Version: 2.12.19 | |
57 | +Version: 2.12.20 | |
58 | 58 | Author: EP |
59 | 59 | Commentaire: |
60 | - Bugfix affichage boutons vue matériel (parfois 2e ligne chevauchait 1ère ligne) | |
61 | - (Enorme) Simplification des vues (toujours en cours) | |
62 | - | |
60 | + Bugfix actions sur pdf interdites | |
61 | + Simplifications vues materiels/view et index | |
62 | + | |
63 | 63 | |
64 | 64 | IMPORTANT : |
65 | 65 | - Pour connaitre la version actuelle, taper "./VERSION" | ... | ... |
src/Controller/AppController.php
... | ... | @@ -615,8 +615,9 @@ class AppController extends Controller |
615 | 615 | |
616 | 616 | // (EP 21/5/19) NEW |
617 | 617 | |
618 | - $role = $this->getUserRole(); | |
619 | - $profile = self::PROFILES["$role"]; | |
618 | + //$role = $this->getUserRole(); | |
619 | + $this->userRole = $this->getUserRole(); | |
620 | + $profile = self::PROFILES["$this->userRole"]; | |
620 | 621 | |
621 | 622 | |
622 | 623 | // Set General CONSTANTS for all CONTROLLERS |
... | ... | @@ -652,7 +653,7 @@ class AppController extends Controller |
652 | 653 | ->first()['id']; |
653 | 654 | |
654 | 655 | // Now, set these constants for all VIEWS |
655 | - $this->set('role', $role); | |
656 | + $this->set('role', $this->userRole); | |
656 | 657 | $this->set('profile', $profile); |
657 | 658 | $this->set('username', $this->userName); |
658 | 659 | $this->set('priviledgedUser', $this->priviledgedUser); |
... | ... | @@ -850,7 +851,8 @@ class AppController extends Controller |
850 | 851 | |
851 | 852 | // Pass this function to all views |
852 | 853 | //function echoActionButton($html, $icon_class, $title, $action, $id, $tip='', $controller='materiels', $mat=NULL, $photo=NULL) { |
853 | - $echoActionButton = function($html, $icon_class, $title, $controller='', $action, $id, $other_args=[], $tip='', $confirmMessage='', $moreButtonStyle='') { | |
854 | + //$echoActionButton = function($html, $icon_class, $buttonStyle='', $title, $controller='', $action, $id, $other_args=[], $tip='', $confirmMessage='') { | |
855 | + $echoActionButton = function($html, $icon_class, $buttonStyle, $title, $controller, $action, $id, $other_args=[], $tip='', $confirmMessage='', $moreButtonStyle='') { | |
854 | 856 | if ($controller=='') $controller='materiels'; |
855 | 857 | $controllerArgs = []; |
856 | 858 | $controllerArgs['controller'] = $controller; |
... | ... | @@ -858,7 +860,7 @@ class AppController extends Controller |
858 | 860 | $controllerArgs[] = $id; |
859 | 861 | foreach ($other_args as $other_arg) $controllerArgs[] = $other_arg; |
860 | 862 | echo $html->link( |
861 | - __("<i class=$icon_class></i> $title"), | |
863 | + __("<i class=$icon_class></i>$title"), | |
862 | 864 | $controllerArgs, |
863 | 865 | /* |
864 | 866 | [ |
... | ... | @@ -872,7 +874,8 @@ class AppController extends Controller |
872 | 874 | 'title' => $tip, |
873 | 875 | 'escape' => false, |
874 | 876 | 'onclick' => 'return true;', |
875 | - 'style' => 'margin-right: 10px'.$moreButtonStyle, | |
877 | + //'style' => 'margin-right: 10px'.$moreButtonStyle, | |
878 | + 'style' => $buttonStyle, | |
876 | 879 | 'confirm' => $confirmMessage |
877 | 880 | ] |
878 | 881 | ); | ... | ... |
src/Controller/DocumentsController.php
... | ... | @@ -38,8 +38,13 @@ class DocumentsController extends AppController |
38 | 38 | if (in_array($action, [ |
39 | 39 | // 'view', |
40 | 40 | // 'add', |
41 | + | |
42 | + // FPDF | |
41 | 43 | 'ficheMateriel', |
42 | - 'mailDevis' | |
44 | + // DOMPDF | |
45 | + 'ficheMaterielPdf', | |
46 | + | |
47 | + 'mailDevis' | |
43 | 48 | ])) |
44 | 49 | return true; |
45 | 50 | |
... | ... | @@ -50,7 +55,10 @@ class DocumentsController extends AppController |
50 | 55 | */ |
51 | 56 | |
52 | 57 | if (in_array($action, [ |
58 | + // FPDF | |
53 | 59 | 'admission', |
60 | + // DOMPDF | |
61 | + 'admissionPdf', | |
54 | 62 | 'sortie' |
55 | 63 | ])) { |
56 | 64 | if ($this->userHasRoleAtLeast('Administration')) { | ... | ... |
src/Controller/MaterielsController.php
... | ... | @@ -241,18 +241,20 @@ class MaterielsController extends AppController |
241 | 241 | $this->set(compact('toto')); |
242 | 242 | */ |
243 | 243 | |
244 | - $user = $userFromSession; | |
244 | + $this->userFromSession = $userFromSession; | |
245 | 245 | $configuration = $this->confLabinvent; |
246 | - $userCname = $user[$configuration->ldap_authenticationType][0]; | |
246 | + $this->userCname = $userFromSession[$configuration->ldap_authenticationType][0]; | |
247 | 247 | /* |
248 | 248 | * $role = TableRegistry::get('Users')->find() |
249 | 249 | * ->where(['username' => $user[$configuration->authentificationType_ldap][0]]) |
250 | 250 | * ->first()['role']; |
251 | 251 | */ |
252 | - $role = $this->getUserRole($user); | |
252 | + // (EP) deja set par beforeFilter() | |
253 | + //$role = $this->getUserRole($user); | |
254 | + //$this->userRole = $this->getUserRole($user); | |
253 | 255 | |
254 | 256 | // SUPERADMIN a tous les droits, non mais ! |
255 | - if ($role == 'Super Administrateur') return true; | |
257 | + if ($this->userRole == 'Super Administrateur') return true; | |
256 | 258 | |
257 | 259 | // $this->myDebug("role is ".$role); |
258 | 260 | // debug("role is ".$role); |
... | ... | @@ -272,8 +274,8 @@ class MaterielsController extends AppController |
272 | 274 | * |
273 | 275 | * Tout le reste en dessous de cette ligne devient inutile !!! |
274 | 276 | */ |
275 | - $this->myDebug("isAuthorizedAction ? " . $this->isAuthorizedAction2($this, $role, $action, $id, $user)); | |
276 | - return $this->isAuthorizedAction($role, $action, $id, $userFromSession, $userCname); | |
277 | + $this->myDebug("isAuthorizedAction ? " . $this->isAuthorizedAction2($this, $this->userRole, $action, $id, $userFromSession)); | |
278 | + return $this->isAuthorizedAction($this->userRole, $action, $id, $userFromSession, $this->userCname); | |
277 | 279 | |
278 | 280 | } // isAuthorized |
279 | 281 | |
... | ... | @@ -623,7 +625,8 @@ class MaterielsController extends AppController |
623 | 625 | $condition = [ |
624 | 626 | 'Materiels.status =' => $this->request->getAttribute('params')['pass'][0] |
625 | 627 | ]; |
626 | - $this->set('STATUS', $this->request->getAttribute('params')['pass'][0]); | |
628 | + //$this->set('STATUS', $this->request->getAttribute('params')['pass'][0]); | |
629 | + $this->set('SELECTED_STATUS', $this->request->getAttribute('params')['pass'][0]); | |
627 | 630 | } |
628 | 631 | |
629 | 632 | $GM = $this->request->getQuery('GM'); |
... | ... | @@ -743,7 +746,7 @@ class MaterielsController extends AppController |
743 | 746 | $this->set('_serialize', [ |
744 | 747 | 'materiels' |
745 | 748 | ]); |
746 | - } | |
749 | + } // index() | |
747 | 750 | |
748 | 751 | /** |
749 | 752 | * View method |
... | ... | @@ -827,7 +830,11 @@ class MaterielsController extends AppController |
827 | 830 | $CAN_MANAGE_FILES = $CAN_ATTACH_A_DOC; |
828 | 831 | $this->set(compact('CAN_MANAGE_FILES')); |
829 | 832 | |
830 | - $CAN_EDIT = $IS_CREATED && $CAN_ATTACH_A_DOC; | |
833 | + // NEW | |
834 | + // TODO: marche pas !!! | |
835 | + //$CAN_EDIT = $this->isAuthorizedAction($this->userRole, 'edit', $id, $this->userFromSession, $this->userCname); | |
836 | + // OLD | |
837 | + $CAN_EDIT = $IS_CREATED && $CAN_ATTACH_A_DOC; | |
831 | 838 | $this->set(compact('CAN_EDIT')); |
832 | 839 | |
833 | 840 | $CAN_COPY = $CAN_EDIT; | ... | ... |
1 | 1 | <?php |
2 | 2 | use Cake\I18n\Time; |
3 | 3 | use Cake\I18n\Date; |
4 | + | |
5 | + | |
6 | + | |
7 | +// (EP 21/5/19) | |
8 | +// --- Elements set by Controller for this view --- | |
9 | + | |
10 | +/*TODO: $materiels doit etre enrichi avec des nouveaux attributs tels que (pour chaque materiel de la liste) : | |
11 | +- CAN_EDIT | |
12 | +- CAN_DELETE | |
13 | + */ | |
14 | +$materiels = $materiels; | |
15 | + | |
16 | +// Uniquement quand un statut est sélectionné (pour filtrer) | |
17 | +if (isset($SELECTED_STATUS)) $SELECTED_STATUS = $SELECTED_STATUS; | |
18 | + | |
19 | +// TODO: yena plein d'autres | |
20 | +// ... | |
21 | + | |
22 | +// - Constants : | |
23 | + | |
24 | +// - User status: | |
25 | +$role = $role; | |
26 | +$username = $username; | |
27 | +$priviledgedUser = $priviledgedUser; | |
28 | +$USER_IS_UTILISATEUR = $USER_IS_UTILISATEUR; | |
29 | +$USER_IS_RESPONSABLE = $USER_IS_RESPONSABLE; | |
30 | +$USER_IS_RESPONSABLE_OR_MORE = $USER_IS_RESPONSABLE_OR_MORE; | |
31 | +$USER_IS_ADMIN = $USER_IS_ADMIN; | |
32 | +$USER_IS_ADMIN_OR_MORE = $USER_IS_ADMIN_OR_MORE; | |
33 | +$USER_IS_ADMINPLUS = $USER_IS_ADMINPLUS; | |
34 | +$USER_IS_ADMINPLUS_OR_MORE = $USER_IS_ADMINPLUS_OR_MORE; | |
35 | +$USER_IS_SUPERADMIN = $USER_IS_SUPERADMIN; | |
36 | + | |
37 | +// - Fonctions : | |
38 | +$displayElement = $displayElement; | |
39 | +$dateProchainControleVerif = $dateProchainControleVerif; | |
40 | +$echoActionButton = $echoActionButton; | |
41 | + | |
4 | 42 | ?> |
5 | 43 | |
6 | 44 | |
... | ... | @@ -21,25 +59,21 @@ echo $this->Html->link('<i class="icon-plus"></i> Nouveau Matériel', [ |
21 | 59 | ]); |
22 | 60 | echo '</p>'; |
23 | 61 | |
24 | -if (in_array($role, [ | |
25 | - 'Administration', | |
26 | - 'Administration Plus', | |
27 | - 'Super Administrateur' | |
28 | -])) { | |
62 | +if ($USER_IS_ADMIN_OR_MORE) { | |
29 | 63 | echo '<p>'; |
30 | 64 | echo "Afficher les matériels : "; |
31 | 65 | echo '</br>'; |
32 | 66 | echo '</br>'; |
33 | 67 | $b_all = $b_cre = $b_val = $b_toarc = $b_arc = ''; |
34 | 68 | $SELECTED = '<i class="icon-ok"></i>'; |
35 | - if (isset($STATUS)) { | |
36 | - if ($STATUS == 'CREATED') | |
69 | + if (isset($SELECTED_STATUS)) { | |
70 | + if ($SELECTED_STATUS == 'CREATED') | |
37 | 71 | $b_cre = $SELECTED; |
38 | - else if ($STATUS == 'VALIDATED') | |
72 | + else if ($SELECTED_STATUS == 'VALIDATED') | |
39 | 73 | $b_val = $SELECTED; |
40 | - else if ($STATUS == 'TOBEARCHIVED') | |
74 | + else if ($SELECTED_STATUS == 'TOBEARCHIVED') | |
41 | 75 | $b_toarc = $SELECTED; |
42 | - else if ($STATUS == 'ARCHIVED') | |
76 | + else if ($SELECTED_STATUS == 'ARCHIVED') | |
43 | 77 | $b_arc = $SELECTED; |
44 | 78 | } else |
45 | 79 | $b_all = $SELECTED; |
... | ... | @@ -89,7 +123,7 @@ if (in_array($role, [ |
89 | 123 | |
90 | 124 | // ACTIONS : buttons "Tout selectionner", "Tout decocher" |
91 | 125 | // - show only with "A valider" and "A sortir" |
92 | - if (isset($STATUS) && $nbMateriels != 0) { | |
126 | + if (isset($SELECTED_STATUS) && $nbMateriels != 0) { | |
93 | 127 | echo $this->Html->link('<i class="icon-check"></i> Tout cocher', '#all', [ |
94 | 128 | 'onclick' => 'selectAll()', |
95 | 129 | 'title' => 'Sélectionner tout les matériels', |
... | ... | @@ -127,15 +161,15 @@ echo $this->Form->control('aff_par_defaut', [ |
127 | 161 | if ($nbMateriels > 0) { |
128 | 162 | // $form2 = $this->Form; |
129 | 163 | // /echo $this->Form->create('materiels', ['url' => '/materiels/execActions']); |
130 | - if (isset($STATUS)) | |
164 | + if (isset($SELECTED_STATUS)) | |
131 | 165 | echo $this->Form->hidden('what', [ |
132 | - 'value' => $STATUS | |
166 | + 'value' => $SELECTED_STATUS | |
133 | 167 | ]); |
134 | 168 | ?> |
135 | 169 | <table style="border-collapse: separate; border-spacing: 0;"> |
136 | 170 | <thead> |
137 | 171 | <tr> |
138 | - <?php if (isset($STATUS)) { echo '<th></th>'; }?> | |
172 | + <?php if (isset($SELECTED_STATUS)) { echo '<th></th>'; }?> | |
139 | 173 | <th class="actions"><?= __('') ?></th> |
140 | 174 | <th><?= $this->Paginator->sort('designation','Désignation') ?></th> |
141 | 175 | <th><?= $this->Paginator->sort('numero_laboratoire', 'N° interne (labo)') ?></th> |
... | ... | @@ -157,7 +191,15 @@ if ($nbMateriels > 0) { |
157 | 191 | $time = Time::now(); // On récupère la date et l'heure actuelles |
158 | 192 | $today = new date("$time->year-$time->month-$time->day"); // On extrait la date pour la vérification de fin de garantie |
159 | 193 | $today = $today->format('Ydm'); // On formatte la date initialement en 31-12-2000 (par exemple) en un format qui pourra etre comparé : 20001231 |
194 | + | |
160 | 195 | foreach ($materiels as $materiel) : |
196 | + | |
197 | + $USER_IS_CREATOR_OR_OWNER = in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]); | |
198 | + $USER_IS_SAME_GROUP = ( | |
199 | + ( isset($priviledgedUser->groupes_metier_id) && $priviledgedUser->groupes_metier_id!=$idGmNa && $materiel->groupes_metier_id==$priviledgedUser->groupes_metier_id ) | |
200 | + || | |
201 | + ( isset($priviledgedUser->groupe_thematique_id) && $priviledgedUser->groupe_thematique_id!=$idGtNa && $materiel->groupes_thematique_id==$priviledgedUser->groupe_thematique_id ) | |
202 | + ); | |
161 | 203 | |
162 | 204 | if ($materiel->date_fin_garantie !== NULL) { |
163 | 205 | $timeFin = new time($materiel->date_fin_garantie); |
... | ... | @@ -170,10 +212,10 @@ if ($nbMateriels > 0) { |
170 | 212 | $styleLien = ''; |
171 | 213 | ?> |
172 | 214 | |
173 | - <tr> | |
174 | - <?php | |
215 | + <tr> | |
216 | + <?php | |
175 | 217 | |
176 | -if (isset($STATUS)) { | |
218 | + if (isset($SELECTED_STATUS)) { | |
177 | 219 | echo '<td class="smallText">' . $this->Form->checkbox($materiel->id, [ |
178 | 220 | 'style' => 'margin: 3px', |
179 | 221 | 'id' => $materiel->id |
... | ... | @@ -181,38 +223,34 @@ if (isset($STATUS)) { |
181 | 223 | } |
182 | 224 | ?> |
183 | 225 | |
184 | - <td class="actions" | |
185 | - style="padding: 6px 0; text-align: left;"> | |
186 | - <?php | |
226 | + <td class="actions" | |
227 | + style="padding: 6px 0; text-align: left;"> | |
228 | + <?php | |
187 | 229 | |
188 | -if (in_array($materiel->status, [ | |
189 | - 'CREATED', | |
190 | - // (EP 17/5/19) ben non, on peut pas si c'est validé !!! | |
191 | - //'VALIDATED' | |
192 | - ])) : | |
193 | - if (($role == 'Utilisateur' && (in_array($username, [ | |
194 | - $materiel->nom_createur, | |
195 | - $materiel->nom_responsable | |
196 | - ]))) || (in_array($role, [ | |
197 | - 'Administration', | |
198 | - 'Administration Plus', | |
199 | - 'Super Administrateur' | |
200 | - ])) || ($role == 'Responsable' && (in_array($username, [ | |
201 | - $materiel ->nom_createur, | |
202 | - $materiel ->nom_responsable | |
203 | - ]))) ||($role == 'Responsable' && ((isset($priviledgedUser->groupes_metier_id) && $priviledgedUser->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $priviledgedUser->groupes_metier_id) || (isset($priviledgedUser->groupe_thematique_id) && $priviledgedUser->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $priviledgedUser->groupe_thematique_id)))) { | |
204 | - ?> | |
205 | - <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $materiel->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> | |
206 | - <?php } endif; ?> | |
207 | - | |
208 | - <?php | |
209 | - if (in_array($role, [ | |
210 | - 'Administration', | |
211 | - 'Administration Plus', | |
212 | - 'Super Administrateur' | |
213 | - ]) || ($role == 'Responsable' && ((isset($priviledgedUser->groupes_metier_id) && $priviledgedUser->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $priviledgedUser->groupes_metier_id) || (isset($priviledgedUser->groupe_thematique_id) && $priviledgedUser->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $priviledgedUser->groupe_thematique_id)))) { | |
214 | - | |
215 | - if (h($materiel->status) == 'CREATED' && $role != 'Responsable') { | |
230 | + // 1) EDIT icon | |
231 | + if ( | |
232 | + in_array($materiel->status, [ | |
233 | + 'CREATED', | |
234 | + // (EP 17/5/19) ben non, on peut pas si c'est validé !!! | |
235 | + //'VALIDATED' | |
236 | + ]) | |
237 | + && | |
238 | + ( | |
239 | + $USER_IS_ADMIN_OR_MORE | |
240 | + || | |
241 | + $USER_IS_CREATOR_OR_OWNER | |
242 | + || | |
243 | + ($USER_IS_RESPONSABLE && $USER_IS_SAME_GROUP) | |
244 | + ) | |
245 | + ) echo $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $materiel->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]); | |
246 | + | |
247 | + // 2) VALIDER/TBA/ARCHIVER icon | |
248 | + if ( | |
249 | + $USER_IS_ADMIN | |
250 | + || | |
251 | + ($USER_IS_RESPONSABLE && $USER_IS_SAME_GROUP) | |
252 | + ) { | |
253 | + if ($materiel->status=='CREATED' && !$USER_IS_RESPONSABLE) { | |
216 | 254 | echo $this->Html->link('<i class="icon-ok-sign"></i>', [ |
217 | 255 | 'action' => 'statusValidated', |
218 | 256 | $materiel->id |
... | ... | @@ -222,7 +260,8 @@ if (in_array($materiel->status, [ |
222 | 260 | 'escape' => false, |
223 | 261 | 'confirm' => 'Êtes-vous sur de vouloir valider ' . $materiel->designation . ' ?' |
224 | 262 | ]); |
225 | - } else if (h($materiel->status) == 'VALIDATED') { | |
263 | + } | |
264 | + else if (h($materiel->status) == 'VALIDATED') { | |
226 | 265 | echo $this->Html->link('<i class="icon-inbox"></i>', [ |
227 | 266 | 'action' => 'statusToBeArchived', |
228 | 267 | $materiel->id |
... | ... | @@ -232,10 +271,8 @@ if (in_array($materiel->status, [ |
232 | 271 | 'escape' => false, |
233 | 272 | 'confirm' => 'Êtes-vous sur de vouloir faire une demande d\'archive ' . $materiel->designation . ' ?' |
234 | 273 | ]); |
235 | - } else if (h($materiel->status && $role != 'Responsable') == 'TOBEARCHIVED' && ! in_array($role, [ | |
236 | - 'Responsable', | |
237 | - 'Super Administrateur' | |
238 | - ])) { | |
274 | + } | |
275 | + else if ($materiel->status=='TOBEARCHIVED' && !$USER_IS_RESPONSABLE) | |
239 | 276 | echo $this->Html->link('<i class="icon-inbox"></i>', [ |
240 | 277 | 'action' => 'statusArchived', |
241 | 278 | $materiel->id |
... | ... | @@ -245,15 +282,17 @@ if (in_array($materiel->status, [ |
245 | 282 | 'escape' => false, |
246 | 283 | 'confirm' => 'Êtes-vous sur de vouloir archiver ' . $materiel->designation . ' ?' |
247 | 284 | ]); |
248 | - } | |
249 | 285 | } |
250 | 286 | |
287 | + // 3) DELETE icon | |
251 | 288 | if (h($materiel->status) == 'CREATED') { |
252 | - if (($role != 'Utilisateur' && $role != 'Responsable') || in_array($username, [ | |
253 | - $materiel->nom_createur, | |
254 | - $materiel->nom_responsable | |
255 | - ]) || ($role == 'Responsable' && ((isset($priviledgedUser->groupes_metier_id) && $priviledgedUser->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $priviledgedUser->groupes_metier_id) || (isset($priviledgedUser->groupe_thematique_id) && $priviledgedUser->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $priviledgedUser->groupe_thematique_id)))) { | |
256 | - echo $this->Html->link(__('<i class="icon-trash"></i>'), [ | |
289 | + if ( | |
290 | + $USER_IS_ADMIN_OR_MORE | |
291 | + || | |
292 | + $USER_IS_CREATOR_OR_OWNER | |
293 | + || | |
294 | + ($USER_IS_RESPONSABLE && $USER_IS_SAME_GROUP) | |
295 | + ) echo $this->Html->link(__('<i class="icon-trash"></i>'), [ | |
257 | 296 | 'action' => 'delete', |
258 | 297 | $materiel->id |
259 | 298 | ], [ |
... | ... | @@ -262,8 +301,9 @@ if (in_array($materiel->status, [ |
262 | 301 | 'escape' => false, |
263 | 302 | 'confirm' => __('Êtes-vous sur de vouloir supprimer {0} ?', $materiel->designation) |
264 | 303 | ]); |
265 | - } | |
266 | 304 | } |
305 | + | |
306 | + // 4) DATA (designation, num labo, hs, categ, ...) | |
267 | 307 | ?> |
268 | 308 | </td> |
269 | 309 | <td class="smallText"><?= $materiel->has('designation') ? $this->Html->link($materiel->designation, ['controller' => 'Materiels', 'action' => 'view', $materiel->id],[$styleLien]) : '' ?></td> |
... | ... | @@ -274,45 +314,50 @@ if (in_array($materiel->status, [ |
274 | 314 | <td class="smallText"><?= h($materiel->numero_inventaire_organisme) ?></td> |
275 | 315 | <td class="smallText"><?= h($materiel->nom_responsable) ?></td> |
276 | 316 | |
277 | - <?php | |
317 | + <?php | |
318 | + // 5) MATERIEL STATUS : C/V/TBA/A | |
278 | 319 | switch (h($materiel->status)) { |
279 | - | |
280 | 320 | case 'CREATED': |
281 | 321 | $statut = 'C'; |
282 | 322 | break; |
283 | - | |
284 | 323 | case 'VALIDATED': |
285 | 324 | $statut = 'V'; |
286 | 325 | break; |
287 | - | |
288 | 326 | case 'TOBEARCHIVED': |
289 | 327 | $statut = 'TBA'; |
290 | 328 | break; |
291 | - | |
292 | 329 | case 'ARCHIVED': |
293 | 330 | $statut = 'A'; |
294 | 331 | break; |
295 | - | |
296 | 332 | default: |
297 | 333 | $statut = ''; |
298 | 334 | break; |
299 | 335 | } |
300 | 336 | ?> |
301 | - <td class="smallText"><?= $statut ?></td> | |
302 | - <td class="smallText"><?= h($materiel->date_acquisition) ?></td> | |
303 | - <td class="smallText"><?= h($materiel->etiquette)=='1' ? 'Y':'N' ?></td> | |
304 | - <?php if ($METRO) | |
305 | - echo '<td class="smallText">'. (h($materiel->metrologie)=='1' ? 'Y':'N').'</td>'; | |
306 | - ?> | |
337 | + <td class="smallText"><?= $statut ?></td> | |
338 | + | |
339 | + | |
340 | + <!-- | |
341 | + // 6) Date acquisition et Etiquette posée | |
342 | + --> | |
343 | + <td class="smallText"><?= h($materiel->date_acquisition) ?></td> | |
344 | + <td class="smallText"><?= h($materiel->etiquette)=='1' ? 'Y':'N' ?></td> | |
307 | 345 | |
308 | - </tr> | |
309 | - <?php endforeach; ?> | |
310 | - </tbody> | |
346 | + <!-- | |
347 | + // 7) METRO o/n | |
348 | + --> | |
349 | + <?php if ($METRO) | |
350 | + echo '<td class="smallText">'. (h($materiel->metrologie)=='1' ? 'Y':'N').'</td>'; | |
351 | + ?> | |
352 | + | |
353 | + </tr> | |
354 | + <?php endforeach; ?> | |
355 | + </tbody> | |
311 | 356 | </table> |
312 | 357 | |
313 | 358 | <?php |
314 | - if (isset($STATUS)) { | |
315 | - switch ($STATUS) { | |
359 | + if (isset($SELECTED_STATUS)) { | |
360 | + switch ($SELECTED_STATUS) { | |
316 | 361 | case 'CREATED': |
317 | 362 | $action = 'Valider les'; |
318 | 363 | break; |
... | ... | @@ -324,8 +369,9 @@ if (in_array($materiel->status, [ |
324 | 369 | break; |
325 | 370 | } |
326 | 371 | |
327 | - if ($STATUS != 'ARCHIVED') { | |
328 | - if (! ($role == 'Super Administrateur' && $STATUS == 'TOBEARCHIVED')) { | |
372 | + if ($SELECTED_STATUS != 'ARCHIVED') { | |
373 | + //if (! ($role == 'Super Administrateur' && $SELECTED_STATUS == 'TOBEARCHIVED')) { | |
374 | + if (! ($USER_IS_SUPERADMIN && $SELECTED_STATUS=='TOBEARCHIVED') ) { | |
329 | 375 | echo $this->Form->submit($action . ' matériels cochés', [ |
330 | 376 | 'name' => 'updateSelectedStatus', |
331 | 377 | 'id' => 'updateSelectedStatus', |
... | ... | @@ -342,26 +388,19 @@ if (in_array($materiel->status, [ |
342 | 388 | echo "<br /><br />"; |
343 | 389 | } |
344 | 390 | |
345 | - if (in_array($role, [ | |
346 | - 'Responsable', | |
347 | - 'Administration', | |
348 | - 'Administration Plus', | |
349 | - 'Super Administrateur' | |
350 | - ])) : | |
391 | + if ($USER_IS_ADMIN_OR_MORE || $USER_IS_RESPONSABLE) | |
351 | 392 | echo $this->Form->submit('Exporter la liste complete (toutes les pages)', [ |
352 | 393 | 'name' => 'exportAll', |
353 | 394 | 'id' => 'exportAll', |
354 | 395 | 'style' => 'margin: 0px;' |
355 | 396 | ]); |
356 | - endif; | |
357 | - | |
358 | - ?> | |
359 | 397 | |
360 | - <?php echo $this->element('pagination_with_first_and_last'); ?> | |
398 | + echo $this->element('pagination_with_first_and_last'); | |
361 | 399 | |
362 | - <?= $this->Form->end()?> | |
363 | - <?php | |
364 | -} else { | |
400 | + $this->Form->end(); | |
401 | +} | |
402 | + | |
403 | +else { | |
365 | 404 | echo 'Aucun matériel'; |
366 | 405 | } |
367 | 406 | ?> | ... | ... |
src/Template/Materiels/view.ctp
... | ... | @@ -11,6 +11,7 @@ use Cake\ORM\TableRegistry; |
11 | 11 | $PDF_ENGINE = $PDF_ENGINE; |
12 | 12 | |
13 | 13 | // - User status: |
14 | +$role = $role; | |
14 | 15 | $username = $username; |
15 | 16 | $priviledgedUser = $priviledgedUser; |
16 | 17 | $USER_IS_UTILISATEUR = $USER_IS_UTILISATEUR; |
... | ... | @@ -189,11 +190,11 @@ $CAN_PRINT_LABEL = $IS_VALIDATED && $configuration->hasPrinter && $USER_IS_ADMIN |
189 | 190 | * informations de la photo pour retrouver son nom et l'afficher, l'id ne suffit plus |
190 | 191 | * on parcourt donc les documents liés à ce matériel |
191 | 192 | */ |
192 | - foreach ($materiel->documents as $documents) { | |
193 | + foreach ($materiel->documents as $document) { | |
193 | 194 | // et si le document est la photo liée, on l'affiche, pour cela |
194 | - if($documents->photo) { | |
195 | + if($document->photo) { | |
195 | 196 | //on récupère le doc |
196 | - $photo = $documents; | |
197 | + $photo = $document; | |
197 | 198 | //on reconstitue le nom a partir des paramètres (idmat_nom_id.extension) |
198 | 199 | $nomPhoto = $photo->materiel_id . "_" . $photo->nom . "_" . $photo->id . "." .$photo->type_doc; |
199 | 200 | |
... | ... | @@ -229,13 +230,15 @@ $CAN_PRINT_LABEL = $IS_VALIDATED && $configuration->hasPrinter && $USER_IS_ADMIN |
229 | 230 | |
230 | 231 | // --- (1) BOUTONS 1st row --- |
231 | 232 | |
233 | + $bStyle = 'margin-right: 10px'; | |
234 | + | |
232 | 235 | // BOUTON "Editer" |
233 | - if ($CAN_EDIT) $echoActionButton($this->Html, 'icon-pencil', 'Editer ce matériel', 'materiels', 'edit', $materiel->id); | |
236 | + if ($CAN_EDIT) $echoActionButton($this->Html, 'icon-pencil', $bStyle, ' Editer ce matériel', 'materiels', 'edit', $materiel->id); | |
234 | 237 | |
235 | 238 | // BOUTONS "NOUVEAU SUIVI" et "NOUVEL EMPRUNT" |
236 | 239 | // if ($materiel->status == 'VALIDATED') { |
237 | 240 | if ($IS_VALIDATED) { |
238 | - $echoActionButton($this->Html, 'icon-plus', 'Nouv. Suivi', 'suivis', 'add', $materiel->id, [], 'Faire un nouveau suivi de ce matériel'); | |
241 | + $echoActionButton($this->Html, 'icon-plus', $bStyle, ' Nouv. Suivi', 'suivis', 'add', $materiel->id, [], 'Faire un nouveau suivi de ce matériel'); | |
239 | 242 | /* |
240 | 243 | echo $this->Html->link('<i class="icon-plus"></i> Nouv. Suivi', [ |
241 | 244 | 'controller' => 'suivis', |
... | ... | @@ -247,17 +250,17 @@ $CAN_PRINT_LABEL = $IS_VALIDATED && $configuration->hasPrinter && $USER_IS_ADMIN |
247 | 250 | 'escape' => false |
248 | 251 | ]); // End link |
249 | 252 | */ |
250 | - $echoActionButton($this->Html, 'icon-plus', 'Nouv. Emprunt', 'emprunts', 'add', $materiel->id, [], 'Faire un nouvel emprunt de ce matériel'); | |
253 | + $echoActionButton($this->Html, 'icon-plus', $bStyle, ' Nouv. Emprunt', 'emprunts', 'add', $materiel->id, [], 'Faire un nouvel emprunt de ce matériel'); | |
251 | 254 | } |
252 | 255 | |
253 | 256 | // BOUTONS "Lier un Doc" et "Remplacer/Lier photo" |
254 | 257 | if ($CAN_ATTACH_A_DOC) { |
255 | - $echoActionButton($this->Html, 'icon-file', 'Lier un Doc.', 'documents', 'add', $materiel->id, ['mat'], 'Attacher un Doc. à ce matériel'); | |
258 | + $echoActionButton($this->Html, 'icon-file', $bStyle, ' Lier un Doc.', 'documents', 'add', $materiel->id, ['mat'], 'Attacher un Doc. à ce matériel'); | |
256 | 259 | // BOUTON "photo" |
257 | 260 | if ($materiel->photo_id != null) |
258 | - $echoActionButton($this->Html, 'icon-file', 'Remplacer la photo.', 'documents', 'add', $materiel->id, ['mat', 'photo'], 'Remplacer la photo de ce matériel'); | |
261 | + $echoActionButton($this->Html, 'icon-file', $bStyle, ' Remplacer la photo.', 'documents', 'add', $materiel->id, ['mat', 'photo'], 'Remplacer la photo de ce matériel'); | |
259 | 262 | else |
260 | - $echoActionButton($this->Html, 'icon-file', 'Lier une photo.', 'documents', 'add', $materiel->id, ['mat', 'photo'], 'Attacher une photo à ce matériel'); | |
263 | + $echoActionButton($this->Html, 'icon-file', $bStyle, ' Lier une photo.', 'documents', 'add', $materiel->id, ['mat', 'photo'], 'Attacher une photo à ce matériel'); | |
261 | 264 | } |
262 | 265 | |
263 | 266 | // BOUTONS Doc admission et sortie (admin+) |
... | ... | @@ -276,7 +279,7 @@ $CAN_PRINT_LABEL = $IS_VALIDATED && $configuration->hasPrinter && $USER_IS_ADMIN |
276 | 279 | $data = $materiel->numero_laboratoire . ".pdf"; |
277 | 280 | } |
278 | 281 | // if (($materiel->status == 'VALIDATED') || ($materiel->status == 'CREATED')) { |
279 | - $echoActionButton($this->Html, 'icon-file', 'Doc. admission', 'documents', $action, $data, [], "Voir le document d'admission"); | |
282 | + $echoActionButton($this->Html, 'icon-file', $bStyle, ' Doc. admission', 'documents', $action, $data, [], "Voir le document d'admission"); | |
280 | 283 | } |
281 | 284 | |
282 | 285 | // Doc sortie (admin only) |
... | ... | @@ -292,7 +295,7 @@ $CAN_PRINT_LABEL = $IS_VALIDATED && $configuration->hasPrinter && $USER_IS_ADMIN |
292 | 295 | $data = $materiel->numero_laboratoire . ".pdf"; |
293 | 296 | } |
294 | 297 | // else if (($materiel->status == 'ARCHIVED') || ($materiel->status == 'TOBEARCHIVED')) { |
295 | - $echoActionButton($this->Html, 'icon-file', 'Doc. sortie', 'documents', $action, $data, [], "Voir le document de sortie"); | |
298 | + $echoActionButton($this->Html, 'icon-file', $bStyle, ' Doc. sortie', 'documents', $action, $data, [], "Voir le document de sortie"); | |
296 | 299 | } |
297 | 300 | |
298 | 301 | } // Doc admission et sortie |
... | ... | @@ -306,47 +309,45 @@ $CAN_PRINT_LABEL = $IS_VALIDATED && $configuration->hasPrinter && $USER_IS_ADMIN |
306 | 309 | // En pratique, il suffit que un seul bouton de cette ligne aie ce style (pas nécessaire pour les autres) |
307 | 310 | // Mais bon, c'est difficile de savoir lequel sera toujours présent... |
308 | 311 | // Donc, on applique ce style à TOUS les boutons de cette 2e ligne |
309 | - $moreButtonStyle = '; margin-top:10px; display:inline-block'; | |
310 | - $moreButtonStyleRed = $moreButtonStyle . '; color:red'; | |
312 | + $bStyle2 = $bStyle.'; margin-top:10px; display:inline-block'; | |
313 | + $bStyle2Red = $bStyle2 . '; color:red'; | |
311 | 314 | // BOUTON de changement de statut : Valider, Invalider, Demander archivage, ou Archiver |
312 | 315 | if ($USER_IS_ADMIN_OR_MORE || ($USER_IS_RESPONSABLE && $USER_IS_SAME_GROUP)) { |
313 | 316 | // CREATED |
314 | 317 | if ($IS_CREATED) |
315 | 318 | // Bouton VALIDER |
316 | - $echoActionButton($this->Html, 'icon-ok-sign', 'Valider', '', 'statusValidated', $materiel->id, [], "Valider ce matériel", '', $moreButtonStyleRed); | |
319 | + $echoActionButton($this->Html, 'icon-ok-sign', $bStyle2Red, ' Valider', '', 'statusValidated', $materiel->id, [], "Valider ce matériel"); | |
317 | 320 | // VALIDATED or more |
318 | 321 | else { |
319 | 322 | // Bouton Invalider |
320 | - $echoActionButton($this->Html, 'icon-remove-sign', 'Invalider', '', 'statusCreated', $materiel->id, [], | |
321 | - "dé-valider le matériel (le repasser au statut Créé, il faudra le re-valider ensuite)", | |
322 | - '', $moreButtonStyleRed | |
323 | + $echoActionButton($this->Html, 'icon-remove-sign', $bStyle2Red, ' Invalider', '', 'statusCreated', $materiel->id, [], | |
324 | + "dé-valider le matériel (le repasser au statut Créé, il faudra le re-valider ensuite)" | |
323 | 325 | ); |
324 | 326 | // Bouton TBA |
325 | - if ($IS_VALIDATED) $echoActionButton($this->Html, 'icon-ok-sign', 'Demander sortie', '', 'statusToBeArchived', $materiel->id, [], | |
326 | - "Demander la sortie de l'inventaire", '', $moreButtonStyleRed | |
327 | + if ($IS_VALIDATED) $echoActionButton($this->Html, 'icon-ok-sign', $bStyle2Red, ' Demander sortie', '', 'statusToBeArchived', $materiel->id, [], | |
328 | + "Demander la sortie de l'inventaire" | |
327 | 329 | ); |
328 | 330 | // Bouton ARCHIVER |
329 | 331 | //if ($IS_TOBEARCHIVED && $role!='Responsable') $echoActionButton( |
330 | 332 | if ($IS_TOBEARCHIVED && $USER_IS_ADMIN_OR_MORE) $echoActionButton( |
331 | - $this->Html, 'icon-ok-sign', 'Sortie inventaire', '', 'statusArchived', $materiel->id, [], | |
333 | + $this->Html, 'icon-ok-sign', $bStyle2Red, ' Sortie inventaire', '', 'statusArchived', $materiel->id, [], | |
332 | 334 | "Sortir définitivement de l'inventaire", |
333 | - "Êtes-vous sur de bien vouloir archiver $materiel->designation ?", | |
334 | - $moreButtonStyleRed | |
335 | + "Êtes-vous sur de bien vouloir archiver $materiel->designation ?" | |
335 | 336 | ); |
336 | 337 | } |
337 | 338 | } |
338 | 339 | |
339 | 340 | // BOUTON Copier (seulement pour les materiels qui sont CREATED et pour les ADMINet+ ou USER owner) |
340 | - if ($CAN_COPY) $echoActionButton($this->Html, 'icon-plus', 'Copier ce matériel', '', 'add', $materiel->id, [], "Copier ce matériel"); | |
341 | + if ($CAN_COPY) $echoActionButton($this->Html, 'icon-plus', $bStyle, ' Copier ce matériel', '', 'add', $materiel->id, [], "Copier ce matériel"); | |
341 | 342 | |
342 | 343 | // BOUTON ETIQUETTE (si imprimante disponible) |
343 | 344 | if ($CAN_PRINT_LABEL) { |
344 | 345 | // - Bouton "Imprimer sur un ruban" |
345 | - $echoActionButton($this->Html, 'icon-print', 'Impr. étiquette', '', 'printLabelRuban', h($materiel->id), [], "Imprimer sur un ruban"); | |
346 | + $echoActionButton($this->Html, 'icon-print', $bStyle, ' Impr. étiquette', '', 'printLabelRuban', h($materiel->id), [], "Imprimer sur un ruban"); | |
346 | 347 | // - Bouton "Etiquette posée" |
347 | 348 | $echoActionButton( |
348 | - $this->Html, 'icon-file', | |
349 | - $materiel->etiquette ? "Etiquette NON collée" : "Etiquette collée", | |
349 | + $this->Html, 'icon-file', $bStyle, | |
350 | + $materiel->etiquette ? " Etiquette NON collée" : " Etiquette collée", | |
350 | 351 | 'materiels', |
351 | 352 | $materiel->etiquette ? 'setLabelIsNotPlaced' : 'setLabelIsPlaced', |
352 | 353 | h($materiel->id), ['view'], |
... | ... | @@ -359,6 +360,7 @@ $CAN_PRINT_LABEL = $IS_VALIDATED && $configuration->hasPrinter && $USER_IS_ADMIN |
359 | 360 | } |
360 | 361 | |
361 | 362 | // BOUTON "Voir fiche matériel" |
363 | + $bStyleGreen = $bStyle.'; background: green; color: white'; | |
362 | 364 | echo "<br/>"; |
363 | 365 | echo "<br/>"; |
364 | 366 | // echo '<div id="fiche pdf" style="margin-bottom: 20px; width: 100%; float: none; padding: 10px 0;">'; |
... | ... | @@ -370,12 +372,10 @@ $CAN_PRINT_LABEL = $IS_VALIDATED && $configuration->hasPrinter && $USER_IS_ADMIN |
370 | 372 | else { |
371 | 373 | // DOMPDF |
372 | 374 | $action = 'fiche_materiel_pdf'; |
373 | - $data = $materiel->numero_laboratoire . ".pdf"; | |
375 | + $data = $materiel->numero_laboratoire.'.pdf'; | |
374 | 376 | } |
375 | - $echoActionButton($this->Html, 'icon-file', 'Fiche PDF du matériel', 'documents', $action, $data, [], | |
376 | - "Voir la fiche du materiel", | |
377 | - '', | |
378 | - '; background: green; color: white' | |
377 | + $echoActionButton($this->Html, 'icon-file', $bStyleGreen, ' Fiche PDF du matériel', 'documents', $action, $data, [], | |
378 | + "Voir la fiche du materiel" | |
379 | 379 | ); |
380 | 380 | |
381 | 381 | |
... | ... | @@ -507,9 +507,11 @@ if ($USER_IS_ADMIN_OR_MORE) { |
507 | 507 | echo '</table>'; |
508 | 508 | echo '</div>'; |
509 | 509 | } |
510 | -?> | |
511 | 510 | |
512 | 511 | |
512 | +$bStyle = 'margin:0'; | |
513 | +?> | |
514 | + | |
513 | 515 | <!-- SUIVIS --> |
514 | 516 | |
515 | 517 | <h3 id="t_suivis" style="cursor: pointer;"> |
... | ... | @@ -528,7 +530,7 @@ if ($USER_IS_ADMIN_OR_MORE) { |
528 | 530 | <th><?=__('Date fin / Repetition')?></th> |
529 | 531 | <th><?=__('Statut')?></th> |
530 | 532 | </tr> |
531 | - <?php foreach ($materiel->suivis as $suivis) :?> | |
533 | + <?php foreach ($materiel->suivis as $suivi) :?> | |
532 | 534 | <tr> |
533 | 535 | <td class="actions" style="padding: 6px 0; text-align: left;"> |
534 | 536 | <?php |
... | ... | @@ -540,41 +542,44 @@ if ($USER_IS_ADMIN_OR_MORE) { |
540 | 542 | */ |
541 | 543 | if ($CAN_MANAGE_SUIVIS) { |
542 | 544 | // Edit Suivis |
543 | - // TODO: | |
544 | - //$echoActionButton($this->Html, 'icon-pencil', 'Impr. étiquette', 'Suivis', 'edit', $suivis->id, [], "Imprimer sur un ruban"); | |
545 | - echo $this->Html->link(__('<i class="icon-pencil"></i>'), [ | |
545 | + $echoActionButton($this->Html, 'icon-pencil', $bStyle, '', 'Suivis', 'edit', $suivi->id); | |
546 | + /* | |
547 | + echo $this->Html->link(__('<i class="icon-pencil"></i>'), [ | |
546 | 548 | 'controller' => 'Suivis', |
547 | 549 | 'action' => 'edit', |
548 | - $suivis->id | |
550 | + $suivi->id | |
549 | 551 | ], [ |
550 | 552 | 'escape' => false, |
551 | 553 | 'style' => 'margin:0' |
552 | 554 | ]); |
555 | + */ | |
553 | 556 | // Delete Suivis |
554 | - echo $this->Form->postLink(__('<i class="icon-trash"></i>'), [ | |
557 | + //TODO: postLink ??? kesako ? | |
558 | + //$echoActionButton($this->Html, 'icon-trash', $bStyle, '', 'Suivis', 'delete', $suivi->id, [], "", ""); | |
559 | + echo $this->Form->postLink(__('<i class="icon-trash"></i>'), [ | |
555 | 560 | 'controller' => 'Suivis', |
556 | 561 | 'action' => 'delete', |
557 | - $suivis->id | |
562 | + $suivi->id | |
558 | 563 | ], [ |
559 | 564 | 'escape' => false, |
560 | 565 | 'style' => 'margin:0', |
561 | - 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $suivis->id) | |
566 | + 'confirm' => __('Êtes-vous sur de vouloir annuler ce suivi #{0} ?', $suivi->id) | |
562 | 567 | ]); |
563 | 568 | } |
564 | 569 | ?> |
565 | 570 | </td> |
566 | - <td><?=$this->Html->link('Suivi ' . $suivis->id, ['controller' => 'suivis','action' => 'view',$suivis->id])?></td> | |
567 | - <td><?=$typeSuivis->find()->where(['id =' => h($suivis->type_suivi_id)])->first()['nom'];?></td> | |
568 | - <td><?=h($suivis->intitule)?></td> | |
571 | + <td><?=$this->Html->link('Suivi ' . $suivi->id, ['controller' => 'suivis','action' => 'view',$suivi->id])?></td> | |
572 | + <td><?=$typeSuivis->find()->where(['id =' => h($suivi->type_suivi_id)])->first()['nom'];?></td> | |
573 | + <td><?=h($suivi->intitule)?></td> | |
569 | 574 | |
570 | - <?php if ($typeSuivis->find()->where(['id =' => h($suivis->type_suivi_id)])->first()['nom'] == "Panne" ) {?> | |
571 | - <td><?=h($suivis->date_controle)?></td> | |
572 | - <td><?=h($suivis->date_prochain_controle)?></td> | |
575 | + <?php if ($typeSuivis->find()->where(['id =' => h($suivi->type_suivi_id)])->first()['nom'] == "Panne" ) {?> | |
576 | + <td><?=h($suivi->date_controle)?></td> | |
577 | + <td><?=h($suivi->date_prochain_controle)?></td> | |
573 | 578 | <?php } else { ?> |
574 | - <td><?=h($suivis->frequence)?></td> | |
575 | - <td><?=h($suivis->type_frequence)?></td> | |
579 | + <td><?=h($suivi->frequence)?></td> | |
580 | + <td><?=h($suivi->type_frequence)?></td> | |
576 | 581 | <?php } ?> |
577 | - <td><?=h($suivis->statut)?></td> | |
582 | + <td><?=h($suivi->statut)?></td> | |
578 | 583 | </tr> |
579 | 584 | <?php endforeach;?> |
580 | 585 | |
... | ... | @@ -585,6 +590,7 @@ if ($USER_IS_ADMIN_OR_MORE) { |
585 | 590 | } |
586 | 591 | ?> |
587 | 592 | </div> |
593 | + <!-- FIN SUIVIS --> | |
588 | 594 | |
589 | 595 | |
590 | 596 | <!-- EMPRUNTS --> |
... | ... | @@ -625,6 +631,8 @@ if ($USER_IS_ADMIN_OR_MORE) { |
625 | 631 | //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 ) { |
626 | 632 | if ($CAN_MANAGE_EMPRUNTS) { |
627 | 633 | // Edit Emprunt |
634 | + $echoActionButton($this->Html, 'icon-pencil', $bStyle, '', 'Emprunts', 'edit', $emprunt->id); | |
635 | + /* | |
628 | 636 | echo $this->Html->link(__('<i class="icon-pencil"></i>'), [ |
629 | 637 | 'controller' => 'Emprunts', |
630 | 638 | 'action' => 'edit', |
... | ... | @@ -633,6 +641,7 @@ if ($USER_IS_ADMIN_OR_MORE) { |
633 | 641 | 'escape' => false, |
634 | 642 | 'style' => 'margin:0' |
635 | 643 | ]); |
644 | + */ | |
636 | 645 | // Delete Emprunt |
637 | 646 | echo $this->Form->postLink(__('<i class="icon-trash"></i>'), [ |
638 | 647 | 'controller' => 'Emprunts', |
... | ... | @@ -641,7 +650,7 @@ if ($USER_IS_ADMIN_OR_MORE) { |
641 | 650 | ], [ |
642 | 651 | 'escape' => false, |
643 | 652 | 'style' => 'margin:0', |
644 | - 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $emprunt->id) | |
653 | + 'confirm' => __('Êtes-vous sur de vouloir annuler cet emprunt #{0}?', $emprunt->id) | |
645 | 654 | ]); |
646 | 655 | } |
647 | 656 | ?> |
... | ... | @@ -661,7 +670,7 @@ if ($USER_IS_ADMIN_OR_MORE) { |
661 | 670 | } |
662 | 671 | ?> |
663 | 672 | </div> |
664 | - <!-- EMPRUNTS --> | |
673 | + <!-- FIN EMPRUNTS --> | |
665 | 674 | |
666 | 675 | |
667 | 676 | <!-- FICHIERS liés --> |
... | ... | @@ -681,25 +690,27 @@ if ($USER_IS_ADMIN_OR_MORE) { |
681 | 690 | <th><?=__('Miniature')?></th> |
682 | 691 | </tr> |
683 | 692 | <?php |
684 | - foreach ($materiel->documents as $documents) : | |
685 | - $p = ($documents->photo) ? 'Oui' : ''; | |
693 | + foreach ($materiel->documents as $document) : | |
694 | + | |
695 | + $p = ($document->photo) ? 'Oui' : ''; | |
686 | 696 | $type = $typeDocuments->find() |
687 | 697 | ->where([ |
688 | - 'id =' => h($documents->type_document_id) | |
698 | + 'id =' => h($document->type_document_id) | |
689 | 699 | ]) |
690 | 700 | ->first()['nom']; |
691 | 701 | ?> |
692 | 702 | <tr> |
693 | 703 | <td class="actions" style="padding: 6px 0; text-align: left;"> |
694 | 704 | <?php |
695 | - if ($documents->photo) { | |
696 | - echo $this->Html->link(__('<i class="icon-download-alt"></i>'), '/webroot/img/photos/' . $documents->materiel_id .'_' . $documents->nom.'_'. $documents->id . '.' . $documents->type_doc, [ | |
705 | + if ($document->photo) { | |
706 | + // TODO: $echoActionButton() | |
707 | + echo $this->Html->link(__('<i class="icon-download-alt"></i>'), '/webroot/img/photos/' . $document->materiel_id .'_' . $document->nom.'_'. $document->id . '.' . $document->type_doc, [ | |
697 | 708 | 'title' => 'Télécharger', |
698 | 709 | 'style' => 'margin:0', |
699 | 710 | 'escape' => false |
700 | 711 | ]); |
701 | 712 | } else { |
702 | - echo $this->Html->link(__('<i class="icon-download-alt"></i>'), '/webroot/files/' . $documents->materiel_id .'_' . $documents->nom.'_'. $documents->id . '.' . $documents->type_doc, [ | |
713 | + echo $this->Html->link(__('<i class="icon-download-alt"></i>'), '/webroot/files/' . $document->materiel_id .'_' . $document->nom.'_'. $document->id . '.' . $document->type_doc, [ | |
703 | 714 | 'title' => 'Télécharger', |
704 | 715 | 'style' => 'margin:0', |
705 | 716 | 'escape' => false |
... | ... | @@ -708,29 +719,32 @@ if ($USER_IS_ADMIN_OR_MORE) { |
708 | 719 | //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) { |
709 | 720 | if ($CAN_MANAGE_FILES) { |
710 | 721 | // Edit doc |
722 | + $echoActionButton($this->Html, 'icon-pencil', $bStyle, '', 'Documents', 'edit', $document->id); | |
723 | + /* | |
711 | 724 | echo $this->Html->link(__('<i class="icon-pencil"></i>'), [ |
712 | 725 | 'controller' => 'Documents', |
713 | 726 | 'action' => 'edit', |
714 | - $documents->id | |
727 | + $document->id | |
715 | 728 | ], [ |
716 | 729 | 'escape' => false, |
717 | 730 | 'style' => 'margin:0' |
718 | 731 | ]); |
732 | + */ | |
719 | 733 | // Delete doc |
720 | 734 | echo $this->Form->postLink(__('<i class="icon-trash"></i>'), [ |
721 | 735 | 'controller' => 'Documents', |
722 | 736 | 'action' => 'delete', |
723 | - $documents->id | |
737 | + $document->id | |
724 | 738 | ], [ |
725 | 739 | 'escape' => false, |
726 | 740 | 'style' => 'margin:0', |
727 | - 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $documents->id) | |
741 | + 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $document->id) | |
728 | 742 | ]); |
729 | 743 | // Envoyer devis par mail (envoyer des mails avec les documents en pj) |
730 | 744 | echo $this->Form->postLink(__('<i class="icon-envelope"></i>'), [ |
731 | 745 | 'controller' => 'Documents', |
732 | - 'action' => __('mailDevis' ,$documents->id), | |
733 | - $documents->id | |
746 | + 'action' => __('mailDevis' ,$document->id), | |
747 | + $document->id | |
734 | 748 | ], [ |
735 | 749 | 'escape' => false, |
736 | 750 | 'style' => 'margin:0', |
... | ... | @@ -739,7 +753,7 @@ if ($USER_IS_ADMIN_OR_MORE) { |
739 | 753 | } |
740 | 754 | ?> |
741 | 755 | </td> |
742 | - <td><?=$this->Html->link($documents->nom, ['controller' => 'documents','action' => 'view',$documents->id])?></td> | |
756 | + <td><?=$this->Html->link($document->nom, ['controller' => 'documents','action' => 'view',$document->id])?></td> | |
743 | 757 | <td><?=$type?></td> |
744 | 758 | <td><?=$p?></td> |
745 | 759 | </tr> |
... | ... | @@ -750,7 +764,7 @@ if ($USER_IS_ADMIN_OR_MORE) { |
750 | 764 | </table> |
751 | 765 | <?php } else echo 'Aucun fichier pour ce matériel.'; ?> |
752 | 766 | </div> |
753 | - <!-- FICHIERS liés --> | |
767 | + <!-- FIN FICHIERS liés --> | |
754 | 768 | |
755 | 769 | </div> |
756 | 770 | <!-- "materiels view" --> | ... | ... |