Commit 6990fd5bf1b598551c328a2726244b2a24de2a7e

Authored by Etienne Pallier
1 parent 4f90ace2
Exists in master and in 2 other branches dev, dev-IRAP

Bugfix actions sur pdf interdites

Aussi: Grosse Simplification des vues materiels/view et index
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;
... ...
src/Template/Materiels/index.ctp 100755 → 100644
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-&gt;Html-&gt;link(&#39;&lt;i class=&quot;icon-plus&quot;&gt;&lt;/i&gt; Nouveau Matériel&#39;, [
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-&gt;Form-&gt;control(&#39;aff_par_defaut&#39;, [
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 &gt; 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 &gt; 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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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 &amp;&amp; $configuration-&gt;hasPrinter &amp;&amp; $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 &amp;&amp; $configuration-&gt;hasPrinter &amp;&amp; $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 &amp;&amp; $configuration-&gt;hasPrinter &amp;&amp; $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 &amp;&amp; $configuration-&gt;hasPrinter &amp;&amp; $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 &amp;&amp; $configuration-&gt;hasPrinter &amp;&amp; $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 &amp;&amp; $configuration-&gt;hasPrinter &amp;&amp; $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 &amp;&amp; $configuration-&gt;hasPrinter &amp;&amp; $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 &amp;&amp; $configuration-&gt;hasPrinter &amp;&amp; $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" -->
... ...