Commit 6441f31558c5cd6c8788d7bb32bf2296307ca758
1 parent
de013b4c
Exists in
master
and in
3 other branches
Bugfixes, améliorations visuelles du site et réadaptation de la fonctionnalité d…
…'envoi de mails, beaucoup plus simple à utiliser
Showing
14 changed files
with
484 additions
and
411 deletions
Show diff stats
database/labinvent_2.1_12-05-16.sql
... | ... | @@ -346,7 +346,7 @@ CREATE TABLE IF NOT EXISTS `configurations` ( |
346 | 346 | `hasPrinter` tinyint(1) DEFAULT NULL, |
347 | 347 | `nom_groupe_thematique` varchar(50) DEFAULT 'Groupe thematique', |
348 | 348 | `nom_groupe_metier` varchar(50) DEFAULT 'Groupe metier', |
349 | - `envoi_mail_management_dev` tinyint(1) NOT NULL DEFAULT 1, | |
349 | + `envoi_mail` tinyint(1) NOT NULL DEFAULT 0, | |
350 | 350 | `sender_mail` varchar(500) DEFAULT 'labinvent@irap.omp.eu', |
351 | 351 | `emailGuest1` varchar(45) DEFAULT NULL, |
352 | 352 | `emailGuest2` varchar(45) DEFAULT NULL, |
... | ... | @@ -448,44 +448,8 @@ Insert into type_documents(nom) values ('Certificat de conformité'); |
448 | 448 | Insert into type_documents(nom) values ('Manuel d\'utilisation'); |
449 | 449 | |
450 | 450 | -- Insertion par défaut pour la table configuration |
451 | -Insert into `configurations`( | |
452 | -`nom`, | |
453 | -`mode_install`, | |
454 | -`mode_debug`, | |
455 | -`use_ldap`, | |
456 | -`host_ldap`, | |
457 | -`port_ldap`, | |
458 | -`authentificationType_ldap`, | |
459 | -`baseDn_ldap`, | |
460 | -`filter_ldap`, | |
461 | -`labName`, | |
462 | -`labNameShort`, | |
463 | -`labPresent`, | |
464 | -`labUmr`, | |
465 | -`hasPrinter`, | |
466 | -`envoi_mail_management_dev` | |
467 | -`emailGuest1`, | |
468 | -`emailGuest2`, | |
469 | -`emailGuest3`) | |
470 | -values ( | |
471 | -'default', | |
472 | -'1', | |
473 | -'0', | |
474 | -'0', | |
475 | -'', | |
476 | -'', | |
477 | -'xxx', | |
478 | -'', | |
479 | -'', | |
480 | -'LABONAME', | |
481 | -'LABO', | |
482 | -'du ', | |
483 | -'', | |
484 | -'0', | |
485 | -'0', | |
486 | -'', | |
487 | -'', | |
488 | -''); | |
451 | +Insert into `configurations`(`nom`, `mode_install`, `mode_debug`, `use_ldap`, `host_ldap`, `port_ldap`, `authentificationType_ldap`, `baseDn_ldap`, `filter_ldap`, `labName`, `labNameShort`, `labPresent`, `labUmr`, `hasPrinter`, `emailGuest1`, `emailGuest2`, `emailGuest3`) | |
452 | +values ('default', '1', '0', '0', '', '', 'xxx', '', '', 'LABONAME', 'LABO', 'du ', '', '0', '', '', ''); | |
489 | 453 | |
490 | 454 | |
491 | 455 | ... | ... |
... | ... | @@ -0,0 +1,34 @@ |
1 | +#!/bin/bash | |
2 | + | |
3 | +# Pour Mac OS recent (10.10, Yosemite), la syntaxe du SED est differente | |
4 | +# Il faut donc faire une copie de ce fichier et transformer les instructions sed a l'interieur | |
5 | +# Pour cela, il suffit d'executer ces 2 lignes : | |
6 | +# cp ce_script.sh ce_script_macosx.sh | |
7 | +# sed -e "s/ -i / -i '' /" -i '' ce_script_macosx.sh | |
8 | + | |
9 | +if [ ! -f ../../config/app.php ] ; then | |
10 | +echo "Vous devez executer ce script depuis le dossier database/update/" | |
11 | +exit 1 | |
12 | +fi | |
13 | + | |
14 | + | |
15 | +# Get login, pass, dbname, and hostname | |
16 | +username=$(grep "/\*d\*/'username'" ../../config/app.php | cut -d"'" -f4) | |
17 | +password=$(grep "/\*d\*/'password'" ../../config/app.php | cut -d"'" -f4) | |
18 | +database=$(grep "/\*d\*/'database'" ../../config/app.php | cut -d"'" -f4) | |
19 | +host=$(grep "/\*d\*/'host'" ../../config/app.php | cut -d"'" -f4) | |
20 | + | |
21 | + | |
22 | +cp -p ./script_sql/db-update-2017-05-18.sql ./script_sql/db-update-2017-05-18-build.sql | |
23 | + | |
24 | +# Execute sql update script | |
25 | +sed -e "s/database/$database/" -i ./script_sql/db-update-2017-05-18-build.sql | |
26 | +mysql --user=$username --password=$password -h $host < ./script_sql/db-update-2017-05-18-build.sql | |
27 | + | |
28 | +# Delete cakephp cache | |
29 | +sudo rm ../../tmp/cache/models/* | |
30 | +sudo rm ../../tmp/cache/persistent/* | |
31 | + | |
32 | +sudo chmod -R 777 ../../tmp | |
33 | +sudo chmod -R 777 ../../vendor | |
34 | +sudo chmod -R 777 ../../webroot | ... | ... |
src/Controller/AppController.php
... | ... | @@ -31,6 +31,7 @@ use PhpParser\Node\Expr\Include_; |
31 | 31 | */ |
32 | 32 | class AppController extends Controller |
33 | 33 | { |
34 | + public $confLabinvent; | |
34 | 35 | |
35 | 36 | /** |
36 | 37 | * Initialization hook method. |
... | ... | @@ -58,6 +59,7 @@ class AppController extends Controller |
58 | 59 | 'action' => 'home', |
59 | 60 | ] |
60 | 61 | ]); |
62 | + $this->confLabinvent = TableRegistry::get('Configurations')->find()->where(['id =' => 1])->first(); | |
61 | 63 | } |
62 | 64 | |
63 | 65 | |
... | ... | @@ -70,7 +72,7 @@ class AppController extends Controller |
70 | 72 | */ |
71 | 73 | public function isAuthorized($user) |
72 | 74 | { |
73 | - $configuration = TableRegistry::get('Configurations')->find()->where(['id =' => 1])->first(); | |
75 | + $configuration = $this->confLabinvent; | |
74 | 76 | $role = TableRegistry::get('Users')->find()->where(['username' => $user[$configuration->authentificationType_ldap][0]])->first()['role']; |
75 | 77 | |
76 | 78 | $action = $this->request->params['action']; |
... | ... | @@ -201,194 +203,194 @@ class AppController extends Controller |
201 | 203 | * @param string $message |
202 | 204 | * @param string[] $to |
203 | 205 | */ |
204 | - public function sendEmailTo($subject, $message, $to = null) { | |
206 | +// public function sendEmailTo($subject, $message, $to = null) { | |
205 | 207 | |
206 | - $configuration = TableRegistry::get('Configurations')->find()->where(['id =' => 1])->first(); | |
208 | +// $configuration = TableRegistry::get('Configurations')->find()->where(['id =' => 1])->first(); | |
207 | 209 | |
208 | - if ($to != null && !$configuration->test) { | |
210 | +// if ($to != null && !$configuration->test) { | |
209 | 211 | |
210 | - for($i = 0; $i < sizeof($to); $i++) { | |
212 | +// for($i = 0; $i < sizeof($to); $i++) { | |
211 | 213 | |
212 | 214 | |
213 | - if (filter_var($to[$i], FILTER_VALIDATE_EMAIL)) { | |
214 | - $email = new Email(); | |
215 | +// if (filter_var($to[$i], FILTER_VALIDATE_EMAIL)) { | |
216 | +// $email = new Email(); | |
215 | 217 | |
216 | - $etiquetteFrom = explode("@", $configuration->sender_mail); | |
218 | +// $etiquetteFrom = explode("@", $configuration->sender_mail); | |
217 | 219 | |
218 | - if($configuration->envoi_mail_management_dev) { | |
219 | - $email->transport('dev') | |
220 | - ->from([$configuration->sender_mail => $etiquetteFrom[0]]) | |
221 | - ->to($to[$i]) | |
222 | - ->subject("[LabInvent] ".$subject) | |
223 | - ->send($message); | |
224 | - } else { | |
225 | - $email->transport('default') | |
226 | - ->from([$configuration->sender_mail => $etiquetteFrom[0]]) | |
227 | - ->to($to[$i]) | |
228 | - ->subject("[LabInvent] ".$subject) | |
229 | - ->send($message); | |
230 | - } | |
231 | - } | |
220 | +// if($configuration->envoi_mail_management_dev) { | |
221 | +// $email->transport('dev') | |
222 | +// ->from([$configuration->sender_mail => $etiquetteFrom[0]]) | |
223 | +// ->to($to[$i]) | |
224 | +// ->subject("[LabInvent] ".$subject) | |
225 | +// ->send($message); | |
226 | +// } else { | |
227 | +// $email->transport('default') | |
228 | +// ->from([$configuration->sender_mail => $etiquetteFrom[0]]) | |
229 | +// ->to($to[$i]) | |
230 | +// ->subject("[LabInvent] ".$subject) | |
231 | +// ->send($message); | |
232 | +// } | |
233 | +// } | |
232 | 234 | |
233 | - } | |
234 | - } | |
235 | +// } | |
236 | +// } | |
235 | 237 | |
236 | - } | |
238 | +// } | |
237 | 239 | |
238 | - /** | |
239 | - * Envoi d'un email à la gestion (et aux devs) pour prévenir qu'un matériel a été créé ou modifié | |
240 | - * (cf howto dans http://book.cakephp.org/2.0/fr/core-utility-libraries/email.html) | |
241 | - * @param string $subject | |
242 | - * @param string $message | |
243 | - */ | |
244 | - public function sendEmailToManagementWith($subject, $message) { | |
240 | +// /** | |
241 | +// * Envoi d'un email à la gestion (et aux devs) pour prévenir qu'un matériel a été créé ou modifié | |
242 | +// * (cf howto dans http://book.cakephp.org/2.0/fr/core-utility-libraries/email.html) | |
243 | +// * @param string $subject | |
244 | +// * @param string $message | |
245 | +// */ | |
246 | +// public function sendEmailToManagementWith($subject, $message) { | |
245 | 247 | |
246 | - $configuration = TableRegistry::get('Configurations')->find()->where(['id =' => 1])->first(); | |
248 | +// $configuration = TableRegistry::get('Configurations')->find()->where(['id =' => 1])->first(); | |
247 | 249 | |
248 | - for($i = 1; $i < 11; $i++) { | |
249 | - $t = 'emailGuest'.$i; | |
250 | - $to = $configuration->$t; | |
250 | +// for($i = 1; $i < 11; $i++) { | |
251 | +// $t = 'emailGuest'.$i; | |
252 | +// $to = $configuration->$t; | |
251 | 253 | |
252 | - if ($to != null && !$configuration->test) { | |
253 | - if (filter_var($to, FILTER_VALIDATE_EMAIL)) { | |
254 | - $email = new Email(); | |
254 | +// if ($to != null && !$configuration->test) { | |
255 | +// if (filter_var($to, FILTER_VALIDATE_EMAIL)) { | |
256 | +// $email = new Email(); | |
255 | 257 | |
256 | - $etiquetteFrom = explode("@", $configuration->sender_mail); | |
258 | +// $etiquetteFrom = explode("@", $configuration->sender_mail); | |
257 | 259 | |
258 | - if($configuration->envoi_mail_management_dev) { | |
259 | - $email->transport('dev') | |
260 | - ->from([$configuration->sender_mail => $etiquetteFrom[0]]) | |
261 | - ->to($to) | |
262 | - ->subject("[LabInvent] ".$subject) | |
263 | - ->send($message); | |
264 | - } else { | |
265 | - $email->transport('default') | |
266 | - ->from([$configuration->sender_mail => $etiquetteFrom[0]]) | |
267 | - ->to($to) | |
268 | - ->subject("[LabInvent] ".$subject) | |
269 | - ->send($message); | |
270 | - } | |
271 | - } | |
260 | +// if($configuration->envoi_mail_management_dev) { | |
261 | +// $email->transport('dev') | |
262 | +// ->from([$configuration->sender_mail => $etiquetteFrom[0]]) | |
263 | +// ->to($to) | |
264 | +// ->subject("[LabInvent] ".$subject) | |
265 | +// ->send($message); | |
266 | +// } else { | |
267 | +// $email->transport('default') | |
268 | +// ->from([$configuration->sender_mail => $etiquetteFrom[0]]) | |
269 | +// ->to($to) | |
270 | +// ->subject("[LabInvent] ".$subject) | |
271 | +// ->send($message); | |
272 | +// } | |
273 | +// } | |
272 | 274 | |
273 | - } | |
274 | - } | |
275 | +// } | |
276 | +// } | |
275 | 277 | |
276 | - } | |
278 | +// } | |
277 | 279 | |
278 | - public function sendEmailToManagement($idObj = null) { | |
280 | +// public function sendEmailToManagement($idObj = null) { | |
279 | 281 | |
280 | - $configuration = TableRegistry::get('Configurations')->find()->where(['id =' => 1])->first(); | |
282 | +// $configuration = TableRegistry::get('Configurations')->find()->where(['id =' => 1])->first(); | |
281 | 283 | |
282 | - $userAuth = $this->LdapAuth->user($configuration->authentificationType_ldap)[0]; | |
283 | - $controller = substr($this->request->params['controller'], 0, -1); // materiel | |
284 | - $action = $this->request->params['action']; // add or edit or delete or ... | |
285 | - $userName = $this->LdapAuth->user('sn')[0].' '.$this->LdapAuth->user('givenname')[0]; | |
286 | - $userEmail = $this->LdapAuth->user('mail')[0]; | |
287 | - $role = TableRegistry::get('Users')->find()->where(['username' => $this->LdapAuth->user($configuration->authentificationType_ldap)[0]])->first()['role']; | |
288 | - if($role == null) $role = 'Utilisateur'; | |
284 | +// $userAuth = $this->LdapAuth->user($configuration->authentificationType_ldap)[0]; | |
285 | +// $controller = substr($this->request->params['controller'], 0, -1); // materiel | |
286 | +// $action = $this->request->params['action']; // add or edit or delete or ... | |
287 | +// $userName = $this->LdapAuth->user('sn')[0].' '.$this->LdapAuth->user('givenname')[0]; | |
288 | +// $userEmail = $this->LdapAuth->user('mail')[0]; | |
289 | +// $role = TableRegistry::get('Users')->find()->where(['username' => $this->LdapAuth->user($configuration->authentificationType_ldap)[0]])->first()['role']; | |
290 | +// if($role == null) $role = 'Utilisateur'; | |
289 | 291 | |
290 | - $modelName = $this->modelClass; // 'Materiels' | |
291 | - $id = $idObj; | |
292 | +// $modelName = $this->modelClass; // 'Materiels' | |
293 | +// $id = $idObj; | |
292 | 294 | |
293 | - switch ($action) { | |
294 | - case 'add': | |
295 | - $actionFrench = ['Création d\'un ', 'été créé']; | |
296 | - break; | |
297 | - case 'edit': | |
298 | - $actionFrench = ['Modification d\'un ', 'été modifié']; | |
299 | - break; | |
300 | - case 'delete': | |
301 | - $actionFrench = ['Suppression d\'un ', 'été supprimé']; | |
302 | - break; | |
303 | - case 'statusValidated': | |
304 | - $actionFrench = ['Validation d\'un ', 'été validé']; | |
305 | - break; | |
306 | - case 'statusToBeArchived': | |
307 | - $actionFrench = ['Demande Archivage d\'un ', 'été demandé pour archivage']; | |
308 | - break; | |
309 | - case 'statusArchived': | |
310 | - $actionFrench = ['Archivage d\'un ', 'été archivé']; | |
311 | - break; | |
312 | - case 'setLabelIsPlaced': | |
313 | - $actionFrench = ['Etiquette posé sur un ', 'reçu une étiquette']; | |
314 | - break; | |
315 | - default: | |
316 | - $actionFrench = [$action.' d\'un ', 'été '.$action]; | |
317 | - break; | |
318 | - } | |
319 | - $doneBy = $userName." (".$userEmail.", login=".$userAuth.", profil=".$role.")."; | |
295 | +// switch ($action) { | |
296 | +// case 'add': | |
297 | +// $actionFrench = ['Création d\'un ', 'été créé']; | |
298 | +// break; | |
299 | +// case 'edit': | |
300 | +// $actionFrench = ['Modification d\'un ', 'été modifié']; | |
301 | +// break; | |
302 | +// case 'delete': | |
303 | +// $actionFrench = ['Suppression d\'un ', 'été supprimé']; | |
304 | +// break; | |
305 | +// case 'statusValidated': | |
306 | +// $actionFrench = ['Validation d\'un ', 'été validé']; | |
307 | +// break; | |
308 | +// case 'statusToBeArchived': | |
309 | +// $actionFrench = ['Demande Archivage d\'un ', 'été demandé pour archivage']; | |
310 | +// break; | |
311 | +// case 'statusArchived': | |
312 | +// $actionFrench = ['Archivage d\'un ', 'été archivé']; | |
313 | +// break; | |
314 | +// case 'setLabelIsPlaced': | |
315 | +// $actionFrench = ['Etiquette posé sur un ', 'reçu une étiquette']; | |
316 | +// break; | |
317 | +// default: | |
318 | +// $actionFrench = [$action.' d\'un ', 'été '.$action]; | |
319 | +// break; | |
320 | +// } | |
321 | +// $doneBy = $userName." (".$userEmail.", login=".$userAuth.", profil=".$role.")."; | |
320 | 322 | |
321 | - $subject = $actionFrench[0].$controller; | |
323 | +// $subject = $actionFrench[0].$controller; | |
322 | 324 | |
323 | - if($id != null) { | |
324 | - $entityName = TableRegistry::get($modelName)->find('all')->where(['id =' => $id])->first(); | |
325 | +// if($id != null) { | |
326 | +// $entityName = TableRegistry::get($modelName)->find('all')->where(['id =' => $id])->first(); | |
325 | 327 | |
326 | - if($modelName == 'Materiels') { | |
327 | - $entityName = $entityName['designation']; | |
328 | - } | |
329 | - else if ($modelName == 'Suivis' || $modelName == 'Emprunts') { | |
330 | - $entityName = $entityName['id']; | |
331 | - } | |
332 | - else { | |
333 | - $entityName = $entityName['nom']; | |
334 | - } | |
335 | - } | |
336 | - else { | |
337 | - $entityName = NULL; | |
338 | - } | |
328 | +// if($modelName == 'Materiels') { | |
329 | +// $entityName = $entityName['designation']; | |
330 | +// } | |
331 | +// else if ($modelName == 'Suivis' || $modelName == 'Emprunts') { | |
332 | +// $entityName = $entityName['id']; | |
333 | +// } | |
334 | +// else { | |
335 | +// $entityName = $entityName['nom']; | |
336 | +// } | |
337 | +// } | |
338 | +// else { | |
339 | +// $entityName = NULL; | |
340 | +// } | |
339 | 341 | |
340 | - $message = $this->getArticle().$controller." ".$entityName." (id=".$id.") a ".$actionFrench[1]." par ".$doneBy; | |
342 | +// $message = $this->getArticle().$controller." ".$entityName." (id=".$id.") a ".$actionFrench[1]." par ".$doneBy; | |
341 | 343 | |
342 | - $this->sendEmailToManagementWith($subject, $message); | |
344 | +// $this->sendEmailToManagementWith($subject, $message); | |
343 | 345 | |
344 | - } | |
346 | +// } | |
345 | 347 | |
346 | - /** | |
347 | - * Envoi d'un email au propriétaire pour prévenir qu'un matériel a été créé | |
348 | - * @param string $subject | |
349 | - * @param string $message | |
350 | - */ | |
351 | - public function sendEmailToCreate($idObj = null) { | |
348 | +// /** | |
349 | +// * Envoi d'un email au propriétaire pour prévenir qu'un matériel a été créé | |
350 | +// * @param string $subject | |
351 | +// * @param string $message | |
352 | +// */ | |
353 | +// public function sendEmailToCreate($idObj = null) { | |
352 | 354 | |
353 | - $id = $idObj; | |
355 | +// $id = $idObj; | |
354 | 356 | |
355 | - $configuration = TableRegistry::get('Configurations')->find()->where(['id =' => 1])->first(); | |
356 | - $materiel = TableRegistry::get('Materiels')->find()->where(['id =' => $id])->first(); | |
357 | +// $configuration = TableRegistry::get('Configurations')->find()->where(['id =' => 1])->first(); | |
358 | +// $materiel = TableRegistry::get('Materiels')->find()->where(['id =' => $id])->first(); | |
357 | 359 | |
358 | - $createurName = $this->LdapAuth->user('sn')[0].' '.$this->LdapAuth->user('givenname')[0]; | |
359 | - $createurEmail = $this->LdapAuth->user('mail')[0]; | |
360 | - $toEmail = $materiel->email_responsable; | |
360 | +// $createurName = $this->LdapAuth->user('sn')[0].' '.$this->LdapAuth->user('givenname')[0]; | |
361 | +// $createurEmail = $this->LdapAuth->user('mail')[0]; | |
362 | +// $toEmail = $materiel->email_responsable; | |
361 | 363 | |
362 | - $role = TableRegistry::get('Users')->find()->where(['username' => $this->LdapAuth->user($configuration->authentificationType_ldap)[0]])->first()['role']; | |
363 | - if($role == null) $role = 'Utilisateur'; | |
364 | +// $role = TableRegistry::get('Users')->find()->where(['username' => $this->LdapAuth->user($configuration->authentificationType_ldap)[0]])->first()['role']; | |
365 | +// if($role == null) $role = 'Utilisateur'; | |
364 | 366 | |
365 | - $subject = 'Ajout d\'un matériel'; | |
366 | - $message = $createurName.' (email = '.$createurEmail.', role = '.$role.') a ajouté le matériel "'.$materiel->designation.'" ('.$materiel->numero_laboratoire.') et vous a nommé propriétaire de ce matériel.'; | |
367 | +// $subject = 'Ajout d\'un matériel'; | |
368 | +// $message = $createurName.' (email = '.$createurEmail.', role = '.$role.') a ajouté le matériel "'.$materiel->designation.'" ('.$materiel->numero_laboratoire.') et vous a nommé propriétaire de ce matériel.'; | |
367 | 369 | |
368 | - if ($toEmail != null && !$configuration->test) { | |
369 | - if (filter_var($toEmail, FILTER_VALIDATE_EMAIL)) { | |
370 | - $email = new Email(); | |
370 | +// if ($toEmail != null && !$configuration->test) { | |
371 | +// if (filter_var($toEmail, FILTER_VALIDATE_EMAIL)) { | |
372 | +// $email = new Email(); | |
371 | 373 | |
372 | - $etiquetteFrom = explode("@", $configuration->sender_mail); | |
374 | +// $etiquetteFrom = explode("@", $configuration->sender_mail); | |
373 | 375 | |
374 | - if($configuration->envoi_mail_management_dev) { | |
375 | - $email->transport('dev') | |
376 | - ->from([$configuration->sender_mail => $etiquetteFrom[0]]) | |
377 | - ->to($toEmail) | |
378 | - ->subject("[LabInvent] ".$subject) | |
379 | - ->send($message); | |
380 | - } else { | |
381 | - $email->transport('default') | |
382 | - ->from([$configuration->sender_mail => $etiquetteFrom[0]]) | |
383 | - ->to($toEmail) | |
384 | - ->subject("[LabInvent] ".$subject) | |
385 | - ->send($message); | |
386 | - } | |
387 | - } | |
376 | +// if($configuration->envoi_mail_management_dev) { | |
377 | +// $email->transport('dev') | |
378 | +// ->from([$configuration->sender_mail => $etiquetteFrom[0]]) | |
379 | +// ->to($toEmail) | |
380 | +// ->subject("[LabInvent] ".$subject) | |
381 | +// ->send($message); | |
382 | +// } else { | |
383 | +// $email->transport('default') | |
384 | +// ->from([$configuration->sender_mail => $etiquetteFrom[0]]) | |
385 | +// ->to($toEmail) | |
386 | +// ->subject("[LabInvent] ".$subject) | |
387 | +// ->send($message); | |
388 | +// } | |
389 | +// } | |
388 | 390 | |
389 | - } | |
391 | +// } | |
390 | 392 | |
391 | - } | |
393 | +// } | |
392 | 394 | |
393 | 395 | |
394 | 396 | static function isLabinventDebugMode() { |
... | ... | @@ -405,129 +407,161 @@ class AppController extends Controller |
405 | 407 | // Les fonctions suivantes sont en cours de developpement |
406 | 408 | /** |
407 | 409 | * Envoi un mail avec un sujet, contenant un message à destination d'une liste de mails, selon l'action effectuée. |
408 | - * @param idObj -> ID du matériel concerné | |
409 | - * @param nomObj -> A utiliser uniquement dans le cadre d'un supression de matériel | |
410 | + * | |
411 | + * @param $idObj : ID du matériel concerné | |
412 | + * @param $nomObj : A utiliser uniquement dans le cadre d'une supression de matériel, et mettre idObj à null | |
413 | + * @param $mailOwner : Idem | |
414 | + * @param $groupesMetier : Idem | |
415 | + * @param $groupesThematique : Idem | |
410 | 416 | */ |
411 | -// public function sendEmail($idObj = null, $nomObj = null) { | |
412 | -// /* | |
413 | -// * $_SESSION['Auth']['User'] pour retrouver TOUTES les infos de la session courante (tout est du string) : | |
414 | -// * nom[sn] | |
415 | -// * prennom[givenname] | |
416 | -// * mail[mail] | |
417 | -// * login[xxx] | |
418 | -// * mdp[userpassword] | |
419 | -// */ | |
417 | + public function sendEmail($idObj, $nomObj = null, $mailOwner = null, $groupesMetier = null, $groupesThematique = null) { | |
418 | + /* | |
419 | + * $_SESSION['Auth']['User'] pour retrouver TOUTES les infos de la session courante (tout est du string) : | |
420 | + * nom['sn'][0] | |
421 | + * prenom['givenname'][0] | |
422 | + * mail['mail'][0] | |
423 | + * login['xxx'][0] /!\ Ce champ est suceptible de changer de nom, dans les tests ce champ est ['cn'][0] | |
424 | + * mdp['userpassword'][0] | |
425 | + */ | |
426 | + | |
427 | + $configuration = TableRegistry::get('Configurations')->find()->where(['id =' => 1])->first(); | |
428 | + $action = $this->request->params['action']; // add or edit or delete or ... | |
420 | 429 | |
421 | -// $configuration = TableRegistry::get('Configurations')->find()->where(['id =' => 1])->first(); | |
422 | -// $action = $this->request->params['action']; // add or edit or delete or ... | |
430 | + if(!$configuration->envoi_mail) return null; | |
423 | 431 | |
424 | -// if($idObj != null || $nomObj != null) { | |
432 | + // On détermine le message et le sujet du mail en fonction de l'action effectuee | |
433 | + if($idObj != null || $nomObj != null) { | |
425 | 434 | |
426 | -// if($idObj != null) $materiel = TableRegistry::get('Materiels')->find()->where(['id =' => $idObj])->first(); | |
427 | - | |
428 | -// Switch ($action) { | |
429 | -// case 'add': | |
430 | -// $subject = "Ajout d'un matériel"; | |
431 | -// $actionneur = $materiel->nom_createur; | |
432 | -// $nom_materiel = $materiel->designation; | |
433 | -// $msg = "$actionneur a ajouté le matériel $nom_materiel"; | |
434 | -// break; | |
435 | -// case 'edit': | |
436 | -// $subject = "Modification d'un matériel"; | |
437 | -// $actionneur= $materiel->nom_modificateur; | |
438 | -// $nom_materiel = $materiel->designation; | |
439 | -// $msg = "$actionneur a modifié le matériel $nom_materiel"; | |
440 | -// break; | |
441 | -// case 'delete': | |
442 | -// $subject = "Suppression d'un matériel"; | |
443 | -// $actionneur= $_SESSION['Auth']['User']['givenname'].' '.$_SESSION['Auth']['User']['sn']; | |
444 | -// $nom_materiel = $nomObj; | |
445 | -// $msg = "$actionneur a supprimé le matériel $nom_materiel"; | |
446 | -// break; | |
447 | -// case 'statusValidated': | |
448 | -// $subject = "Validation d'un matériel"; | |
449 | -// $actionneur= $_SESSION['Auth']['User']['givenname'].' '.$_SESSION['Auth']['User']['sn']; | |
450 | -// $nom_materiel = $materiel->designation; | |
451 | -// $msg = "$actionneur a validé le matériel $nom_materiel"; | |
452 | -// break; | |
453 | -// case 'statusToBeArchived': | |
454 | -// $subject = "Demande d'archivage d'un matériel"; | |
455 | -// $actionneur= $_SESSION['Auth']['User']['givenname'].' '.$_SESSION['Auth']['User']['sn']; | |
456 | -// $nom_materiel = $materiel->designation; | |
457 | -// $msg = "$actionneur a demandé l'archivage du matériel $nom_materiel"; | |
458 | -// break; | |
459 | -// case 'statusArchived': | |
460 | -// $subject = "Archivage d'un matériel"; | |
461 | -// $actionneur= $_SESSION['Auth']['User']['givenname'].' '.$_SESSION['Auth']['User']['sn']; | |
462 | -// $nom_materiel = $materiel->designation; | |
463 | -// $msg = "$actionneur a archivé le matériel $nom_materiel"; | |
464 | -// break; | |
465 | -// case 'setLabelIsPlaced': | |
466 | -// $subject = "Etiquette posée sur un matériel"; | |
467 | -// $msg = "Etiquette posée sur le matériel $nom_materiel"; | |
468 | -// break; | |
469 | -// default: | |
470 | -// $subject = "Action \"$action\" sur un matériel"; | |
471 | -// $actionneur= $_SESSION['Auth']['User']['givenname'].' '.$_SESSION['Auth']['User']['sn']; | |
472 | -// $nom_materiel = $materiel->designation; | |
473 | -// $msg = "$actionneur a effectué l'action \"$action\" sur le matériel $nom_materiel"; | |
474 | -// break; | |
475 | -// } | |
435 | + if($idObj != null) $materiel = TableRegistry::get('Materiels')->find()->where(['id =' => $idObj])->first(); | |
436 | + $actionneur= $_SESSION['Auth']['User']['givenname'][0].' '.$_SESSION['Auth']['User']['sn'][0]; | |
437 | + Switch ($action) { | |
438 | + case 'add': | |
439 | + $subject = "Ajout d'un matériel"; | |
440 | + $actionneur = $materiel->nom_createur; | |
441 | + $nom_materiel = $materiel->designation; | |
442 | + $msg = "$actionneur a ajouté le matériel $nom_materiel"; | |
443 | + break; | |
444 | + case 'edit': | |
445 | + $subject = "Modification d'un matériel"; | |
446 | + $actionneur= $materiel->nom_modificateur; | |
447 | + $nom_materiel = $materiel->designation; | |
448 | + $msg = "$actionneur a modifié le matériel $nom_materiel"; | |
449 | + break; | |
450 | + case 'delete': | |
451 | + $subject = "Suppression d'un matériel"; | |
452 | + $nom_materiel = $nomObj; | |
453 | + $msg = "$actionneur a supprimé le matériel $nom_materiel"; | |
454 | + break; | |
455 | + case 'statusValidated': | |
456 | + $subject = "Validation d'un matériel"; | |
457 | + $nom_materiel = $materiel->designation; | |
458 | + $msg = "$actionneur a validé le matériel $nom_materiel"; | |
459 | + break; | |
460 | + case 'statusToBeArchived': | |
461 | + $subject = "Demande d'archivage d'un matériel"; | |
462 | + $nom_materiel = $materiel->designation; | |
463 | + $msg = "$actionneur a demandé l'archivage du matériel $nom_materiel"; | |
464 | + break; | |
465 | + case 'statusArchived': | |
466 | + $subject = "Archivage d'un matériel"; | |
467 | + $nom_materiel = $materiel->designation; | |
468 | + $msg = "$actionneur a archivé le matériel $nom_materiel"; | |
469 | + break; | |
470 | + case 'setLabelIsPlaced': | |
471 | + $subject = "Etiquette posée sur un matériel"; | |
472 | + $nom_materiel = $materiel->designation; | |
473 | + $msg = "Etiquette posée sur le matériel $nom_materiel"; | |
474 | + break; | |
475 | + default: | |
476 | + $subject = "Action \"$action\" sur un matériel"; | |
477 | + $nom_materiel = $materiel->designation; | |
478 | + $msg = "$actionneur a effectué l'action \"$action\" sur le matériel $nom_materiel"; | |
479 | + break; | |
480 | + } | |
481 | + | |
482 | + // Et maintenant on construit la liste de mails ... | |
483 | + $mailList = array(); | |
484 | + | |
485 | + //mail owner | |
486 | + if($idObj != null) $mailList[0] = $materiel->email_responsable; | |
487 | + else $mailList[0] = $mailOwner; | |
476 | 488 | |
477 | -// $mailList = array(); | |
489 | + //mail resp | |
490 | + $mailsRespMetier = null; | |
491 | + $mailsRespMetier = null; | |
478 | 492 | |
479 | -// //Envoi mail responsable | |
480 | -// $mailsResp = TableRegistry::get('Users')->find()->select('email')->where(['role =' => 'Responsable', 'groupes_metier_id =' => $materiel->groupes_metier_id])->orWhere(['role =' => 'Responsable', 'groupe_thematique_id =' => $materiel->groupes_thematique_id])->toArray(); | |
481 | -// for($i = 0; $i < sizeof($mailsResp); $i++) { | |
482 | -// $mailList[$i] = $mailsResp[$i]['email']; | |
483 | -// } | |
493 | + if ($idObj != null){ | |
494 | + if ($materiel->groupes_metier_id != null && $materiel->groupes_metier_id != 1) $mailsRespMetier = TableRegistry::get('Users')->find()->select('email')->where(['role =' => 'Responsable', 'groupes_metier_id =' => $materiel->groupes_metier_id])->toArray(); | |
495 | + if ($materiel->groupes_thematique_id != null && $materiel->groupes_thematique_id != 1) $mailRespThematique = TableRegistry::get('Users')->find()->select('email')->where(['role =' => 'Responsable', 'groupe_thematique_id =' => $materiel->groupes_thematique_id])->toArray(); | |
496 | + } else { | |
497 | + if ($groupesMetier != null) $mailsResp = TableRegistry::get('Users')->find()->select('email')->where(['role =' => 'Responsable', 'groupes_metier_id =' => $groupesMetier])->toArray(); | |
498 | + if ($groupesThematique != null) $mailsResp = TableRegistry::get('Users')->find()->select('email')->where(['role =' => 'Responsable', 'groupe_thematique_id =' => $groupesThematique])->toArray(); | |
499 | + } | |
500 | + // Le ..!= 1 c'est parce que le groupe métier/thématique d'id 1 correspond au groupe N/A, soit aucun groupe | |
501 | + | |
502 | + if ($mailsRespMetier != null && $mailsRespMetier != null) { | |
503 | + $mailResp = array_unique(array_merge($mailsRespMetier, $mailRespThematique)); | |
504 | + for($i = 0; $i < sizeof($mailsResp); $i++) { | |
505 | + $mailList[sizeof($mailList)]= $mailsResp[$i]['email']; | |
506 | + } | |
507 | + } | |
484 | 508 | |
485 | -// //Envoi mail administratif | |
486 | -// $mailsAdmin = TableRegistry::get('Users')->find()->select('email')->where(['role =' => 'Administration'])->toArray(); | |
487 | -// $size = sizeof($mailList); | |
488 | -// $sizeMax = sizeof($mailList) + sizeof($mailsAdmin); | |
489 | -// $taille = "$size | $sizeMax"; | |
490 | -// for($i = $size; $i < $sizeMax; $i++) { | |
491 | -// $mailList[$i] = $mailsAdmin[$i]['email']; | |
492 | -// } | |
509 | + //mail admin de reference (ici appele gestionnaire) | |
510 | + if ($action != 'statusValidated' && $action != 'statusArchived') { | |
511 | + $mailsAdmin = TableRegistry::get('Users')->find()->select('email')->where(['role =' => 'Administration'])->toArray(); | |
512 | + for($i = 0; $i < sizeof($mailsAdmin); $i++) { | |
513 | + $mailList[sizeof($mailList)]= $mailsAdmin[$i]['email']; | |
514 | + } | |
515 | + } | |
493 | 516 | |
494 | -// // envoi de mail aux adresses spécifiés dans la config | |
495 | -// for($i = 0; $i < 11; $i++) { | |
496 | -// $mailList[$i + sizeof($mailList) + sizeof($mailsAdmin)] = 'emailGuest'.$i; | |
497 | -// } | |
498 | - | |
499 | -// $j = 0; | |
500 | -// foreach($mailList as $mail) { | |
501 | -// $j += 1; | |
502 | -// $this->sendEmailTo($subject, $msg, $mail, $configuration); | |
503 | -// } | |
504 | -// } | |
505 | -// } | |
517 | + //de mail aux adresses specifiees dans la config | |
518 | + for($i = 0; $i < 11; $i++) { | |
519 | + if ($configuration['emailGuest'.$i]) $mailList[sizeof($mailList)] = $configuration['emailGuest'.$i]; | |
520 | + // Le if vérifie que la ligne soit pas null | |
521 | + } | |
522 | + | |
523 | + //On dedoublonne la liste des mails, c'pas tres cool de se faire spam 2-3 fois pour la meme action sur le meme materiel, non mais ! | |
524 | + $List = array_unique($mailList); | |
525 | + | |
526 | + // ... Pour envoyer les mails aux personnes concernees | |
527 | + foreach($List as $mail) { | |
528 | + //On envoi des mails à toute la liste, sauf pour "l'acteur", il sait ce qu'il a fait, pas besion de le spam non plus hein | |
529 | + if ($mail != $_SESSION['Auth']['User']['mail'][0]) { | |
530 | + $role = TableRegistry::get('Users')->find()->select('role')->where(['email =' => $mail])->first()['role']; | |
531 | + if ($role) $role = 'en tant que '.$role; | |
532 | + else $role = 'car vous avez demandé à le recevoir. Pour faire retirer votre mail de la liste, veuillez contacter un SuperAdmin'; | |
533 | + $message =$msg."\n\n".'Vous recevez ce message '.$role; | |
534 | + $this->sendEmailTo("$subject", $message, $mail, $configuration); | |
535 | + } | |
536 | + } | |
537 | + } | |
538 | + return $List; | |
539 | + } | |
506 | 540 | |
507 | -// private function sendEmailTo($subject, $msg, $mail, $config) { | |
541 | + // Fonction d'envoi de mails | |
542 | + private function sendEmailTo($subject, $msg, $mail, $config) { | |
508 | 543 | |
509 | -// if ($mail != null && !$config->test) { | |
510 | -// if (filter_var($mail, FILTER_VALIDATE_EMAIL)) { | |
511 | -// $email = new Email(); | |
544 | + if ($mail != null && !$config->test) { | |
545 | + if (filter_var($mail, FILTER_VALIDATE_EMAIL)) { | |
546 | + $email = new Email(); | |
512 | 547 | |
513 | -// $etiquetteFrom = explode("@", $config->sender_mail); | |
548 | + $etiquetteFrom = explode("@", $config->sender_mail); | |
514 | 549 | |
515 | -// if($config->envoi_mail_management_dev) { // <-- Si la case est cochée | |
550 | +// if($config->envoi_mail) { // <-- Si la case "Envoi des mails de management en local " est cochée | |
516 | 551 | // $email->transport('dev') |
517 | 552 | // ->from([$config->sender_mail => $etiquetteFrom[0]]) |
518 | 553 | // ->to($mail) |
519 | 554 | // ->subject("[LabInvent] ".$subject) |
520 | 555 | // ->send($msg); |
521 | 556 | // } else { // <-- Si la case n'est pas cochée |
522 | -// $email->transport('default') | |
523 | -// ->from([$config->sender_mail => $etiquetteFrom[0]]) | |
524 | -// ->to($mail) | |
525 | -// ->subject("[LabInvent] ".$subject) | |
526 | -// ->send($msg); | |
557 | + $email->transport('default') | |
558 | + ->from([$config->sender_mail => $etiquetteFrom[0]]) | |
559 | + ->to($mail) | |
560 | + ->subject("[LabInvent] ".$subject) | |
561 | + ->send($msg); | |
527 | 562 | // } |
528 | -// } | |
563 | + } | |
529 | 564 | |
530 | -// } | |
531 | -// } | |
532 | - | |
533 | -} | |
565 | + } | |
566 | + } | |
567 | +} | |
534 | 568 | \ No newline at end of file | ... | ... |
src/Controller/ConfigurationsController.php
... | ... | @@ -3,6 +3,7 @@ namespace App\Controller; |
3 | 3 | |
4 | 4 | use App\Controller\AppController; |
5 | 5 | use Cake\ORM\TableRegistry; |
6 | +use Migrations\Table; | |
6 | 7 | |
7 | 8 | /** |
8 | 9 | * Configurations Controller |
... | ... | @@ -79,14 +80,15 @@ class ConfigurationsController extends AppController |
79 | 80 | if ($this->request->is(['patch', 'post', 'put'])) { |
80 | 81 | $configurationObj = $this->Configurations->patchEntity($configurationObj, $this->request->data); |
81 | 82 | if ($this->Configurations->save($configurationObj)) { |
82 | - $this->Flash->success(__('La configuration a bien été sauvegardé.')); | |
83 | + $this->Flash->success(__('La configuration a bien été sauvegardée.')); | |
84 | + $this->confLabinvent = TableRegistry::get('Configurations')->find()->where(['id =' => 1])->first(); | |
83 | 85 | if($configurationObj->get('mode_install')) { |
84 | 86 | return $this->redirect(['controller' => 'pages', 'action' => 'home']); |
85 | 87 | } else { |
86 | 88 | return $this->redirect(['action' => 'view', $id]); |
87 | 89 | } |
88 | 90 | } else { |
89 | - $this->Flash->error(__('La configuration n\'a pas pu être sauvegardé.')); | |
91 | + $this->Flash->error(__('La configuration n\'a pas pu être sauvegardée.')); | |
90 | 92 | } |
91 | 93 | } |
92 | 94 | ... | ... |
src/Controller/MaterielsController.php
... | ... | @@ -171,7 +171,7 @@ class MaterielsController extends AppController |
171 | 171 | * @return \Cake\Network\Response|null |
172 | 172 | */ |
173 | 173 | public function index() |
174 | - { | |
174 | + { | |
175 | 175 | // Remplacement de $this->passedArgs[0] (deprecated) |
176 | 176 | // Par $this->request->params['pass'][0] |
177 | 177 | $condition = ''; |
... | ... | @@ -278,51 +278,51 @@ class MaterielsController extends AppController |
278 | 278 | * |
279 | 279 | * @return \Cake\Network\Response|void Redirects on successful add, renders view otherwise. |
280 | 280 | */ |
281 | - public function add() { | |
282 | - | |
281 | + public function add() { | |
282 | + | |
283 | 283 | $materiel = $this->Materiels->newEntity(); |
284 | 284 | if ($this->request->is('post')) { |
285 | 285 | $materiel = $this->Materiels->patchEntity($materiel, $this->request->data); |
286 | 286 | if ($this->Materiels->save($materiel)) { |
287 | 287 | $this->Flash->success(__('Le matériel a bien été ajouté.')); |
288 | 288 | |
289 | - $this->sendEmailToManagement($materiel->id); | |
289 | +// $this->sendEmailToManagement($materiel->id); | |
290 | 290 | |
291 | - if($materiel->nom_createur != $materiel->nom_responsable) { | |
292 | - $this->sendEmailToCreate($materiel->id); | |
293 | - } | |
291 | +// if($materiel->nom_createur != $materiel->nom_responsable) { | |
292 | +// $this->sendEmailToCreate($materiel->id); | |
293 | +// } | |
294 | 294 | |
295 | - $message = $materiel->get('nom_createur').' à ajouté le matériel "'.$materiel->get('designation').'" ('.$materiel->numero_laboratoire.')'; | |
296 | - $subject = 'Ajout de matériel'; | |
297 | - $listMails = []; | |
295 | +// $message = $materiel->get('nom_createur').' à ajouté le matériel "'.$materiel->get('designation').'" ('.$materiel->numero_laboratoire.')'; | |
296 | +// $subject = 'Ajout de matériel'; | |
297 | +// $listMails = []; | |
298 | 298 | |
299 | - //Envoi mail responsable | |
300 | - $mailsResp = TableRegistry::get('Users')->find()->select('email')->where(['role =' => 'Responsable', 'groupes_metier_id =' => $materiel->get('groupes_metier_id')])->orWhere(['role =' => 'Responsable', 'groupe_thematique_id =' => $materiel->get('groupes_thematique_id')])->toArray(); | |
301 | - $mails = []; | |
302 | - for($i = 0; $i < sizeof($mailsResp); $i++) { | |
303 | - $mails[$i] = $mailsResp[$i]['email']; | |
304 | - } | |
305 | - $this->sendEmailTo('Ajout d\'un matériel', $message, $mails); | |
299 | +// //Envoi mail responsable | |
300 | +// $mailsResp = TableRegistry::get('Users')->find()->select('email')->where(['role =' => 'Responsable', 'groupes_metier_id =' => $materiel->get('groupes_metier_id')])->orWhere(['role =' => 'Responsable', 'groupe_thematique_id =' => $materiel->get('groupes_thematique_id')])->toArray(); | |
301 | +// $mails = []; | |
302 | +// for($i = 0; $i < sizeof($mailsResp); $i++) { | |
303 | +// $mails[$i] = $mailsResp[$i]['email']; | |
304 | +// } | |
305 | +// $this->sendEmailTo('Ajout d\'un matériel', $message, $mails); | |
306 | 306 | |
307 | - //Envoi mail administratif | |
308 | - //$mailsResp = TableRegistry::get('Users')->find()->select('email')->where(['role =' => 'Administration Plus'])->orWhere(['role =' => 'Administration'])->toArray(); | |
309 | - $mailsResp = TableRegistry::get('Users')->find()->select('email')->where(['role =' => 'Administration Plus'])->toArray(); | |
310 | - $mails = []; | |
311 | - for($i = 0; $i < sizeof($mailsResp); $i++) { | |
312 | - $mails[$i] = $mailsResp[$i]['email']; | |
313 | - } | |
307 | +// //Envoi mail administratif | |
308 | +// //$mailsResp = TableRegistry::get('Users')->find()->select('email')->where(['role =' => 'Administration Plus'])->orWhere(['role =' => 'Administration'])->toArray(); | |
309 | +// $mailsResp = TableRegistry::get('Users')->find()->select('email')->where(['role =' => 'Administration Plus'])->toArray(); | |
310 | +// $mails = []; | |
311 | +// for($i = 0; $i < sizeof($mailsResp); $i++) { | |
312 | +// $mails[$i] = $mailsResp[$i]['email']; | |
313 | +// } | |
314 | 314 | |
315 | 315 | |
316 | - // Rajout condition d'envoi de mail ou pas | |
317 | - $configuration = TableRegistry::get('Configurations')->find()->where(['id =' => 1])->first(); | |
316 | +// // Rajout condition d'envoi de mail ou pas | |
317 | +// $configuration = TableRegistry::get('Configurations')->find()->where(['id =' => 1])->first(); | |
318 | 318 | |
319 | - if(!$configuration['envoi_mail_management_dev']){ // Si false, on envoie les mails, sinon on les envoie pas | |
320 | - $this->sendEmailTo('Ajout d\'un matériel', $message, $mails); | |
321 | - } | |
322 | - | |
323 | -// $this->sendEmail($materiel->id); | |
319 | +// if(!$configuration['envoi_mail_management_dev']){ // Si false, on envoie les mails, sinon on les envoie pas | |
320 | +// $this->sendEmailTo('Ajout d\'un matériel', $message, $mails); | |
321 | +// } | |
322 | + | |
323 | + $this->sendEmail($materiel->id); | |
324 | 324 | |
325 | - return $this->redirect(['action' => 'view', $materiel->id]); | |
325 | +// return $this->redirect(['action' => 'view', $materiel->id]); | |
326 | 326 | } else { |
327 | 327 | $this->Flash->error(__('Le matériel n\'a pas pu être ajouté.')); |
328 | 328 | } |
... | ... | @@ -344,6 +344,7 @@ class MaterielsController extends AppController |
344 | 344 | $utilisateurs[$users[$i]] = $users[$i]; |
345 | 345 | } |
346 | 346 | |
347 | + // Ne pas commenter la ligne suivante, on en a besoin dans add.cpt | |
347 | 348 | $mail_responsable = TableRegistry::get('Users')->find()->select('email')->where(['username =' => $this->LdapAuth->user($this->request->session()->read('authType'))[0]])->first()['email']; |
348 | 349 | |
349 | 350 | if(isset($this->request->params['pass'][0])) { |
... | ... | @@ -372,11 +373,12 @@ class MaterielsController extends AppController |
372 | 373 | $materiel = $this->Materiels->patchEntity($materiel, $this->request->data); |
373 | 374 | if ($this->Materiels->save($materiel)) { |
374 | 375 | $this->Flash->success(__('Le matériel a bien été édité.')); |
375 | - $this->sendEmailToManagement($id); | |
376 | - if($materiel->nom_modificateur != $materiel->nom_responsable) { | |
377 | - $message = $materiel->get('nom_modificateur').' a édité le matériel "'.$materiel->get('designation').'" ('.$materiel->numero_laboratoire.')'; | |
378 | - $this->sendEmailTo('Modification d\'un matériel', $message, [$materiel->get('email_responsable')]); | |
379 | - } | |
376 | +// $this->sendEmailToManagement($id); | |
377 | +// if($materiel->nom_modificateur != $materiel->nom_responsable) { | |
378 | +// $message = $materiel->get('nom_modificateur').' a édité le matériel "'.$materiel->get('designation').'" ('.$materiel->numero_laboratoire.')'; | |
379 | +// $this->sendEmailTo('Modification d\'un matériel', $message, [$materiel->get('email_responsable')]); | |
380 | +// } | |
381 | + $this->sendEmail($id); | |
380 | 382 | return $this->redirect(['action' => 'view', $id]); |
381 | 383 | } else { |
382 | 384 | $this->Flash->error(__('Le matériel n\'a pas pu être édité.')); |
... | ... | @@ -491,9 +493,16 @@ class MaterielsController extends AppController |
491 | 493 | { |
492 | 494 | //$this->request->allowMethod(['post', 'delete']); |
493 | 495 | $materiel = $this->Materiels->get($id); |
496 | + // On récupère les infos dont on a besoin pour l'envoi de mails AVANT la supression, on s'appelle pas Chuck Norris | |
497 | + $nom = $materiel->designation; | |
498 | + $grpMetier = $materiel->groupes_metier_id; | |
499 | + $mailOwner = $materiel->email_responsable; | |
500 | + $grpThematique = $materiel->groupes_thematique_id; | |
501 | + | |
494 | 502 | if ($this->Materiels->delete($materiel)) { |
495 | 503 | $this->Flash->success(__('Le matériel a bien été supprimé.')); |
496 | - $this->sendEmailToManagement($id); | |
504 | +// $this->sendEmailToManagement($id); | |
505 | + $this->sendEmail(null, $nom, $mailOwner, $grpMetier, $grpThematique); | |
497 | 506 | } else { |
498 | 507 | $this->Flash->error(__('Le matériel n\'a pas pu être supprimé.')); |
499 | 508 | } |
... | ... | @@ -521,13 +530,18 @@ class MaterielsController extends AppController |
521 | 530 | $this->Flash->error('Pour valider un matériel, les champs suivants ne doivent pas être vide : Nom propriétaire, Fournisseur, Numéro de commande, Organisme, prix et date de reception'); |
522 | 531 | return $this->redirect(['action' => 'edit', $id]); |
523 | 532 | } |
524 | - $message = 'Le matériel "'.$materiel->get('designation').'" ('.$materiel->numero_laboratoire.') a été validé.'; | |
525 | - $this->sendEmailTo('Validation d\'un matériel', $message, [$materiel->get('email_responsable')]); | |
533 | + $role_session = TableRegistry::get('Users')->find()->select('id')->where(['email' => $_SESSION['Auth']['User']['mail'][0], 'role' => 'Administration'])->first(); | |
534 | + if ($role_session) { | |
535 | + $nom_gest = $_SESSION['Auth']['User']['givenname'][0].' '.$_SESSION['Auth']['User']['sn'][0]; | |
536 | + $materiel->set('nom_gestionnaire', $nom_gest ); | |
537 | + } | |
538 | +// $message = 'Le matériel "'.$materiel->get('designation').'" ('.$materiel->numero_laboratoire.') a été validé.'; | |
539 | +// $this->sendEmailTo('Validation d\'un matériel', $message, [$materiel->get('email_responsable')]); | |
526 | 540 | } |
527 | 541 | |
528 | 542 | if ($this->Materiels->save($materiel, ['checkRules' => false, 'checkExisting' => false])) { |
529 | 543 | $this->Flash->success(__($message)); |
530 | - $this->sendEmailToManagement($id); | |
544 | +// $this->sendEmailToManagement($id); | |
531 | 545 | } |
532 | 546 | else { |
533 | 547 | $this->Flash->error(__('Le statut n\'a pas pu être édité.')); |
... | ... | @@ -545,6 +559,7 @@ class MaterielsController extends AppController |
545 | 559 | */ |
546 | 560 | public function statusValidated($id = null, $from = 'index') { |
547 | 561 | $this->statusSetTo('VALIDATED', 'Le matériel a bien été validé', $id, $from); |
562 | + $this->sendEmail($id); | |
548 | 563 | } |
549 | 564 | |
550 | 565 | /** |
... | ... | @@ -555,6 +570,7 @@ class MaterielsController extends AppController |
555 | 570 | */ |
556 | 571 | public function statusToBeArchived($id = null, $from = 'index') { |
557 | 572 | $this->statusSetTo('TOBEARCHIVED', 'La sortie d\'inventaire a bien été demandée', $id, $from); |
573 | + $this->sendEmail($id); | |
558 | 574 | } |
559 | 575 | |
560 | 576 | /** |
... | ... | @@ -565,6 +581,7 @@ class MaterielsController extends AppController |
565 | 581 | */ |
566 | 582 | public function statusArchived($id = null, $from = 'index') { |
567 | 583 | $this->statusSetTo('ARCHIVED', 'Le matériel a bien été sorti de l\'inventaire', $id, $from); |
584 | + $this->sendEmail($id); | |
568 | 585 | } |
569 | 586 | |
570 | 587 | /** |
... | ... | @@ -1042,14 +1059,15 @@ class MaterielsController extends AppController |
1042 | 1059 | $materiel = $this->Materiels->get($id)->set('etiquette', $printed); |
1043 | 1060 | |
1044 | 1061 | if ($this->Materiels->save($materiel, ['checkRules' => false, 'checkExisting' => false])) { |
1045 | - $this->Flash->success(__('L\'étiquette a bien été éditer.')); | |
1062 | + $this->Flash->success(__('L\'étiquette a bien été éditée.')); | |
1046 | 1063 | // Envoi email seulement si etiquette posée |
1047 | 1064 | if ($printed) { |
1048 | 1065 | // $this->sendEmailToManagement($id); |
1066 | + $this->sendEmail($id); | |
1049 | 1067 | } |
1050 | 1068 | } |
1051 | 1069 | else { |
1052 | - $this->Flash->error(__('L\'étiquette n\'a pas pu être édité.')); | |
1070 | + $this->Flash->error(__('L\'étiquette n\'a pas pu être éditée.')); | |
1053 | 1071 | } |
1054 | 1072 | |
1055 | 1073 | return $this->redirect($this->referer()); | ... | ... |
src/Template/Configurations/edit.ctp
... | ... | @@ -52,7 +52,7 @@ |
52 | 52 | echo '<span style="text-decoration: underline;">Emails</span>'; |
53 | 53 | echo '</h3>'; |
54 | 54 | echo '<div id="emprunts" style="margin-bottom: 20px;">'; |
55 | - echo $this->Form->input('envoi_mail_management_dev', ['label' => 'Ne pas envoyer les mails de management']); | |
55 | + echo $this->Form->input('envoi_mail', ['label' => 'Activer l\'envoi des mails']); | |
56 | 56 | echo $this->Form->input('sender_mail', ['label' => 'Attribut "sender" (mail)']); |
57 | 57 | echo $this->Form->input('emailGuest1', ['label' => 'Mail guest 1']); |
58 | 58 | echo $this->Form->input('emailGuest2', ['label' => 'Mail guest 2']); | ... | ... |
src/Template/Configurations/view.ctp
... | ... | @@ -32,7 +32,7 @@ |
32 | 32 | }else { |
33 | 33 | $ldap="Non"; |
34 | 34 | } |
35 | - if(h($configurationObj->envoi_mail_management_dev) == 1) { | |
35 | + if(h($configurationObj->envoi_mail) == 0) { | |
36 | 36 | $local="Non"; |
37 | 37 | }else { |
38 | 38 | $local="Oui"; |
... | ... | @@ -102,7 +102,7 @@ |
102 | 102 | echo '<div id="emprunts" style="margin-bottom: 20px;">'; |
103 | 103 | echo '<table>'; |
104 | 104 | echo '<tr><th style="width: 250px;"></th><th></th></tr>'; |
105 | - $displayElement(__('Envoi des mails de management en local'), $local); | |
105 | + $displayElement(__('Activer l\'envoi des mails'), $local); | |
106 | 106 | $displayElement(__('Attribut "sender" (mail)'), h($configurationObj->sender_mail)); |
107 | 107 | $displayElement(__('Mail guest 1'), h($configurationObj->emailGuest1)); |
108 | 108 | $displayElement(__('Mail guest 2'), h($configurationObj->emailGuest2)); | ... | ... |
src/Template/Layout/default.ctp
... | ... | @@ -33,6 +33,9 @@ $cakeDescription = 'Labinvent 2'; |
33 | 33 | <?= $this->fetch('meta')?> |
34 | 34 | <?= $this->fetch('css')?> |
35 | 35 | <?= $this->fetch('script')?> |
36 | + <style> | |
37 | + #footer a, #footer p, #footer font { font-size: x-small; } | |
38 | + </style> | |
36 | 39 | </head> |
37 | 40 | <body> |
38 | 41 | |
... | ... | @@ -95,6 +98,8 @@ $cakeDescription = 'Labinvent 2'; |
95 | 98 | <td id="version"> |
96 | 99 | <!-- VERSION M.m.f.b (version (M)ajeure, version (m)ineure, numero de nouvelle (f)onctionnalite, numero de (b)ugfix) --> |
97 | 100 | <font color="black">VERSION 2.6.2 (12/05/2017)</font> |
101 | + <br/> | |
102 | + <font color="black"><a href="<?php echo $this->request->webroot ?>webroot/doc/userguide/labinvent2_userguide.pdf" onclick="window.open(this.href); return false;">Documentation utilisateurs</a> | <a href="https://projects.irap.omp.eu/projects/inventirap/wiki/Installation" onclick="window.open(this.href); return false;">Wiki installation</a></font> | |
98 | 103 | </td> |
99 | 104 | </tr> |
100 | 105 | </table> | ... | ... |
src/Template/Materiels/add.ctp
... | ... | @@ -137,11 +137,14 @@ else { |
137 | 137 | |
138 | 138 | // Modif BD : |
139 | 139 | // ALTER TABLE `materiels` ADD `nom_gestionnaire` VARCHAR( 45 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL AFTER `email_responsable` ; |
140 | + // Condition pour vérifier que se soit un admin qui est connecté : (!is_null($res)) ? | |
141 | + $res = TableRegistry::get('Users')->find()->where(['username' => $username, 'role' => 'Administration'])->first(); | |
142 | + $administrateurs = TableRegistry::get('Users')->find('list', [ 'keyField' => 'nom', 'valueField' => 'nom'])->where(['role =' => 'Administration'])->toArray(); | |
140 | 143 | echo $this->Form->input('nom_gestionnaire', [ |
141 | - 'label' => 'Nom du gestionnaire de référence du matériel', | |
142 | - 'empty' => 'Choisir un utilisateur', | |
143 | - 'default' => $username, | |
144 | - 'options' => TableRegistry::get('Users')->find('list', [ 'keyField' => 'nom', 'valueField' => 'nom'])->where(['role =' => 'Administration']) | |
144 | + 'label' => 'Nom du gestionnaire de référence du matériel', | |
145 | + 'empty' => 'Choisir un gestionnaire', | |
146 | + 'default' => $_SESSION['Auth']['User']['sn'][0], | |
147 | + 'options' => $administrateurs | |
145 | 148 | ]); |
146 | 149 | |
147 | 150 | echo $this->Form->input('fournisseur', ['label' => 'Fournisseur', 'default' => $Fournisseur]); |
... | ... | @@ -214,7 +217,7 @@ $(document).ready(function () { |
214 | 217 | updateSelectOptionsFromAnother("#categorie-id", "#sur-categorie-id", "Categories/getAll", "Choisir une catégorie"); |
215 | 218 | else |
216 | 219 | updateSelectOptionsFromAnother("#categorie-id", "#sur-categorie-id", "Categories/getBySurCategorie", "Choisir une catégorie"); |
217 | - emptySelectOptions("#sous-categorie-id","Choisir une sous-catégorie"); | |
220 | + emptySelectOptions("#sous-categorie-id","Choisir une sous-catégorie"); | |
218 | 221 | return false; |
219 | 222 | }); |
220 | 223 | }); | ... | ... |
src/Template/Materiels/edit.ctp
... | ... | @@ -226,18 +226,15 @@ if ($IS_VALIDATED) |
226 | 226 | 'readonly' => true, |
227 | 227 | 'default' => $mail_responsable |
228 | 228 | ]); |
229 | - | |
229 | + | |
230 | 230 | $res = TableRegistry::get('Users')->find()->where(['username' => $username, 'role' => 'Administration'])->first(); |
231 | - $administrateurs = TableRegistry::get('Users')->find('list', [ 'keyField' => 'nom', 'valueField' => 'nom'])->where(['role =' => 'Administration']); | |
232 | - // Condition pour vérifier que se soit un admin qui est connecté : (!is_null($res)) ? | |
233 | - echo $this->Form->input('nom_gestionnaire', [ | |
234 | - 'label' => 'Nom du gestionnaire de référence du matériel', | |
235 | - 'disabled' => $isReadonlyField('nom_responsable', $myReadonlyFields), | |
236 | - 'empty' => 'Choisir un gestionnaire', | |
231 | + $administrateurs = TableRegistry::get('Users')->find('list', [ 'keyField' => 'nom', 'valueField' => 'nom'])->where(['role =' => 'Administration'])->toArray(); | |
232 | + echo $this->Form->input('nom_gestionnaire', [ | |
233 | + 'label' => 'Nom du gestionnaire de référence du matériel', | |
234 | + 'empty' => 'Choisir un gestionnaire', | |
235 | + 'default' => $_SESSION['Auth']['User']['sn'][0], | |
237 | 236 | 'options' => $administrateurs |
238 | 237 | ]); |
239 | - | |
240 | - | |
241 | 238 | |
242 | 239 | echo $this->Form->input('fournisseur', [ |
243 | 240 | 'label' => 'Fournisseur', |
... | ... | @@ -324,7 +321,14 @@ if ($IS_VALIDATED) |
324 | 321 | ?> |
325 | 322 | |
326 | 323 | <script type="text/javascript"> |
327 | - | |
324 | + | |
325 | +// Mettre un gestionnaire par défaut si c'est un admin qui modifie la fiche. Sinon l'utilisateur aura a le rentrer à la mano | |
326 | +$(document).ready(function () { | |
327 | + if ( <?php echo (!is_null($res)) ? true : false ?>) $("#nom-gestionnaire").val("<?php echo $_SESSION['Auth']['User']['sn'][0]?>"); | |
328 | + // Oui, c'est un bâtard entre du JavaScript et du PHP ... Mais au moins ca fonctionne en une seule ligne ! | |
329 | +}); | |
330 | + | |
331 | + | |
328 | 332 | /** |
329 | 333 | * Event DOMAINE change |
330 | 334 | * | ... | ... |
src/Template/Materiels/index.ctp
1 | 1 | <?php |
2 | 2 | use Cake\I18n\Time; |
3 | 3 | use Cake\I18n\Date; |
4 | +use Cake\ORM\TableRegistry; | |
4 | 5 | ?> |
5 | 6 | |
6 | 7 | |
... | ... | @@ -82,9 +83,9 @@ if (isset ( $STATUS )) { |
82 | 83 | |
83 | 84 | // Rajouté par Thibault Ajas, 20/04/2017 |
84 | 85 | echo $this->Form->create(); |
85 | - echo $this->Form->input('Afficher', [ | |
86 | - 'options' => ['20'=> 20, '30'=>30, '50'=>50, '100'=>100, '150'=>150, '200'=>200], | |
87 | - 'onChange' => "changeNbrMateriels(document.getElementById('afficher').options[selectedIndex].value)" | |
86 | + echo $this->Form->input('aff_par_defaut', [ | |
87 | + 'label' => 'Afficher', | |
88 | + 'options' => ['20'=> 20, '30'=>30, '50'=>50, '100'=>100, '150'=>150, '200'=>200], | |
88 | 89 | ]); |
89 | 90 | $this->Form->end(); |
90 | 91 | // Fin ajout |
... | ... | @@ -183,7 +184,7 @@ if (isset ( $STATUS )) { |
183 | 184 | echo $this->Html->link('<i class="icon-ok-sign"></i>', |
184 | 185 | ['action' => 'statusValidated', $materiel->id], |
185 | 186 | ['title' => 'Valider', 'style' => 'margin: 0 2px', 'escape' => false, |
186 | - 'confirm' => 'Êtes-vous sur de vouloir validé '.$materiel->designation.' ?']); | |
187 | + 'confirm' => 'Êtes-vous sur de vouloir valider '.$materiel->designation.' ?']); | |
187 | 188 | } |
188 | 189 | else if (h($materiel->status) == 'VALIDATED') { |
189 | 190 | echo $this->Html->link('<i class="icon-inbox"></i>', |
... | ... | @@ -323,67 +324,74 @@ if (isset ( $STATUS )) { |
323 | 324 | |
324 | 325 | |
325 | 326 | <script type="text/javascript"> |
326 | -function changeNbrMateriels(nbr) { | |
327 | - var urlDeBase = window.location.href.split("?"); | |
328 | - var urlDecoupee = window.location.search.split("&"), i, j; // On sépare la chaine des paramètres en fonction du & | |
329 | - var urlDecoupeeBis = new Array(); | |
330 | - var param = 0; | |
331 | - var bool = false; | |
332 | - | |
333 | - for(i=0; i<urlDecoupee.length; ++i) { | |
334 | - urlDecoupeeBis[i] = urlDecoupee[i].split("="); // On sépare les parametres de leurs valeurs | |
335 | - for(j=0; j<urlDecoupeeBis[i].length; ++j){ | |
336 | - if(urlDecoupeeBis[i][0] == "aff" || urlDecoupeeBis[i][0] == "?aff") { | |
337 | - bool = true; | |
338 | - param = i; // Si le parametre "aff" est trouvé, on le récupère | |
339 | - break; | |
327 | + | |
328 | +// Pour changer l'url lorsque le nombre d'éléments souhaités est modifié | |
329 | +$(document).ready(function () { | |
330 | + $("#aff-par-defaut").bind("change", function (event) { | |
331 | + var nbr=$("#aff-par-defaut :selected").val(); | |
332 | + var urlDeBase = window.location.href.split("?"); | |
333 | + var urlDecoupee = window.location.search.split("&"), i, j; // On sépare la chaine des paramètres en fonction du & | |
334 | + var urlDecoupeeBis = new Array(); | |
335 | + var param = 0; | |
336 | + var bool = false; | |
337 | + | |
338 | + for(i=0; i<urlDecoupee.length; ++i) { | |
339 | + urlDecoupeeBis[i] = urlDecoupee[i].split("="); // On sépare les parametres de leurs valeurs | |
340 | + for(j=0; j<urlDecoupeeBis[i].length; ++j){ | |
341 | + if(urlDecoupeeBis[i][0] == "aff" || urlDecoupeeBis[i][0] == "?aff") { | |
342 | + bool = true; | |
343 | + param = i; // Si le parametre "aff" est trouvé, on le récupère | |
344 | + break; | |
345 | + } | |
340 | 346 | } |
341 | 347 | } |
342 | - } | |
343 | - | |
344 | - if(bool) { // Si le parametre recherche a ete trouve, ... | |
345 | - urlDecoupeeBis[param][1] = nbr; //urlDecoupeeBis[i][0] c'est le nom du parametre, et urlDecoupeeBis[i][1] c'est la vaeur associée | |
346 | - var url = ""; | |
347 | - for(i=0; i<urlDecoupee.length; ++i) { //... on reconstruit une url propre ... | |
348 | - if(/^\?[a-zA-A0-9]*/.test(urlDecoupeeBis[0][0])) { | |
349 | - if(i!=0) url += "&"; | |
350 | - // Sauf pour le 1er parametre, qui lui commence par un "?" | |
351 | - } else url += "&"; | |
352 | - url += urlDecoupeeBis[i][0]+"="+urlDecoupeeBis[i][1]; | |
353 | - // On reforme les parametres "&nom=valeur" en les concatenant | |
354 | - } | |
355 | - window.location.href = urlDeBase[0]+url; // ... et on fait la redirection | |
356 | - } else if(urlDecoupee[0]=="") window.location.href = window.location.href + '?aff=' + nbr; // Sinon on joute juste le parametre en fin d'url | |
357 | - else window.location.href = window.location.href + '&aff=' + nbr; | |
348 | + | |
349 | + if(bool) { // Si le parametre recherche a ete trouve, ... | |
350 | + urlDecoupeeBis[param][1] = nbr; //urlDecoupeeBis[i][0] c'est le nom du parametre, et urlDecoupeeBis[i][1] c'est la valeur associée | |
351 | + var url = ""; | |
352 | + for(i=0; i<urlDecoupee.length; ++i) { //... on reconstruit une url propre ... | |
353 | + if(/^\?[a-zA-A0-9]*/.test(urlDecoupeeBis[0][0])) { | |
354 | + if(i!=0) url += "&"; | |
355 | + // Sauf pour le 1er parametre, qui lui commence par un "?" | |
356 | + } else url += "&"; | |
357 | + url += urlDecoupeeBis[i][0]+"="+urlDecoupeeBis[i][1]; | |
358 | + // On reforme les parametres "&nom=valeur" en les concatenant | |
359 | + } | |
360 | + window.location.href = urlDeBase[0]+url; // ... et on fait la redirection | |
361 | + } else if(urlDecoupee[0]=="") window.location.href = window.location.href + '?aff=' + nbr; // Sinon on joute juste le parametre en fin d'url | |
362 | + else window.location.href = window.location.href + '&aff=' + nbr; | |
358 | 363 | |
359 | -} | |
364 | + }); | |
365 | +}); | |
360 | 366 | |
361 | -function demarrage(){ | |
367 | +// Pour lire l'url et actualiser l'option sélectionnée | |
368 | +$(document).ready(function () { | |
362 | 369 | var affichage = parseInt($_GET('aff')); |
363 | 370 | switch(affichage) { |
364 | 371 | case 20 : |
365 | - document.getElementById('afficher').selectedIndex = 0; | |
372 | + document.getElementById('aff-par-defaut').selectedIndex = 0; | |
366 | 373 | break; |
367 | 374 | case 30 : |
368 | - document.getElementById('afficher').selectedIndex = 1; | |
375 | + document.getElementById('aff-par-defaut').selectedIndex = 1; | |
369 | 376 | break; |
370 | 377 | case 50 : |
371 | - document.getElementById('afficher').selectedIndex = 2; | |
378 | + document.getElementById('aff-par-defaut').selectedIndex = 2; | |
372 | 379 | break; |
373 | 380 | case 100 : |
374 | - document.getElementById('afficher').selectedIndex = 3; | |
381 | + document.getElementById('aff-par-defaut').selectedIndex = 3; | |
375 | 382 | break; |
376 | 383 | case 150 : |
377 | - document.getElementById('afficher').selectedIndex = 4; | |
384 | + document.getElementById('aff-par-defaut').selectedIndex = 4; | |
378 | 385 | break; |
379 | 386 | case 200 : |
380 | - document.getElementById('afficher').selectedIndex = 5; | |
387 | + document.getElementById('aff-par-defaut').selectedIndex = 5; | |
381 | 388 | break; |
382 | - default : | |
383 | - document.getElementById('afficher').selectedIndex = 0; | |
389 | + default : // Par défaut, lorsque le parametre "aff" n'existe pas, au premier affichage | |
390 | + $("#aff-par-defaut").val(<?php echo $configuration->aff_par_defaut ?>); | |
391 | + // On récupère la valeur dans la BD directement, mais en PHP, faut pas déconner | |
384 | 392 | break; |
385 | 393 | } |
386 | -} | |
394 | +}); | |
387 | 395 | |
388 | 396 | // La fonction suivante permet de recuperer les parametres d’une URL |
389 | 397 | function $_GET(param) { |
... | ... | @@ -394,14 +402,12 @@ function $_GET(param) { |
394 | 402 | vars[key] = value !== undefined ? value : ''; |
395 | 403 | } |
396 | 404 | ); |
397 | - | |
405 | + | |
398 | 406 | if ( param ) { |
399 | 407 | return vars[param] ? vars[param] : null; |
400 | 408 | } |
401 | 409 | return vars; |
402 | 410 | } |
403 | 411 | |
404 | -window.onload = demarrage(); | |
405 | - | |
406 | 412 | </script> |
407 | 413 | |
408 | 414 | \ No newline at end of file | ... | ... |
src/Template/Pages/acls.ctp
... | ... | @@ -140,7 +140,7 @@ |
140 | 140 | <p class="P46">ACL (Access Control List)</p> |
141 | 141 | <p class="P11">(Etienne Pallier – 24/<span class="T22">06</span>/201<span class="T23">6</span>)</p> |
142 | 142 | <p class="P1"> </p> |
143 | - <p class="P1"> </p> | |
143 | + <p class="P4">Cette page n'est plus à jour, se référer à <a href="https://docs.google.com/document/d/1-OhEeoi96j6ueUl5NQCQ9ZsTfbJTFw3ZVaWU2iYly_o/edit" onclick="window.open(this.href); return false;">ce document</a> </p> | |
144 | 144 | <p class="P1"> </p> |
145 | 145 | <p class="P1">I – Cycle de vie du statut du matériel</p> |
146 | 146 | <p class="P1"> </p> | ... | ... |
src/Template/Pages/home_app.ctp
... | ... | @@ -12,7 +12,7 @@ |
12 | 12 | |
13 | 13 | echo '<table cellpadding="0" cellspacing="0" style="width: 800px;">'; |
14 | 14 | echo '<tr><th></th></tr>'; |
15 | - echo '<tr><td> '.$this->Html->link('Voir mes matériels', [ | |
15 | + echo '<tr><td> '.$this->Html->link('Voir les matériels à mon nom', [ | |
16 | 16 | 'controller' => 'materiels', 'action' => 'index', 'MY' => $username]).' </td></tr>'; |
17 | 17 | echo '</table>'; |
18 | 18 | |
... | ... | @@ -20,9 +20,9 @@ |
20 | 20 | if (in_array($role, ['Administration', 'Administration Plus'])) { |
21 | 21 | echo '<table cellpadding="0" cellspacing="0" style="width: 800px;">'; |
22 | 22 | echo '<tr><th></th></tr>'; |
23 | - echo '<tr><td> '.$this->Html->link('Voir les matériels à valider', [ | |
23 | + echo '<tr><td> '.$this->Html->link('Voir les matériels à valider dont je suis gestionnaire', [ | |
24 | 24 | 'controller' => 'materiels', 'action' => 'index', 'CREATED']).' </td></tr>'; |
25 | - echo '<tr><td> '.$this->Html->link('Voir les matériels à sortir de l\'inventaire', [ | |
25 | + echo '<tr><td> '.$this->Html->link('Voir les matériels à sortir de l\'inventaire dont je suis gestionnaire', [ | |
26 | 26 | 'controller' => 'materiels', 'action' => 'index', 'TOBEARCHIVED']).' </td></tr>'; |
27 | 27 | echo '</table>'; |
28 | 28 | } |
... | ... | @@ -33,7 +33,7 @@ |
33 | 33 | echo '<tr><th></th></tr>'; |
34 | 34 | echo '<tr><td> '.$this->Html->link('Voir les matériels dont je suis responsable', [ |
35 | 35 | 'controller' => 'materiels', 'action' => 'index', 'GM' => $userConnected->groupes_metier_id, 'GT' => $userConnected->groupe_thematique_id]).' </td></tr>'; |
36 | - echo '<tr><td> '.$this->Html->link('Voir les matériels à valider dont je suis responsable', [ | |
36 | + echo '<tr><td> '.$this->Html->link('Voir les matériels à valider dont je suis responsable', [ | |
37 | 37 | 'controller' => 'materiels', 'action' => 'index', 'GMV' => $userConnected->groupes_metier_id, 'GTV' => $userConnected->groupe_thematique_id]).' </td></tr>'; |
38 | 38 | echo '<tr><td> '.$this->Html->link('Voir les suivis des materiels dont je suis responsable', [ |
39 | 39 | 'controller' => 'suivis', 'action' => 'index', 'GM' => $userConnected->groupes_metier_id, 'GT' => $userConnected->groupe_thematique_id]).' </td></tr>'; | ... | ... |