Commit cf634daa4f8973a29e9fd15ec031f1b77195c8fc
Exists in
master
and in
3 other branches
v2.6.2
Showing
16 changed files
with
670 additions
and
202 deletions
Show diff stats
README-LABINVENT.md
... | ... | @@ -53,13 +53,20 @@ Logiciel testé et validé sur les configurations suivantes : |
53 | 53 | |
54 | 54 | VERSION ACTUELLE |
55 | 55 | |
56 | +<<<<<<< HEAD | |
56 | 57 | Date: 09/05/2017 |
57 | 58 | Version: 2.6.0 |
58 | 59 | - Le nom des matériels sont en rouge dans la liste losrque la date de garantie à été dépassée, ainsi que la date elle-même dans leur fiche détaillée |
60 | +======= | |
61 | +Date: 12/05/2017 | |
62 | +Version: 2.6.2 | |
63 | +- L'ajout d'un gestionnaire du matériel est désormais obligatoire à l'ajout d'un matériel | |
64 | +- Bugfixes d'affichage de certaines pages (ACLs, Imprimantes notamment) | |
65 | +>>>>>>> dev-IRAP | |
59 | 66 | - Petits bugfixes divers |
60 | 67 | - ATTENTION : Mise à jour de la base de données requise |
61 | 68 | |
62 | -Version majeure en cours (2.5): https://projects.irap.omp.eu/versions/99 | |
69 | +Version majeure en cours (2.6): https://projects.irap.omp.eu/versions/99 | |
63 | 70 | |
64 | 71 | ROADMAP: https://projects.irap.omp.eu/projects/labinvent/roadmap |
65 | 72 | |
... | ... | @@ -69,11 +76,25 @@ CHANGEMENTS IMPORTANTS (MILESTONES) |
69 | 76 | |
70 | 77 | Liste complète des évolutions: https://gitlab.irap.omp.eu/epallier/labinvent/commits/master |
71 | 78 | |
79 | +<<<<<<< HEAD | |
80 | +======= | |
81 | +09/05/2017 Version: 2.6.1 | |
82 | + Début d'amélioration et de modification de la fonctionnalité d'envoi de mails | |
83 | + Petits bugfixes divers | |
84 | + | |
85 | +09/05/2017 Version: 2.6.0 | |
86 | + Le nom des matériels sont en rouge dans la liste losrque la date de garantie à été dépassée, ainsi que la date elle-même dans leur fiche détaillée | |
87 | + Petits bugfixes divers | |
88 | + | |
89 | +>>>>>>> dev-IRAP | |
72 | 90 | 25/04/2017 Version: 2.5.6 |
73 | 91 | On peut maintenant configurer et choisir sur la page le nombre de materiels affichés (20 par défaut) |
74 | 92 | Petits bugfixes divers |
75 | 93 | Amélioration du script et de la doc d'installation |
94 | +<<<<<<< HEAD | |
76 | 95 | ATTENTION : Mise à jour de la base de données requise |
96 | +======= | |
97 | +>>>>>>> dev-IRAP | |
77 | 98 | |
78 | 99 | 03/04/2017 Version: 2.5.5.1 |
79 | 100 | petits bugfixes divers | ... | ... |
database/labinvent_2.1_12-05-16.sql
... | ... | @@ -172,6 +172,7 @@ CREATE TABLE IF NOT EXISTS `materiels` ( |
172 | 172 | `lieu_detail` varchar(45) DEFAULT NULL, |
173 | 173 | `nom_responsable` varchar(45) DEFAULT NULL, |
174 | 174 | `email_responsable` varchar(45) DEFAULT NULL, |
175 | + `nom_gestionnaire` VARCHAR(45) NOT NULL, | |
175 | 176 | `nom_createur` varchar(45) DEFAULT NULL COMMENT 'nom du createur de la fiche', |
176 | 177 | `nom_modificateur` varchar(45) DEFAULT NULL COMMENT 'nom du modificateur de la fiche', |
177 | 178 | `created` datetime DEFAULT NULL COMMENT 'date et heure de creation de la fiche', |
... | ... | @@ -345,7 +346,7 @@ CREATE TABLE IF NOT EXISTS `configurations` ( |
345 | 346 | `hasPrinter` tinyint(1) DEFAULT NULL, |
346 | 347 | `nom_groupe_thematique` varchar(50) DEFAULT 'Groupe thematique', |
347 | 348 | `nom_groupe_metier` varchar(50) DEFAULT 'Groupe metier', |
348 | - `envoi_mail_management_dev` tinyint(1) DEFAULT NULL, | |
349 | + `envoi_mail_management_dev` tinyint(1) NOT NULL DEFAULT 1, | |
349 | 350 | `sender_mail` varchar(500) DEFAULT 'labinvent@irap.omp.eu', |
350 | 351 | `emailGuest1` varchar(45) DEFAULT NULL, |
351 | 352 | `emailGuest2` varchar(45) DEFAULT NULL, |
... | ... | @@ -462,7 +463,10 @@ Insert into `configurations`( |
462 | 463 | `labPresent`, |
463 | 464 | `labUmr`, |
464 | 465 | `hasPrinter`, |
466 | +<<<<<<< HEAD | |
465 | 467 | `envoi_mail_management_dev` |
468 | +======= | |
469 | +>>>>>>> dev-IRAP | |
466 | 470 | `emailGuest1`, |
467 | 471 | `emailGuest2`, |
468 | 472 | `emailGuest3`) |
... | ... | @@ -481,7 +485,10 @@ values ( |
481 | 485 | 'du ', |
482 | 486 | '', |
483 | 487 | '0', |
488 | +<<<<<<< HEAD | |
484 | 489 | '0', |
490 | +======= | |
491 | +>>>>>>> dev-IRAP | |
485 | 492 | '', |
486 | 493 | '', |
487 | 494 | ''); |
... | ... | @@ -490,4 +497,4 @@ values ( |
490 | 497 | |
491 | 498 | /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; |
492 | 499 | /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; |
493 | -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; | |
494 | 500 | \ No newline at end of file |
501 | +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; | ... | ... |
... | ... | @@ -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-12.sql ./script_sql/db-update-2017-05-12-build.sql | |
23 | + | |
24 | +# Execute sql update script | |
25 | +sed -e "s/database/$database/" -i ./script_sql/db-update-2017-05-12-build.sql | |
26 | +mysql --user=$username --password=$password -h $host < ./script_sql/db-update-2017-05-12-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
... | ... | @@ -19,6 +19,7 @@ use Cake\Event\Event; |
19 | 19 | use Cake\ORM\TableRegistry; |
20 | 20 | use Cake\Mailer\Email; |
21 | 21 | use Cake\Core\Configure; |
22 | +use PhpParser\Node\Expr\Include_; | |
22 | 23 | |
23 | 24 | /** |
24 | 25 | * Application Controller |
... | ... | @@ -273,6 +274,7 @@ class AppController extends Controller |
273 | 274 | } |
274 | 275 | |
275 | 276 | } |
277 | + | |
276 | 278 | public function sendEmailToManagement($idObj = null) { |
277 | 279 | |
278 | 280 | $configuration = TableRegistry::get('Configurations')->find()->where(['id =' => 1])->first(); |
... | ... | @@ -400,4 +402,132 @@ class AppController extends Controller |
400 | 402 | } |
401 | 403 | } |
402 | 404 | |
405 | + // Les fonctions suivantes sont en cours de developpement | |
406 | + /** | |
407 | + * 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 | +// 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 | +// */ | |
420 | + | |
421 | +// $configuration = TableRegistry::get('Configurations')->find()->where(['id =' => 1])->first(); | |
422 | +// $action = $this->request->params['action']; // add or edit or delete or ... | |
423 | + | |
424 | +// if($idObj != null || $nomObj != null) { | |
425 | + | |
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 | +// } | |
476 | + | |
477 | +// $mailList = array(); | |
478 | + | |
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 | +// } | |
484 | + | |
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 | +// } | |
493 | + | |
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 | +// } | |
506 | + | |
507 | +// private function sendEmailTo($subject, $msg, $mail, $config) { | |
508 | + | |
509 | +// if ($mail != null && !$config->test) { | |
510 | +// if (filter_var($mail, FILTER_VALIDATE_EMAIL)) { | |
511 | +// $email = new Email(); | |
512 | + | |
513 | +// $etiquetteFrom = explode("@", $config->sender_mail); | |
514 | + | |
515 | +// if($config->envoi_mail_management_dev) { // <-- Si la case est cochée | |
516 | +// $email->transport('dev') | |
517 | +// ->from([$config->sender_mail => $etiquetteFrom[0]]) | |
518 | +// ->to($mail) | |
519 | +// ->subject("[LabInvent] ".$subject) | |
520 | +// ->send($msg); | |
521 | +// } 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); | |
527 | +// } | |
528 | +// } | |
529 | + | |
530 | +// } | |
531 | +// } | |
532 | + | |
403 | 533 | } | ... | ... |
src/Controller/MaterielsController.php
... | ... | @@ -277,8 +277,8 @@ class MaterielsController extends AppController |
277 | 277 | * |
278 | 278 | * @return \Cake\Network\Response|void Redirects on successful add, renders view otherwise. |
279 | 279 | */ |
280 | - public function add() | |
281 | - { | |
280 | + public function add() { | |
281 | + | |
282 | 282 | $materiel = $this->Materiels->newEntity(); |
283 | 283 | if ($this->request->is('post')) { |
284 | 284 | $materiel = $this->Materiels->patchEntity($materiel, $this->request->data); |
... | ... | @@ -291,7 +291,9 @@ class MaterielsController extends AppController |
291 | 291 | $this->sendEmailToCreate($materiel->id); |
292 | 292 | } |
293 | 293 | |
294 | - $message = $materiel->get('nom_createur').' a ajouté le matériel "'.$materiel->get('designation').'" ('.$materiel->numero_laboratoire.')'; | |
294 | + $message = $materiel->get('nom_createur').' à ajouté le matériel "'.$materiel->get('designation').'" ('.$materiel->numero_laboratoire.')'; | |
295 | + $subject = 'Ajout de matériel'; | |
296 | + $listMails = []; | |
295 | 297 | |
296 | 298 | //Envoi mail responsable |
297 | 299 | $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(); |
... | ... | @@ -316,9 +318,14 @@ class MaterielsController extends AppController |
316 | 318 | if(!$configuration['envoi_mail_management_dev']){ // Si false, on envoie les mails, sinon on les envoie pas |
317 | 319 | $this->sendEmailTo('Ajout d\'un matériel', $message, $mails); |
318 | 320 | } |
319 | - | |
321 | + | |
322 | +// $this->sendEmail($materiel->id); | |
320 | 323 | |
324 | +<<<<<<< HEAD | |
321 | 325 | return $this->redirect(['action' => 'view', $materiel->id]); |
326 | +======= | |
327 | + return $this->redirect(['action' => 'view', $materiel->id]); | |
328 | +>>>>>>> dev-IRAP | |
322 | 329 | } else { |
323 | 330 | $this->Flash->error(__('Le matériel n\'a pas pu être ajouté.')); |
324 | 331 | } |
... | ... | @@ -402,7 +409,7 @@ class MaterielsController extends AppController |
402 | 409 | } |
403 | 410 | $mail_responsable = TableRegistry::get('Users')->find()->select('email')->where(['username =' => $this->LdapAuth->user($this->request->session()->read('authType'))[0]])->first()['email']; |
404 | 411 | |
405 | - //Fonction utilisé dans la vue, déclaré ici pour éviter les problèmes de tests | |
412 | + //Fonction utilisée dans la vue, déclaré ici pour éviter les problèmes de tests | |
406 | 413 | $isReadonlyField = function ($fieldName, $myReadonlyFields) { |
407 | 414 | if (! empty ( $myReadonlyFields ) && $myReadonlyFields [0] == '*') { |
408 | 415 | $modifiableFields = $myReadonlyFields; |
... | ... | @@ -1013,7 +1020,7 @@ class MaterielsController extends AppController |
1013 | 1020 | fclose($csv_file); |
1014 | 1021 | |
1015 | 1022 | exit(); |
1016 | - //Sans le exit() ca ne fonctionne pas pour de petite liste, et dans tous les cas une ligne en javascript est écris si il n'y a pas exit() | |
1023 | + //Sans le exit() ça ne fonctionne pas pour des petites listes, et dans tout les cas une ligne en javascript est écrite si il n'y a pas exit() | |
1017 | 1024 | |
1018 | 1025 | //La redirection suivante fonctionne parfaitement, mais inutile à cause du exit() |
1019 | 1026 | /* |
... | ... | @@ -1041,7 +1048,7 @@ class MaterielsController extends AppController |
1041 | 1048 | $this->Flash->success(__('L\'étiquette a bien été éditer.')); |
1042 | 1049 | // Envoi email seulement si etiquette posée |
1043 | 1050 | if ($printed) { |
1044 | - $this->sendEmailToManagement($id); | |
1051 | +// $this->sendEmailToManagement($id); | |
1045 | 1052 | } |
1046 | 1053 | } |
1047 | 1054 | else { | ... | ... |
src/Model/Table/MaterielsTable.php
... | ... | @@ -194,6 +194,8 @@ class MaterielsTable extends AppTable |
194 | 194 | |
195 | 195 | $validator |
196 | 196 | ->notEmpty('site_id', 'Ce champ doit être rempli'); |
197 | +// ->allowEmpty('site_id'); | |
198 | +// A passer en non commenté pour lorsque le matos est validé | |
197 | 199 | |
198 | 200 | $validator |
199 | 201 | ->allowEmpty('lieu_detail') |
... | ... | @@ -206,6 +208,9 @@ class MaterielsTable extends AppTable |
206 | 208 | $validator |
207 | 209 | ->allowEmpty('email_responsable') |
208 | 210 | ->email('email_responsable'); |
211 | + | |
212 | + $validator | |
213 | + ->notEmpty('nom_gestionnaire', 'Ce champ doit être rempli'); | |
209 | 214 | |
210 | 215 | $validator |
211 | 216 | ->allowEmpty('nom_createur'); | ... | ... |
src/Template/Layout/default.ctp
... | ... | @@ -94,7 +94,7 @@ $cakeDescription = 'Labinvent 2'; |
94 | 94 | </i></td> |
95 | 95 | <td id="version"> |
96 | 96 | <!-- VERSION M.m.f.b (version (M)ajeure, version (m)ineure, numero de nouvelle (f)onctionnalite, numero de (b)ugfix) --> |
97 | - <font color="black">VERSION 2.5.5.0 (01/07/2016)</font> | |
97 | + <font color="black">VERSION 2.6.2 (12/05/2017)</font> | |
98 | 98 | </td> |
99 | 99 | </tr> |
100 | 100 | </table> | ... | ... |
src/Template/Materiels/add.ctp
1 | 1 | <?php |
2 | +use Cake\ORM\TableRegistry; | |
3 | + | |
2 | 4 | if(isset($cpMateriel)) { |
3 | 5 | $Designation = $cpMateriel->designation; |
4 | 6 | $Sur_categ_id = $cpMateriel->sur_categorie_id; |
... | ... | @@ -132,6 +134,16 @@ else { |
132 | 134 | 'readonly' => true, |
133 | 135 | 'default' => $mail_responsable |
134 | 136 | ]); |
137 | + | |
138 | + // Modif BD : | |
139 | + // ALTER TABLE `materiels` ADD `nom_gestionnaire` VARCHAR( 45 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL AFTER `email_responsable` ; | |
140 | + 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']) | |
145 | + ]); | |
146 | + | |
135 | 147 | echo $this->Form->input('fournisseur', ['label' => 'Fournisseur', 'default' => $Fournisseur]); |
136 | 148 | echo $this->Form->input('organisme_id', ['options' => $organismes, 'style' => 'width: 380px', 'empty' => 'Choisir un organisme', 'default' => $Organisme_id]); |
137 | 149 | echo $this->Form->input('prix_ht', ['label' => 'Prix HT (€)', 'default' => $Prix_ht]); | ... | ... |
src/Template/Materiels/edit.ctp
1 | 1 | <?php |
2 | 2 | |
3 | 3 | |
4 | +use Cake\ORM\TableRegistry; | |
5 | + | |
4 | 6 | $administrationData = array ( |
5 | 7 | 'eotp', |
6 | 8 | 'numero_commande', |
... | ... | @@ -224,7 +226,18 @@ if ($IS_VALIDATED) |
224 | 226 | 'readonly' => true, |
225 | 227 | 'default' => $mail_responsable |
226 | 228 | ]); |
227 | - | |
229 | + | |
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', | |
237 | + 'options' => $administrateurs | |
238 | + ]); | |
239 | + | |
240 | + | |
228 | 241 | |
229 | 242 | echo $this->Form->input('fournisseur', [ |
230 | 243 | 'label' => 'Fournisseur', |
... | ... | @@ -405,6 +418,5 @@ $(document).ready(function () { |
405 | 418 | } |
406 | 419 | }); |
407 | 420 | }); |
408 | - | |
409 | 421 | |
410 | 422 | </script> | ... | ... |
src/Template/Materiels/view.ctp
... | ... | @@ -374,6 +374,7 @@ if (h ( $materiel->status ) == 'ARCHIVED') |
374 | 374 | $displayElement ( __ ( 'Détail lieu de stockage' ), h ( $materiel->lieu_detail ) ); |
375 | 375 | |
376 | 376 | $displayElement ( __ ( 'Nom du propriétaire' ), $this->Html->link ( h ( $materiel->nom_responsable ), 'mailto:' . h ( $materiel->email_responsable ) ) ); |
377 | + $displayElement ( __ ( 'Nom du gestionnaire de référence' ), h ( $materiel->nom_gestionnaire ) ); | |
377 | 378 | $displayElement ( __ ( 'N. interne (labo)' ), h ( $materiel->numero_laboratoire ) ); |
378 | 379 | |
379 | 380 | if ($role == 'Super Administrateur') { | ... | ... |
src/Template/Pages/acls.ctp
1 | +<<<<<<< HEAD | |
1 | 2 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><!--This file was converted to xhtml by LibreOffice - see http://cgit.freedesktop.org/libreoffice/core/tree/filter/source/xslt for the code.--><head profile="http://dublincore.org/documents/dcmi-terms/"><meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/><title xml:lang="en-US">- no title specified</title><meta name="DCTERMS.title" content="" xml:lang="en-US"/><meta name="DCTERMS.language" content="en-US" scheme="DCTERMS.RFC4646"/><meta name="DCTERMS.source" content="http://xml.openoffice.org/odf2xhtml"/><meta name="DCTERMS.creator" content="Etienne Pallier"/><meta name="DCTERMS.issued" content="2014-01-21T19:49:00" scheme="DCTERMS.W3CDTF"/><meta name="DCTERMS.modified" content="2016-06-24T15:39:15.489669761" scheme="DCTERMS.W3CDTF"/><meta name="DCTERMS.provenance" content="" xml:lang="en-US"/><meta name="DCTERMS.subject" content="," xml:lang="en-US"/><link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" hreflang="en"/><link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" hreflang="en"/><link rel="schema.DCTYPE" href="http://purl.org/dc/dcmitype/" hreflang="en"/><link rel="schema.DCAM" href="http://purl.org/dc/dcam/" hreflang="en"/><style type="text/css"> |
2 | 3 | @page { } |
3 | 4 | table { border-collapse:collapse; border-spacing:0; empty-cells:show } |
... | ... | @@ -117,7 +118,396 @@ |
117 | 118 | </style></head><body dir="ltr" style="max-width:29.7cm;margin-top:1cm; margin-bottom:1cm; margin-left:1cm; margin-right:1.45cm; writing-mode:lr-tb; "><p class="P46">ACL (Access Control List)</p><p class="P11">(Etienne Pallier – 24/<span class="T22">06</span>/201<span class="T23">6</span>)</p><p class="P1"> </p><p class="P1"> </p><p class="P1"> </p><p class="P1">I – Cycle de vie du statut du matériel</p><p class="P1"> </p><p class="Standard"><span class="T5">Créer</span><span class="T2"> un matériel ==</span><span class="T9">> passe alors en statut </span><span class="T7">CREATED ==> </span><span class="T1">peut alors être éventuellement supprimé (mais ne pourra plus être supprimé ensuite)</span></p><p class="Standard"><span class="T7">Valider</span><span class="T9"> un matériel CREATED ==> passe alors en statut </span><span class="T7">VALIDATED </span><span class="T9">(</span><span class="T11">resp et </span><span class="T9">admin only)</span></p><p class="P4"><span class="T7">Demander l'Archivage</span><span class="T9"> d'un materiel VALIDATED ==> passe alors en statut </span><span class="T7">TOBEARCHIVED</span><span class="T9"> (resp et admin only)</span></p><p class="P4"><span class="T7">Sortir</span><span class="T9"> de l'inventaire (Valider une demande d'archivage d'un matériel TOBEARCHIVED) ==> statut </span><span class="T7">ARCHIVED</span><span class="T9"> (admin only)</span></p><p class="P4"><span class="T7">Désarchiver</span><span class="T9"> un matériel ==> repasse de TOBEARCHIVED ou ARCHIVED à </span><span class="T7">VALIDATED</span><span class="T9"> (admin only) </span></p><p class="P4"> </p><p class="P5">En résumé : </p><p class="P4"> </p><p class="P3">CREATED ==> VALIDATED ==> TOBEARCHIVED ==> ARCHIVED</p><p class="P2"><span class="T12"> </span><span class="T8">I /\ I I</span></p><p class="P2"><span class="T12"> </span><span class="T8">V I ------------------------ I --------------------------------- I (adminplus only)</span></p><p class="P3">DELETED</p><p class="P2"> </p><p class="P2"> </p><p class="P2"> </p><p class="P1">II - Droits des utilisateurs selon leur profil</p><p class="P1"> </p><p class="P1">A – Globalement (principes généraux)</p><p class="P1"> </p><p class="P6">Un utilisateur non logué ne doit RIEN pouvoir faire. Seulement se loguer, c'est tout. Il n'a accès qu'à la page d'accueil (de login).</p><p class="P6">Une fois logué, un utilisateur a des droits différents selon son profil, globalement :</p><p class="P14"><span class="T2">- un </span><span class="T5">USER</span><span class="T2"> ne peut que créer un matériel, un suivi, ou un emprunt, consulter, et modifier (uniquement ce qu'il a créé lui-même)</span></p><p class="P18"><span class="T2">- un </span><span class="T5">RESPONSABLE</span><span class="T2"> a tous les droits sauf accès à certains champs et certaines vues réservées à l'administration (ADMIN). Il ne peut pas non plus archiver un matériel, mais seulement demander l'archivage (comme un USER)(uniquement ce </span><span class="T3">lié à son groupe métier ou thématiques</span><span class="T2">)</span></p><p class="P14"><span class="T2">- un </span><span class="T5">ADMIN</span><span class="T2">(istratif) a tous les droits (y-compris champs réservés à l'administration)</span></p><p class="P14"><span class="T2">- un </span><span class="T5">ADMINPLUS</span><span class="T2"> (administratif Plus) a tous les droits de ADMIN et en plus il peut modifier un matériel quelque soit son statut (y-compris TOBEARCHIVED et ARCHIVED), notamment il peut modifier le statut du matériel (pour le rétrograder)</span></p><p class="P14"><span class="T2">- un </span><span class="T5">SUPERADMIN</span><span class="T2"> a tous les droits : ceux d'ADMINPLUS et certains droits supplémentaires pour lui permettre des corrections d'erreur et la configuration de l'application (notamment l'administration des utilisateurs...)</span></p><p class="P15"> </p><p class="Standard"><span class="T2">Concernant les informations internes permettant de savoir </span><span class="T5">qui a fait quoi</span><span class="T2"> (mises en place en février 2014), elles ne sont bien sûr pas modifiables puisque gérées automatiquement par le système, mais sont visibles par tous excepté le profil USER.</span></p><p class="P1"/><p class="P7">B - sur la table MATERIEL</p><table border="0" cellspacing="0" cellpadding="0" class="Tableau2"><colgroup><col width="170"/><col width="170"/><col width="170"/><col width="170"/><col width="170"/><col width="170"/><col width="170"/></colgroup><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A1"><p class="Table_20_Contents"> </p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_A1"><p class="P41">ALL (TOUS)</p><p class="P43">(droits par defaut)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_A1"><p class="P40"><span class="T5">U</span><span class="T6">tilisateur </span><span class="T5"> </span><span class="T2">(quelconque)</span></p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_A1"><p class="P42">Responsable</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_A1"><p class="P42">Administration</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_A1"><p class="P42">Administration Plus</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_G1"><p class="P42">Super-Administrateur</p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Read (un seul ou une liste)</p><p class="P45">(view ou index)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P25">Y</p><p class="Table_20_Contents"><span class="T14">champs caches:</span><span class="T13"> donnees admin</span></p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P36">idem ALL</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P36">idem ALL</p></td><td rowspan="3" style="text-align:left;width:3.893cm; " class="Tableau2_E4"><p class="P23"><span class="T16">(idem Responsable </span><span class="T15">+ donnees admin</span><span class="T16">)</span></p><p class="P37"> </p><p class="P23"><span class="T13">En mode edit (update), si VALIDATED, on ajoute aux donnees </span><span class="T14">readonly</span><span class="T13"> les </span><span class="T14">donnees admin</span></p></td><td rowspan="2" style="text-align:left;width:3.893cm; " class="Tableau2_F3"><p class="P37">idem Admin</p></td><td rowspan="11" style="text-align:left;width:3.893cm; " class="Tableau2_G12"><p class="P37">idem Adminplus</p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Create (1)</p><p class="P45">(add)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P26">Y</p><p class="P39"><span class="T14">champs caches</span><span class="T13">:</span></p><p class="P34">donnees admin + statut + etiquette </p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P36">Idem ALL</p><p class="P39"><span class="T14">champs readonly </span><span class="T13">:</span></p><p class="P34">nom_responsable</p></td><td rowspan="2" style="text-align:left;width:3.893cm; " class="Tableau2_D4"><p class="P36">idem ALL</p><p class="P36">(+ etiquette)</p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Update (1)</p><p class="P45">(edit)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P26">Y</p><p class="P33">ssi</p><p class="P39"><span class="T15">CREATED</span><span class="T16"> (tous les champs) </span></p><p class="P39"><span class="T13">ou </span><span class="T14">VALIDATED</span><span class="T13"> (quelques champs visibles sont </span><span class="T14">readonly</span><span class="T13">) (1)</span></p><p class="P34"> </p><p class="P39"><span class="T14">champs caches</span><span class="T13">:</span></p><p class="P34">donnees admin + statut + etiquette</p></td><td rowspan="2" style="text-align:left;width:3.893cm; " class="Tableau2_C5"><p class="P36">idem ALL</p><p class="P22"><span class="T16">ssi </span><span class="T15">createur</span></p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P37">idem Admin</p><p class="P23"><span class="T16">(</span><span class="T15">tous les statuts</span><span class="T16">)</span></p><p class="P23"><span class="T16">(+ champ </span><span class="T15">statut</span><span class="T16">)</span></p><p class="P23"> </p><p class="P23"><span class="T16">TOBEARCHIVED ou ARCHIVED: </span><span class="T15">seulement le statut</span></p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Delete</p><p class="P45">(delete)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P26">Y</p><p class="P29">ssi CREATED</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P37">idem ALL</p></td><td rowspan="3" style="text-align:left;width:3.893cm; " class="Tableau2_E7"><p class="P37">idem Responsable</p></td><td rowspan="4" style="text-align:left;width:3.893cm; " class="Tableau2_F8"><p class="P37">idem Admin</p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Valider</p><p class="P45">(statusValidated)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P25">N</p><p class="P28">(resp+)</p></td><td rowspan="7" style="text-align:left;width:3.893cm; " class="Tableau2_C12"><p class="P36">idem ALL</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P37">Y</p><p class="P30">ssi</p><p class="P30">CREATED</p><p class="P37"> </p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Demander archivage</p><p class="P45">(statusToBeArchived)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P25">N</p><p class="P28">(resp+)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P37">Y</p><p class="P30">ssi</p><p class="P30">VALIDATED</p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Sortir de l'inventaire</p><p class="P45"><span class="T12"> </span>(statusArchived)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P26">N</p><p class="P29">(admin+)</p></td><td rowspan="2" style="text-align:left;width:3.893cm; " class="Tableau2_D9"><p class="P37">idem ALL</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P35">Y</p><p class="P28">ssi</p><p class="P28">TOBEARCHIVED</p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Desarchiver (2)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P26">N</p><p class="P29">(adminplus+)</p></td><td rowspan="2" style="text-align:left;width:3.893cm; " class="Tableau2_E10"><p class="P37">idem Responsable</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P37">Y</p><p class="P30">ssi</p><p class="P30">ARCHIVED ou</p><p class="P30">TOBEARCHIVED</p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Exporter</p><p class="P45">(csv)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P26">N</p><p class="P29">(resp+)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P37">Y</p></td><td rowspan="3" style="text-align:left;width:3.893cm; " class="Tableau2_F12"><p class="P37">idem Admin</p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Montee de statut group<span class="T24">é</span>e</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P26">N</p><p class="P29">(admin+)</p></td><td rowspan="2" style="text-align:left;width:3.893cm; " class="Tableau2_D12"><p class="P37">idem ALL</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P38">Y</p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Edition (4)</p><p class="P44">DOCUMENTS</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E12"><p class="P26">N</p><p class="P29">(admin+)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E12"><p class="P37">Y</p><p class="P31">- admission : ssi VALIDATED</p><p class="P31">- sortie : ssi TOBEARCHIVED ou ARCHIVED</p></td></tr><tr class="Tableau213"><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P68">Fiche Matériel </p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E13"><p class="P62">Y <span class="T25">(sans partie admin)</span></p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_C13"><p class="P49">Y <span class="T25">(sans partie admin)</span></p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_D13"><p class="P49">Y <span class="T25">(sans partie admin)</span></p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E13"><p class="P62">Y</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_F13"><p class="P49">Y</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_G13"><p class="P49">Y <span class="T25">(sans partie admin)</span></p></td></tr></table><p class="P7"> </p><p class="P7"> </p><p class="P6"> </p><p class="P10">Par défaut, le superadmin a TOUS les droits</p><p class="P10"> </p><p class="Standard"><span class="T15">Conventions d'écriture </span><span class="T16">: </span></p><p class="P14"><span class="T16">- r</span><span class="T15">esp+</span><span class="T16"> = possible pour un </span><span class="T15">Responsable et plus </span><span class="T16">(responsable, admin, adminplus, et superadmin)</span></p><p class="P14"><span class="T16">- </span><span class="T15">admin+</span><span class="T16"> = possible pour un </span><span class="T15">Admin</span><span class="T16"> </span><span class="T15">et plus </span><span class="T16">(admin, adminplus, et superadmin)</span></p><p class="P16">- ...</p><p class="P16"> </p><p class="Standard"><span class="T15">Notes </span><span class="T16">:</span></p><p class="P9"> </p><ol><li><p class="P47" style="margin-left:0cm;"><span class="WW8Num8z0" style="display:block;float:left;min-width:0,635cm;">(1)</span><span class="T15">Droits en modification (edit) </span><span class="T16">:</span><span class="odfLiEnd"></span> </p></li></ol><p class="P16">- Un simple « user » ne doit pas pouvoir modifier le responsable, ni le statut, ni l'étiquette, ni les données admin d'un matériel (en mode Création comme Modification)</p><p class="P16">- Un «responsable » ne doit pas pouvoir modifier le statut, ni les données admin d'un matériel (en mode Création comme Modification)</p><p class="P16">- Les données admin ne sont accessibles qu'aux profils admin+</p><p class="P14"><span class="T16">- Le champ "</span><span class="T15">status</span><span class="T16">" n'est modifiable que par les profils adminplus+</span></p><p class="P14"><span class="T16">- Tout le monde peut modifier un matériel </span><span class="T15">VALIDATED </span><span class="T16">(</span><span class="T15">user </span><span class="T16">ne peut modifier que </span><span class="T15">ses</span><span class="T16"> matériels, </span><span class="T17">resp ne peut modifier que les matériels de son groupe thématique ou métier</span><span class="T16">),</span></p><p class="P14"><span class="T16">MAIS PAS</span><span class="T15"> certains champs</span><span class="T16"> qui sont </span><span class="T15">readonly</span><span class="T16"> (</span><span class="T18">sur_categorie_id', 'categorie_id', 'materiel_administratif', 'materiel_technique', 'date_acquisition', 'nom_responsable', 'fournisseur', 'organisme', 'prix_ht')</span></p><p class="P14"><span class="T16">Les seuls champs qu'on peut éditer sont donc : (</span><span class="T18">designation, sous_categorie, materiel_administratif, materiel_technique, description, etiquette, lieu_stockage, lieu_detail, numero_serie, groupes_thematique, groupes_metier),</span><span class="T16"><br/>- Seuls les profils </span><span class="T15">adminplus+</span><span class="T16"> peuvent modifier un matériel </span><span class="T15">TOBEARCHIVED, ou ARCHIVED </span><span class="T16">mais </span><span class="T15">UNIQUEMENT le champ "status" </span><span class="T16">(pour pouvoir rétrograder à CREATED ou VALIDATED)</span></p><p class="P14"><span class="T16">- Le seul moyen de modifier COMPLÈTEMENT un matériel VALIDATED, TOBEARCHIVED, ou ARCHIVED, <br/>c'est de </span><span class="T15">changer son statut</span><span class="T16">, en le rétrogradant à CREATED (seuls les profils adminplus+ peuvent le faire)</span></p><p class="P16"> </p><ol><li><p class="P47" style="margin-left:0cm;"><span class="WW8Num8z0" style="display:block;float:left;min-width:0,635cm;">(2)</span><span class="T15">Désarchiver </span><span class="T16">: consiste à rétrograder un matériel ARCHIVED ou TOBEARCHIVED dans le statut VALIDATED ou CREATED (adminplus+ only) ; utile en cas d'erreur</span><span class="odfLiEnd"></span> </p></li></ol><p class="P8"> </p><ol><li><p class="P47" style="margin-left:0cm;"><span class="WW8Num8z0" style="display:block;float:left;min-width:0,635cm;">(3)</span><span class="T15">Montée de statut groupée : </span><span class="T16">seul ADMIN peut (exporter tout ou partie de la liste des matériels, et) </span><span class="T15">augmenter (+1) le statut d'un groupe de matériels</span><span class="T16">, depuis la vue « index » (vue spéciale pour ADMIN, avec des cases à cocher et boutons pour exporter ou faire évoluer le statut)</span><span class="odfLiEnd"></span> </p></li></ol><p class="P8"> </p><ol><li><p class="P48" style="margin-left:0cm;"><span class="WW8Num8z0" style="display:block;float:left;min-width:0,635cm;">(4)</span>Edition des documents :<span class="odfLiEnd"/> </p></li></ol><p class="P16">Admission : quand on "VALIDE" un matériel "CREATED", le statut passe en VALIDATED et le document d'admission est automatiquement édité</p><p class="P16">Sortie : quand on "ARCHIVE" un document "TOBEARCHIVED", le statut passe en ARCHIVED et le document de sortie est automatiquement édité</p><p class="P16">De plus :</p><p class="P16">- Bouton "Doc admission" affiché à partir du statut "VALIDATED"</p><p class="P16">- Bouton "Doc Sortie" affiché à partir du statut TOBEARCHIVED (et donc aussi pour ARCHIVED)</p><p class="P16">Enfin, Le doc de sortie doit être couplée avec la liste des matériels a archiver (TOBEARCHIVED) quand il y a une demande de sortie.</p><p class="P16"> </p><p class="P17"> </p><p class="P1">C - sur les différentes VUES liées au matériel</p><p class="Standard"> </p><p class="P6"><span class="T4">Page accueil </span>:</p><p class="P6"><span> Administration <span class="T20">& Administration Plus </span>voit un menu avec 2 options :</span></p><ul><li><ul><li><ul><li><p class="P51" style="margin-left:0cm;"><span class="WW8Num2z0" style="display:block;float:left;min-width:0,635cm;">.</span>« Voir les matériels à valider »<span class="odfLiEnd"/> </p></li><li><p class="P52" style="margin-left:0cm;"><span class="WW8Num2z0" style="display:block;float:left;min-width:0,635cm;">.</span>« Voir les matériels à sortir de l'inventaire »<span class="odfLiEnd"/> </p></li></ul></li></ul><p class="P52" style="margin-left:0cm;"><span class="WW8Num2z0" style="display:block;float:left;min-width:0cm"><!-- --></span><span class="T21">Responsable </span>voit un menu avec <span class="T21">3</span> options :<span class="odfLiEnd"/> </p><ul><li><ul><li><p class="P52" style="margin-left:0cm;"><span class="WW8Num2z0" style="display:block;float:left;min-width:0,635cm;">.</span>« Voir les matériels <span class="T21">de mon groupe métier</span> »<span class="odfLiEnd"/> </p></li><li><p class="P52" style="margin-left:0cm;"><span class="WW8Num2z0" style="display:block;float:left;min-width:0,635cm;">.</span>« Voir les matériels <span class="T21">de mon groupe métier à valider</span> »<span class="odfLiEnd"/> </p></li><li><p class="P52" style="margin-left:0cm;"><span class="WW8Num2z0" style="display:block;float:left;min-width:0,635cm;">.</span>« <span class="T21">Voir les suivis des matériels donc je suis responsable »</span><span class="odfLiEnd"/> </p></li></ul></li></ul></li></ul><p class="P1">Page Outils :</p><p class="P6">User n'a pas accès à cette page</p><p class="P6">Les autres ont quelques options</p><p class="P6">superadmin a ces options en plus :</p><ul><li><p class="P53" style="margin-left:0cm;"><span class="WW8Num4z0" style="display:block;float:left;min-width:0,635cm;">.</span>Configuration générale de l'application<span class="odfLiEnd"></span> </p></li><li><p class="P53" style="margin-left:0cm;"><span class="WW8Num4z0" style="display:block;float:left;min-width:0,635cm;">.</span>Gérer les utilisateurs <span class="T20">privilégiés</span><span class="odfLiEnd"/> </p></li><li><p class="P53" style="margin-left:0cm;"><span class="WW8Num4z0" style="display:block;float:left;min-width:0,635cm;">.</span>Passer en mode debug<span class="odfLiEnd"/> </p></li><li><p class="P54" style="margin-left:0cm;"><span class="WW8Num4z0" style="display:block;float:left;min-width:0,635cm;">.</span>Passer en mode install<span class="odfLiEnd"/> </p></li></ul><p class="P6"> </p><p class="Standard"><span class="T5">Vue materiel/index (liste) </span><span class="T2">: limiter aux </span><span class="T5">matériels actifs</span><span class="T2"> (non archivés)</span></p><ul><li><ul><li><p class="P55" style="margin-left:0cm;"><span class="WW8Num1z0" style="display:block;float:left;min-width:0,635cm;">.</span>Admin<span class="T20">+ </span>voit des boutons pour filtrer par « tous », « à valider », « validés », « à sortir », « archivés »<span class="odfLiEnd"/> </p></li></ul></li></ul><p class="P6"> </p><p class="Standard"><span class="T5">Vue materiel/find </span><span class="T2">: limiter aux </span><span class="T5">matériels actifs</span><span class="T2"> (non archivés)</span></p><p class="P6"><span> Seul le<span class="T20">s</span> profil<span class="T20">s</span> Admin<span class="T20">+ </span>voit TOUS les matériels (y-compris archivés)</span></p><p class="P6"> </p><p class="P6"><span class="T4">Vue materiel/view </span>:</p><p class="P6"><span> boutons « Imprimer Etiquettes » : <span class="T20">resp+</span></span></p><p class="P6"> </p><p class="P6"><span class="T4">Vue materiel/edit </span>:</p><ul><li><p class="P56" style="margin-left:0cm;"><span class="WW8Num5z0" style="display:block;float:left;min-width:0,635cm;">.</span>Etiquette O/N (admin<span class="T20">+)</span><span class="odfLiEnd"/> </p></li><li><p class="P56" style="margin-left:0cm;"><span class="WW8Num5z0" style="display:block;float:left;min-width:0,635cm;">.</span>Statut (<span class="T20">superadmin+)</span><span class="odfLiEnd"/> </p></li><li><p class="P56" style="margin-left:0cm;"><span class="WW8Num5z0" style="display:block;float:left;min-width:0,635cm;">.</span>Informations administratives (admin<span class="T20">+)</span><span class="odfLiEnd"/> </p></li></ul><p class="P6"> </p><p class="P6"> </p><p class="P1"> </p><p class="P19">D - sur un SUIVI et un EMPRUNT</p><p class="P1"> </p><ul><li><p class="P57" style="margin-left:0cm;"><span class="WW8Num3z0" style="display:block;float:left;min-width:0,635cm;">.</span>Dans tous les cas, on ne doit pas pouvoir emprunter ou suivre un materiel non validé (CREATED)<span class="odfLiEnd"/> </p></li><li><p class="P57" style="margin-left:0cm;"><span class="WW8Num3z0" style="display:block;float:left;min-width:0,635cm;">.</span>User a les droits C, R, U (si créateur), D (si créateur)<span class="odfLiEnd"/> </p></li><li><p class="P57" style="margin-left:0cm;"><span class="WW8Num3z0" style="display:block;float:left;min-width:0,635cm;">.</span>Resp+ a les droits C, R, U, D<span class="odfLiEnd"/> </p></li></ul><p class="P4"><span class="T9">Un USER peut modifier/supprimer un emprunt dont il est soit le créateur soit l'emprunteur</span><span class="T19">.</span></p><p class="P12">Un USER qui créé un emprunt ne doit pas pouvoir changer le nom de l'emprunteur (par défaut, c'est lui). Ainsi, il pourra modifier/supprimer cette fiche au besoin plus tard. Par défaut donc, pour un user, emprunt.emprunteur=creator, materiel.responsable=creator</p><p class="P13">Tout le monde peut rechercher un suivi,</p><p class="P5"> </p><p class="P5"> </p><p class="P3">E - sur les UTILISATEURS</p><p class="P4"><span class="T9">Par défaut, superadmin a tous les droits, et les autres profils n'ont que le droit de lecture (</span><span class="T7">view </span><span class="T9">et </span><span class="T7">index</span><span class="T9">)</span></p><p class="P5"> </p><p class="P5"> </p><p class="P3">F - sur tous les autres objets métiers</p><p class="P5">Voici la liste des autres objets métiers :</p><ul><li><p class="P58" style="margin-left:0cm;"><span class="WW8Num7z0" style="display:block;float:left;min-width:0,635cm;">.</span>Catégories (et domaines et sous-catégories)<span class="odfLiEnd"/> </p></li></ul><ul><li><p class="P59" style="margin-left:0cm;"><span class="WW8Num6z0" style="display:block;float:left;min-width:0,635cm;">.</span>Groupes thématiques<span class="odfLiEnd"/> </p></li><li><p class="P59" style="margin-left:0cm;"><span class="WW8Num6z0" style="display:block;float:left;min-width:0,635cm;">.</span>Groupes métiers<span class="odfLiEnd"/> </p></li></ul><p class="P4"><span class="T9">Par défaut, pour tous ces objets, superadmin a tous les droits, admin</span><span class="T10">plus</span><span class="T9"> a tous les droits sauf « delete », et les autres profils n'ont que le droit de lecture (</span><span class="T7">view </span><span class="T9">et </span><span class="T7">index</span><span class="T9">)</span></p> |
118 | 119 | |
119 | 120 | <div class="actions"> |
121 | +======= | |
122 | +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd"> | |
123 | +<html xmlns="http://www.w3.org/1999/xhtml"> <!--This file was converted to xhtml by LibreOffice - see http://cgit.freedesktop.org/libreoffice/core/tree/filter/source/xslt for the code.--> | |
124 | + <head profile="http://dublincore.org/documents/dcmi-terms/"> | |
125 | + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/> | |
126 | + <title xml:lang="en-US">- no title specified</title> | |
127 | + <meta name="DCTERMS.title" content="" xml:lang="en-US"/> | |
128 | + <meta name="DCTERMS.language" content="en-US" scheme="DCTERMS.RFC4646"/> | |
129 | + <meta name="DCTERMS.source" content="http://xml.openoffice.org/odf2xhtml"/> | |
130 | + <meta name="DCTERMS.creator" content="Etienne Pallier"/> | |
131 | + <meta name="DCTERMS.issued" content="2014-01-21T19:49:00" scheme="DCTERMS.W3CDTF"/> | |
132 | + <meta name="DCTERMS.modified" content="2016-06-24T15:39:15.489669761" scheme="DCTERMS.W3CDTF"/> | |
133 | + <meta name="DCTERMS.provenance" content="" xml:lang="en-US"/> | |
134 | + <meta name="DCTERMS.subject" content="," xml:lang="en-US"/> | |
135 | + <link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" hreflang="en"/> | |
136 | + <link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" hreflang="en"/> | |
137 | + <link rel="schema.DCTYPE" href="http://purl.org/dc/dcmitype/" hreflang="en"/> | |
138 | + <link rel="schema.DCAM" href="http://purl.org/dc/dcam/" hreflang="en"/> | |
139 | + <style type="text/css"> | |
140 | + @page { } | |
141 | + table { border-collapse:collapse; border-spacing:0; empty-cells:show } | |
142 | + td, th { vertical-align:top; font-size:12pt;} | |
143 | + h1, h2, h3, h4, h5, h6 { clear:both } | |
144 | + ol, ul { margin:0; padding:0;} | |
145 | + li { list-style: none; margin:0; padding:0;} | |
146 | + <!-- "li span.odfLiEnd" - IE 7 issue --> | |
147 | + li span. { clear: both; line-height:0; width:0; height:0; margin:0; padding:0; } | |
148 | + span.footnodeNumber { padding-right:1em; } | |
149 | + span.annotation_style_by_filter { font-size:95%; font-family:Arial; background-color:#fff000; margin:0; border:0; padding:0; } | |
150 | + * { margin:0;} | |
151 | + .P1 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; font-weight:bold; } | |
152 | + .P10 { font-size:10pt; font-family:Times New Roman; writing-mode:lr-tb; font-style:italic; font-weight:bold; } | |
153 | + .P11 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-style:italic; } | |
154 | + .P12 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
155 | + .P13 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
156 | + .P14 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; margin-left:1.251cm; margin-right:0cm; text-indent:0cm; } | |
157 | + .P15 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; margin-left:1.251cm; margin-right:0cm; text-indent:0cm; } | |
158 | + .P16 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; margin-left:1.251cm; margin-right:0cm; text-indent:0cm; } | |
159 | + .P17 { font-size:12pt; font-family:Times; writing-mode:lr-tb; margin-left:1.251cm; margin-right:0cm; text-indent:0cm; } | |
160 | + .P18 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; margin-left:1.251cm; margin-right:0cm; text-indent:0cm; } | |
161 | + .P19 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; font-weight:bold; } | |
162 | + .P2 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; font-weight:bold; } | |
163 | + .P22 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; } | |
164 | + .P23 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; } | |
165 | + .P25 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:bold; } | |
166 | + .P26 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:bold; } | |
167 | + .P28 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-style:italic; font-weight:bold; } | |
168 | + .P29 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-style:italic; font-weight:bold; } | |
169 | + .P3 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; font-weight:bold; } | |
170 | + .P30 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-style:italic; font-weight:bold; } | |
171 | + .P31 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; font-style:italic; font-weight:bold; } | |
172 | + .P33 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-style:italic; } | |
173 | + .P34 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; font-style:italic; } | |
174 | + .P35 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; } | |
175 | + .P36 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; } | |
176 | + .P37 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; } | |
177 | + .P38 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; } | |
178 | + .P39 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
179 | + .P4 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
180 | + .P40 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; } | |
181 | + .P41 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-style:italic; font-weight:bold; } | |
182 | + .P42 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:bold; } | |
183 | + .P43 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:normal; } | |
184 | + .P44 { font-size:11pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:bold; } | |
185 | + .P45 { font-size:11pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:normal; } | |
186 | + .P46 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:bold; } | |
187 | + .P47 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
188 | + .P48 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; font-weight:bold; } | |
189 | + .P49 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:bold; } | |
190 | + .P5 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
191 | + .P51 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
192 | + .P52 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
193 | + .P53 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
194 | + .P54 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
195 | + .P55 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
196 | + .P56 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
197 | + .P57 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
198 | + .P58 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
199 | + .P59 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
200 | + .P6 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
201 | + .P62 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:bold; } | |
202 | + .P68 { font-size:11pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:bold; } | |
203 | + .P7 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; font-weight:bold; } | |
204 | + .P8 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
205 | + .P9 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
206 | + .Standard { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
207 | + .Table_20_Contents { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
208 | + .Tableau2 { width:27.25cm; float:none; writing-mode:lr-tb; } | |
209 | + .Tableau2_A1 { background-color:#cccccc; padding:0.097cm; border-left-width:thin; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-width:thin; border-top-style:solid; border-top-color:#000000; border-bottom-width:thin; border-bottom-style:solid; border-bottom-color:#000000; } | |
210 | + .Tableau2_A2 { background-color:#dddddd; padding:0.097cm; border-left-width:thin; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:thin; border-bottom-style:solid; border-bottom-color:#000000; } | |
211 | + .Tableau2_C12 { padding:0.097cm; border-left-width:thin; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:thin; border-bottom-style:solid; border-bottom-color:#000000; } | |
212 | + .Tableau2_C13 { padding:0.097cm; border-left-width:thin; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:thin; border-bottom-style:solid; border-bottom-color:#000000; } | |
213 | + .Tableau2_C5 { padding:0.097cm; border-left-width:thin; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:thin; border-bottom-style:solid; border-bottom-color:#000000; } | |
214 | + .Tableau2_D12 { padding:0.097cm; border-left-width:thin; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:thin; border-bottom-style:solid; border-bottom-color:#000000; } | |
215 | + .Tableau2_D13 { padding:0.097cm; border-left-width:thin; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:thin; border-bottom-style:solid; border-bottom-color:#000000; } | |
216 | + .Tableau2_D4 { padding:0.097cm; border-left-width:thin; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:thin; border-bottom-style:solid; border-bottom-color:#000000; } | |
217 | + .Tableau2_D9 { padding:0.097cm; border-left-width:thin; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:thin; border-bottom-style:solid; border-bottom-color:#000000; } | |
218 | + .Tableau2_E10 { padding:0.097cm; border-left-width:thin; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:thin; border-bottom-style:solid; border-bottom-color:#000000; } | |
219 | + .Tableau2_E11 { padding:0.097cm; border-left-width:thin; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:thin; border-bottom-style:solid; border-bottom-color:#000000; } | |
220 | + .Tableau2_E12 { padding:0.097cm; border-left-width:thin; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:thin; border-bottom-style:solid; border-bottom-color:#000000; } | |
221 | + .Tableau2_E13 { padding:0.097cm; border-left-width:thin; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:thin; border-bottom-style:solid; border-bottom-color:#000000; } | |
222 | + .Tableau2_E4 { padding:0.097cm; border-left-width:thin; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:thin; border-bottom-style:solid; border-bottom-color:#000000; } | |
223 | + .Tableau2_E7 { padding:0.097cm; border-left-width:thin; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:thin; border-bottom-style:solid; border-bottom-color:#000000; } | |
224 | + .Tableau2_F12 { padding:0.097cm; border-left-width:thin; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:thin; border-bottom-style:solid; border-bottom-color:#000000; } | |
225 | + .Tableau2_F13 { padding:0.097cm; border-left-width:thin; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:thin; border-bottom-style:solid; border-bottom-color:#000000; } | |
226 | + .Tableau2_F3 { padding:0.097cm; border-left-width:thin; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:thin; border-bottom-style:solid; border-bottom-color:#000000; } | |
227 | + .Tableau2_F8 { padding:0.097cm; border-left-width:thin; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:thin; border-bottom-style:solid; border-bottom-color:#000000; } | |
228 | + .Tableau2_G1 { background-color:#cccccc; padding:0.097cm; border-width:thin; border-style:solid; border-color:#000000; } | |
229 | + .Tableau2_G12 { padding:0.097cm; border-left-width:thin; border-left-style:solid; border-left-color:#000000; border-right-width:thin; border-right-style:solid; border-right-color:#000000; border-top-style:none; border-bottom-width:thin; border-bottom-style:solid; border-bottom-color:#000000; } | |
230 | + .Tableau2_G13 { padding:0.097cm; border-left-width:thin; border-left-style:solid; border-left-color:#000000; border-right-width:thin; border-right-style:solid; border-right-color:#000000; border-top-style:none; border-bottom-width:thin; border-bottom-style:solid; border-bottom-color:#000000; } | |
231 | + .Tableau2_A { width:3.893cm; } | |
232 | + .Tableau2_G { width:3.893cm; } | |
233 | + .T1 { font-style:italic; font-weight:bold; } | |
234 | + .T13 { font-size:9pt; font-style:italic; } | |
235 | + .T14 { font-size:9pt; font-style:italic; font-weight:bold; } | |
236 | + .T15 { font-size:9pt; font-weight:bold; } | |
237 | + .T16 { font-size:9pt; } | |
238 | + .T17 { font-size:9pt; } | |
239 | + .T18 { font-size:9pt; } | |
240 | + .T25 { font-weight:normal; } | |
241 | + .T4 { font-weight:bold; } | |
242 | + .T5 { font-weight:bold; } | |
243 | + .T6 { font-weight:bold; } | |
244 | + .T7 { font-weight:bold; } | |
245 | + .WW8Num1z0 { font-family:Symbol; } | |
246 | + .WW8Num2z0 { font-family:Symbol; } | |
247 | + .WW8Num3z0 { font-family:Symbol; } | |
248 | + .WW8Num4z0 { font-family:Symbol; } | |
249 | + .WW8Num5z0 { font-family:Symbol; } | |
250 | + .WW8Num6z0 { font-family:Symbol; font-size:12pt; } | |
251 | + .WW8Num7z0 { font-family:Symbol; } | |
252 | + .WW8Num8z0 { font-family:Symbol; font-size:9pt; font-weight:normal; } | |
253 | + <!-- ODF styles with no properties representable as CSS --> | |
254 | + .Tableau2.13 .T10 .T11 .T12 .T19 .T2 .T20 .T21 .T22 .T23 .T24 .T3 .T8 .T9 .WW8Num8z1 .WW8Num8z2 .WW8Num8z3 .WW8Num8z4 .WW8Num8z5 .WW8Num8z6 .WW8Num8z7 .WW8Num8z8 .WW8Num9z0 .WW8Num9z1 .WW8Num9z2 .WW8Num9z3 .WW8Num9z4 .WW8Num9z5 .WW8Num9z6 .WW8Num9z7 .WW8Num9z8 { } | |
255 | + </style> | |
256 | + </head> | |
257 | + <body dir="ltr"> | |
258 | + <!-- style="max-width:29.7cm;margin-top:1cm; margin-bottom:1cm; margin-left:1cm; margin-right:1.45cm; writing-mode:lr-tb; " --> | |
259 | + <!-- Cette propiété fait TOTALEMENT bugguer le design du site --> | |
260 | + <div class="index"> | |
261 | + <p class="P46">ACL (Access Control List)</p> | |
262 | + <p class="P11">(Etienne Pallier – 24/<span class="T22">06</span>/201<span class="T23">6</span>)</p> | |
263 | + <p class="P1"> </p> | |
264 | + <p class="P1"> </p> | |
265 | + <p class="P1"> </p> | |
266 | + <p class="P1">I – Cycle de vie du statut du matériel</p> | |
267 | + <p class="P1"> </p> | |
268 | + <p class="Standard"><span class="T5">Créer</span><span class="T2"> un matériel ==</span><span class="T9">> passe alors en statut </span><span class="T7">CREATED ==> </span><span class="T1">peut alors être éventuellement supprimé (mais ne pourra plus être supprimé ensuite)</span></p><p class="Standard"><span class="T7">Valider</span><span class="T9"> un matériel CREATED ==> passe alors en statut </span><span class="T7">VALIDATED </span><span class="T9">(</span><span class="T11">resp et </span><span class="T9">admin only)</span></p> | |
269 | + <p class="P4"><span class="T7">Demander l'Archivage</span><span class="T9"> d'un materiel VALIDATED ==> passe alors en statut </span><span class="T7">TOBEARCHIVED</span><span class="T9"> (resp et admin only)</span></p> | |
270 | + <p class="P4"><span class="T7">Sortir</span><span class="T9"> de l'inventaire (Valider une demande d'archivage d'un matériel TOBEARCHIVED) ==> statut </span><span class="T7">ARCHIVED</span><span class="T9"> (admin only)</span></p> | |
271 | + <p class="P4"><span class="T7">Désarchiver</span><span class="T9"> un matériel ==> repasse de TOBEARCHIVED ou ARCHIVED à </span><span class="T7">VALIDATED</span><span class="T9"> (admin only) </span></p> | |
272 | + <p class="P4"> </p> | |
273 | + <p class="P5">En résumé : </p> | |
274 | + <p class="P4"> </p> | |
275 | + <p class="P3">CREATED ==> VALIDATED ==> TOBEARCHIVED ==> ARCHIVED</p> | |
276 | + <p class="P2"><span class="T12"> </span><span class="T8">I /\ I I</span></p> | |
277 | + <p class="P2"><span class="T12"> </span><span class="T8">V I ------------------------ I --------------------------------- I (adminplus only)</span></p> | |
278 | + <p class="P3">DELETED</p> | |
279 | + <p class="P2"> </p> | |
280 | + <p class="P2"> </p> | |
281 | + <p class="P2"> </p> | |
282 | + <p class="P1">II - Droits des utilisateurs selon leur profil</p> | |
283 | + <p class="P1"> </p> | |
284 | + <p class="P1">A – Globalement (principes généraux)</p> | |
285 | + | |
286 | + <p class="P1"> </p> | |
287 | + <p class="P6">Un utilisateur non logué ne doit RIEN pouvoir faire. Seulement se loguer, c'est tout. Il n'a accès qu'à la page d'accueil (de login).</p> | |
288 | + <p class="P6">Une fois logué, un utilisateur a des droits différents selon son profil, globalement :</p> | |
289 | + <p class="P14"><span class="T2">- un </span><span class="T5">USER</span><span class="T2"> ne peut que créer un matériel, un suivi, ou un emprunt, consulter, et modifier (uniquement ce qu'il a créé lui-même)</span></p> | |
290 | + <p class="P18"><span class="T2">- un </span><span class="T5">RESPONSABLE</span><span class="T2"> a tous les droits sauf accès à certains champs et certaines vues réservées à l'administration (ADMIN). Il ne peut pas non plus archiver un matériel, mais seulement demander l'archivage (comme un USER)(uniquement ce </span><span class="T3">lié à son groupe métier ou thématiques</span><span class="T2">)</span></p> | |
291 | + <p class="P14"><span class="T2">- un </span><span class="T5">ADMIN</span><span class="T2">(istratif) a tous les droits (y-compris champs réservés à l'administration)</span></p> | |
292 | + <p class="P14"><span class="T2">- un </span><span class="T5">ADMINPLUS</span><span class="T2"> (administratif Plus) a tous les droits de ADMIN et en plus il peut modifier un matériel quelque soit son statut (y-compris TOBEARCHIVED et ARCHIVED), notamment il peut modifier le statut du matériel (pour le rétrograder)</span></p> | |
293 | + <p class="P14"><span class="T2">- un </span><span class="T5">SUPERADMIN</span><span class="T2"> a tous les droits : ceux d'ADMINPLUS et certains droits supplémentaires pour lui permettre des corrections d'erreur et la configuration de l'application (notamment l'administration des utilisateurs...)</span></p> | |
294 | + <p class="P15"> </p> | |
295 | + <p class="Standard"><span class="T2">Concernant les informations internes permettant de savoir </span><span class="T5">qui a fait quoi</span><span class="T2"> (mises en place en février 2014), elles ne sont bien sûr pas modifiables puisque gérées automatiquement par le système, mais sont visibles par tous excepté le profil USER.</span></p> | |
296 | + <p class="P1"> </p> | |
297 | + <p class="P7">B - sur la table MATERIEL</p> | |
298 | + <table border="0" cellspacing="0" cellpadding="0" class="Tableau2"><colgroup><col width="170"/><col width="170"/><col width="170"/><col width="170"/><col width="170"/><col width="170"/><col width="170"/></colgroup> | |
299 | + <tr> | |
300 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_A1"><p class="Table_20_Contents"> </p></td> | |
301 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_A1"><p class="P41">ALL (TOUS)</p><p class="P43">(droits par defaut)</p></td> | |
302 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_A1"><p class="P40"><span class="T5">U</span><span class="T6">tilisateur </span><span class="T5"> </span><span class="T2">(quelconque)</span></p></td> | |
303 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_A1"><p class="P42">Responsable</p></td> | |
304 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_A1"><p class="P42">Administration</p></td> | |
305 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_A1"><p class="P42">Administration Plus</p></td> | |
306 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_G1"><p class="P42">Super-Administrateur</p></td> | |
307 | + </tr> | |
308 | + <tr> | |
309 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Read (un seul ou une liste)</p><p class="P45">(view ou index)</p></td> | |
310 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P25">Y</p><p class="Table_20_Contents"><span class="T14">champs caches:</span><span class="T13"> donnees admin</span></p></td> | |
311 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P36">idem ALL</p></td> | |
312 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P36">idem ALL</p></td> | |
313 | + <td rowspan="3" style="text-align:left;width:3.893cm; " class="Tableau2_E4"><p class="P23"><span class="T16">(idem Responsable </span><span class="T15">+ donnees admin</span><span class="T16">)</span></p><p class="P37"> </p><p class="P23"><span class="T13">En mode edit (update), si VALIDATED, on ajoute aux donnees </span><span class="T14">readonly</span><span class="T13"> les </span><span class="T14">donnees admin</span></p></td> | |
314 | + <td rowspan="2" style="text-align:left;width:3.893cm; " class="Tableau2_F3"><p class="P37">idem Admin</p></td> | |
315 | + <td rowspan="11" style="text-align:left;width:3.893cm; " class="Tableau2_G12"><p class="P37">idem Adminplus</p></td> | |
316 | + </tr> | |
317 | + <tr> | |
318 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Create (1)</p><p class="P45">(add)</p></td> | |
319 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P26">Y</p><p class="P39"><span class="T14">champs caches</span><span class="T13">:</span></p><p class="P34">donnees admin + statut + etiquette </p></td> | |
320 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P36">Idem ALL</p><p class="P39"><span class="T14">champs readonly </span><span class="T13">:</span></p><p class="P34">nom_responsable</p></td> | |
321 | + <td rowspan="2" style="text-align:left;width:3.893cm; " class="Tableau2_D4"><p class="P36">idem ALL</p><p class="P36">(+ etiquette)</p></td> | |
322 | + </tr> | |
323 | + <tr> | |
324 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Update (1)</p><p class="P45">(edit)</p></td> | |
325 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P26">Y</p><p class="P33">ssi</p><p class="P39"><span class="T15">CREATED</span><span class="T16"> (tous les champs) </span></p><p class="P39"><span class="T13">ou </span><span class="T14">VALIDATED</span><span class="T13"> (quelques champs visibles sont </span><span class="T14">readonly</span><span class="T13">) (1)</span></p><p class="P34"> </p><p class="P39"><span class="T14">champs caches</span><span class="T13">:</span></p><p class="P34">donnees admin + statut + etiquette</p></td> | |
326 | + <td rowspan="2" style="text-align:left;width:3.893cm; " class="Tableau2_C5"><p class="P36">idem ALL</p><p class="P22"><span class="T16">ssi </span><span class="T15">createur</span></p></td> | |
327 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P37">idem Admin</p><p class="P23"><span class="T16">(</span><span class="T15">tous les statuts</span><span class="T16">)</span></p><p class="P23"><span class="T16">(+ champ </span><span class="T15">statut</span><span class="T16">)</span></p><p class="P23"> </p><p class="P23"><span class="T16">TOBEARCHIVED ou ARCHIVED: </span><span class="T15">seulement le statut</span></p></td> | |
328 | + </tr> | |
329 | + <tr> | |
330 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Delete</p><p class="P45">(delete)</p></td> | |
331 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P26">Y</p><p class="P29">ssi CREATED</p></td> | |
332 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P37">idem ALL</p></td><td rowspan="3" style="text-align:left;width:3.893cm; " class="Tableau2_E7"><p class="P37">idem Responsable</p></td> | |
333 | + <td rowspan="4" style="text-align:left;width:3.893cm; " class="Tableau2_F8"><p class="P37">idem Admin</p></td> | |
334 | + </tr> | |
335 | + <tr> | |
336 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Valider</p><p class="P45">(statusValidated)</p></td> | |
337 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P25">N</p><p class="P28">(resp+)</p></td> | |
338 | + <td rowspan="7" style="text-align:left;width:3.893cm; " class="Tableau2_C12"><p class="P36">idem ALL</p></td> | |
339 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P37">Y</p><p class="P30">ssi</p><p class="P30">CREATED</p><p class="P37"> </p></td> | |
340 | + </tr> | |
341 | + <tr> | |
342 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Demander archivage</p><p class="P45">(statusToBeArchived)</p></td> | |
343 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P25">N</p><p class="P28">(resp+)</p></td> | |
344 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P37">Y</p><p class="P30">ssi</p><p class="P30">VALIDATED</p></td> | |
345 | + </tr> | |
346 | + <tr> | |
347 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Sortir de l'inventaire</p><p class="P45"><span class="T12"> </span>(statusArchived)</p></td> | |
348 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P26">N</p><p class="P29">(admin+)</p></td> | |
349 | + <td rowspan="2" style="text-align:left;width:3.893cm; " class="Tableau2_D9"><p class="P37">idem ALL</p></td> | |
350 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P35">Y</p><p class="P28">ssi</p><p class="P28">TOBEARCHIVED</p></td> | |
351 | + </tr> | |
352 | + <tr> | |
353 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Desarchiver (2)</p></td> | |
354 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P26">N</p><p class="P29">(adminplus+)</p></td> | |
355 | + <td rowspan="2" style="text-align:left;width:3.893cm; " class="Tableau2_E10"><p class="P37">idem Responsable</p></td> | |
356 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P37">Y</p><p class="P30">ssi</p><p class="P30">ARCHIVED ou</p><p class="P30">TOBEARCHIVED</p></td> | |
357 | + </tr> | |
358 | + <tr> | |
359 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Exporter</p><p class="P45">(csv)</p></td> | |
360 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P26">N</p><p class="P29">(resp+)</p></td> | |
361 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P37">Y</p></td> | |
362 | + <td rowspan="3" style="text-align:left;width:3.893cm; " class="Tableau2_F12"><p class="P37">idem Admin</p></td> | |
363 | + </tr> | |
364 | + <tr> | |
365 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Montee de statut group<span class="T24">é</span>e</p></td> | |
366 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P26">N</p><p class="P29">(admin+)</p></td> | |
367 | + <td rowspan="2" style="text-align:left;width:3.893cm; " class="Tableau2_D12"><p class="P37">idem ALL</p></td> | |
368 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P38">Y</p></td> | |
369 | + </tr> | |
370 | + <tr> | |
371 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Edition (4)</p><p class="P44">DOCUMENTS</p></td> | |
372 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_E12"><p class="P26">N</p><p class="P29">(admin+)</p></td> | |
373 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_E12"><p class="P37">Y</p><p class="P31">- admission : ssi VALIDATED</p><p class="P31">- sortie : ssi TOBEARCHIVED ou ARCHIVED</p></td> | |
374 | + </tr> | |
375 | + <tr class="Tableau213"> | |
376 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P68">Fiche Matériel </p></td> | |
377 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_E13"><p class="P62">Y <span class="T25">(sans partie admin)</span></p></td> | |
378 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_C13"><p class="P49">Y <span class="T25">(sans partie admin)</span></p></td> | |
379 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_D13"><p class="P49">Y <span class="T25">(sans partie admin)</span></p></td> | |
380 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_E13"><p class="P62">Y</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_F13"><p class="P49">Y</p></td> | |
381 | + <td style="text-align:left;width:3.893cm; " class="Tableau2_G13"><p class="P49">Y <span class="T25">(sans partie admin)</span></p></td> | |
382 | + </tr> | |
383 | + </table> | |
384 | + <p class="P7"> </p> | |
385 | + <p class="P7"> </p> | |
386 | + <p class="P6"> </p> | |
387 | + <p class="P10">Par défaut, le superadmin a TOUS les droits</p> | |
388 | + <p class="P10"> </p> | |
389 | + <p class="Standard"><span class="T15">Conventions d'écriture </span><span class="T16">: </span></p> | |
390 | + <p class="P14"><span class="T16">- r</span><span class="T15">esp+</span><span class="T16"> = possible pour un </span><span class="T15">Responsable et plus </span><span class="T16">(responsable, admin, adminplus, et superadmin)</span></p> | |
391 | + <p class="P14"><span class="T16">- </span><span class="T15">admin+</span><span class="T16"> = possible pour un </span><span class="T15">Admin</span><span class="T16"> </span><span class="T15">et plus </span><span class="T16">(admin, adminplus, et superadmin)</span></p> | |
392 | + <p class="P16">- ...</p><p class="P16"> </p><p class="Standard"><span class="T15">Notes </span><span class="T16">:</span></p> | |
393 | + <p class="P9"> </p> | |
394 | + <ol> | |
395 | + <li><p class="P47" style="margin-left:0cm;"><span class="WW8Num8z0" style="display:block;float:left;min-width:0,635cm;">(1)</span><span class="T15">Droits en modification (edit) </span><span class="T16">:</span><span class="odfLiEnd"></span> </p></li> | |
396 | + </ol> | |
397 | + <p class="P16">- Un simple « user » ne doit pas pouvoir modifier le responsable, ni le statut, ni l'étiquette, ni les données admin d'un matériel (en mode Création comme Modification)</p><p class="P16">- Un «responsable » ne doit pas pouvoir modifier le statut, ni les données admin d'un matériel (en mode Création comme Modification)</p> | |
398 | + <p class="P16">- Les données admin ne sont accessibles qu'aux profils admin+</p> | |
399 | + <p class="P14"><span class="T16">- Le champ "</span><span class="T15">status</span><span class="T16">" n'est modifiable que par les profils adminplus+</span></p> | |
400 | + <p class="P14"><span class="T16">- Tout le monde peut modifier un matériel </span><span class="T15">VALIDATED </span><span class="T16">(</span><span class="T15">user </span><span class="T16">ne peut modifier que </span><span class="T15">ses</span><span class="T16"> matériels, </span><span class="T17">resp ne peut modifier que les matériels de son groupe thématique ou métier</span><span class="T16">),</span></p> | |
401 | + <p class="P14"><span class="T16">MAIS PAS</span><span class="T15"> certains champs</span><span class="T16"> qui sont </span><span class="T15">readonly</span><span class="T16"> (</span><span class="T18">sur_categorie_id', 'categorie_id', 'materiel_administratif', 'materiel_technique', 'date_acquisition', 'nom_responsable', 'fournisseur', 'organisme', 'prix_ht')</span></p> | |
402 | + <p class="P14"><span class="T16">Les seuls champs qu'on peut éditer sont donc : (</span><span class="T18">designation, sous_categorie, materiel_administratif, materiel_technique, description, etiquette, lieu_stockage, lieu_detail, numero_serie, groupes_thematique, groupes_metier),</span><span class="T16"><br/>- Seuls les profils </span><span class="T15">adminplus+</span><span class="T16"> peuvent modifier un matériel </span><span class="T15">TOBEARCHIVED, ou ARCHIVED </span><span class="T16">mais </span><span class="T15">UNIQUEMENT le champ "status" </span><span class="T16">(pour pouvoir rétrograder à CREATED ou VALIDATED)</span></p> | |
403 | + <p class="P14"><span class="T16">- Le seul moyen de modifier COMPLÈTEMENT un matériel VALIDATED, TOBEARCHIVED, ou ARCHIVED, <br/>c'est de </span><span class="T15">changer son statut</span><span class="T16">, en le rétrogradant à CREATED (seuls les profils adminplus+ peuvent le faire)</span></p><p class="P16"> </p> | |
404 | + <ol> | |
405 | + <li><p class="P47" style="margin-left:0cm;"><span class="WW8Num8z0" style="display:block;float:left;min-width:0,635cm;">(2)</span><span class="T15">Désarchiver </span><span class="T16">: consiste à rétrograder un matériel ARCHIVED ou TOBEARCHIVED dans le statut VALIDATED ou CREATED (adminplus+ only) ; utile en cas d'erreur</span><span class="odfLiEnd"></span> </p></li> | |
406 | + </ol> | |
407 | + <p class="P8"> </p> | |
408 | + <ol> | |
409 | + <li><p class="P47" style="margin-left:0cm;"><span class="WW8Num8z0" style="display:block;float:left;min-width:0,635cm;">(3)</span><span class="T15">Montée de statut groupée : </span><span class="T16">seul ADMIN peut (exporter tout ou partie de la liste des matériels, et) </span><span class="T15">augmenter (+1) le statut d'un groupe de matériels</span><span class="T16">, depuis la vue « index » (vue spéciale pour ADMIN, avec des cases à cocher et boutons pour exporter ou faire évoluer le statut)</span><span class="odfLiEnd"></span> </p></li> | |
410 | + </ol> | |
411 | + <p class="P8"> </p> | |
412 | + <ol> | |
413 | + <li><p class="P48" style="margin-left:0cm;"><span class="WW8Num8z0" style="display:block;float:left;min-width:0,635cm;">(4)</span>Edition des documents :<span class="odfLiEnd"></span> </p></li> | |
414 | + </ol> | |
415 | + <p class="P16">Admission : quand on "VALIDE" un matériel "CREATED", le statut passe en VALIDATED et le document d'admission est automatiquement édité</p> | |
416 | + <p class="P16">Sortie : quand on "ARCHIVE" un document "TOBEARCHIVED", le statut passe en ARCHIVED et le document de sortie est automatiquement édité</p> | |
417 | + <p class="P16">De plus :</p> | |
418 | + <p class="P16">- Bouton "Doc admission" affiché à partir du statut "VALIDATED"</p> | |
419 | + <p class="P16">- Bouton "Doc Sortie" affiché à partir du statut TOBEARCHIVED (et donc aussi pour ARCHIVED)</p> | |
420 | + <p class="P16">Enfin, Le doc de sortie doit être couplée avec la liste des matériels a archiver (TOBEARCHIVED) quand il y a une demande de sortie.</p> | |
421 | + <p class="P16"> </p> | |
422 | + <p class="P17"> </p> | |
423 | + <p class="P1">C - sur les différentes VUES liées au matériel</p> | |
424 | + <p class="Standard"> </p> | |
425 | + <p class="P6"><span class="T4">Page accueil </span>:</p> | |
426 | + <p class="P6"><span> Administration <span class="T20">& Administration Plus </span>voit un menu avec 2 options :</span></p> | |
427 | + <ul> | |
428 | + <li> | |
429 | + <ul> | |
430 | + <li> | |
431 | + <ul> | |
432 | + <li><p class="P51" style="margin-left:0cm;"><span class="WW8Num2z0" style="display:block;float:left;min-width:0,635cm;">.</span>« Voir les matériels à valider »<span class="odfLiEnd"></span> </p></li> | |
433 | + <li><p class="P52" style="margin-left:0cm;"><span class="WW8Num2z0" style="display:block;float:left;min-width:0,635cm;">.</span>« Voir les matériels à sortir de l'inventaire »<span class="odfLiEnd"></span> </p></li> | |
434 | + </ul> | |
435 | + </li> | |
436 | + </ul> | |
437 | + <p class="P52" style="margin-left:0cm;"><span class="WW8Num2z0" style="display:block;float:left;min-width:0cm"><!-- --></span><span class="T21">Responsable </span>voit un menu avec <span class="T21">3</span> options :<span class="odfLiEnd"></span> </p> | |
438 | + <ul> | |
439 | + <li> | |
440 | + <ul> | |
441 | + <li><p class="P52" style="margin-left:0cm;"><span class="WW8Num2z0" style="display:block;float:left;min-width:0,635cm;">.</span>« Voir les matériels <span class="T21">de mon groupe métier</span> »<span class="odfLiEnd"></span> </p></li> | |
442 | + <li><p class="P52" style="margin-left:0cm;"><span class="WW8Num2z0" style="display:block;float:left;min-width:0,635cm;">.</span>« Voir les matériels <span class="T21">de mon groupe métier à valider</span> »<span class="odfLiEnd"></span> </p></li> | |
443 | + <li><p class="P52" style="margin-left:0cm;"><span class="WW8Num2z0" style="display:block;float:left;min-width:0,635cm;">.</span>« <span class="T21">Voir les suivis des matériels donc je suis responsable »</span><span class="odfLiEnd"></span> </p></li> | |
444 | + </ul> | |
445 | + </li> | |
446 | + </ul> | |
447 | + </li> | |
448 | + </ul> | |
449 | + <p class="P1">Page Outils :</p> | |
450 | + <p class="P6">User n'a pas accès à cette page</p> | |
451 | + <p class="P6">Les autres ont quelques options</p> | |
452 | + <p class="P6">superadmin a ces options en plus :</p> | |
453 | + <ul> | |
454 | + <li><p class="P53" style="margin-left:0cm;"><span class="WW8Num4z0" style="display:block;float:left;min-width:0,635cm;">.</span>Configuration générale de l'application<span class="odfLiEnd"></span> </p></li> | |
455 | + <li><p class="P53" style="margin-left:0cm;"><span class="WW8Num4z0" style="display:block;float:left;min-width:0,635cm;">.</span>Gérer les utilisateurs <span class="T20">privilégiés</span><span class="odfLiEnd"></span> </p></li> | |
456 | + <li><p class="P53" style="margin-left:0cm;"><span class="WW8Num4z0" style="display:block;float:left;min-width:0,635cm;">.</span>Passer en mode debug<span class="odfLiEnd"></span> </p></li> | |
457 | + <li><p class="P54" style="margin-left:0cm;"><span class="WW8Num4z0" style="display:block;float:left;min-width:0,635cm;">.</span>Passer en mode install<span class="odfLiEnd"></span> </p></li> | |
458 | + </ul> | |
459 | + <p class="P6"> </p> | |
460 | + <p class="Standard"><span class="T5">Vue materiel/index (liste) </span><span class="T2">: limiter aux </span><span class="T5">matériels actifs</span><span class="T2"> (non archivés)</span></p> | |
461 | + <ul> | |
462 | + <li> | |
463 | + <ul> | |
464 | + <li><p class="P55" style="margin-left:0cm;"><span class="WW8Num1z0" style="display:block;float:left;min-width:0,635cm;">.</span>Admin<span class="T20">+ </span>voit des boutons pour filtrer par « tous », « à valider », « validés », « à sortir », « archivés »<span class="odfLiEnd"></span> </p></li> | |
465 | + </ul> | |
466 | + </li> | |
467 | + </ul> | |
468 | + <p class="P6"> </p> | |
469 | + <p class="Standard"><span class="T5">Vue materiel/find </span><span class="T2">: limiter aux </span><span class="T5">matériels actifs</span><span class="T2"> (non archivés)</span></p> | |
470 | + <p class="P6"><span> Seul le<span class="T20">s</span> profil<span class="T20">s</span> Admin<span class="T20">+ </span>voit TOUS les matériels (y-compris archivés)</span></p><p class="P6"> </p> | |
471 | + <p class="P6"><span class="T4">Vue materiel/view </span>:</p> | |
472 | + <p class="P6"><span> boutons « Imprimer Etiquettes » : <span class="T20">resp+</span></span></p> | |
473 | + <p class="P6"> </p><p class="P6"><span class="T4">Vue materiel/edit </span>:</p> | |
474 | + <ul> | |
475 | + <li><p class="P56" style="margin-left:0cm;"><span class="WW8Num5z0" style="display:block;float:left;min-width:0,635cm;">.</span>Etiquette O/N (admin<span class="T20">+)</span><span class="odfLiEnd"></span> </p></li> | |
476 | + <li><p class="P56" style="margin-left:0cm;"><span class="WW8Num5z0" style="display:block;float:left;min-width:0,635cm;">.</span>Statut (<span class="T20">superadmin+)</span><span class="odfLiEnd"></span> </p></li> | |
477 | + <li><p class="P56" style="margin-left:0cm;"><span class="WW8Num5z0" style="display:block;float:left;min-width:0,635cm;">.</span>Informations administratives (admin<span class="T20">+)</span><span class="odfLiEnd"></span> </p></li> | |
478 | + </ul> | |
479 | + <p class="P6"> </p> | |
480 | + <p class="P6"> </p> | |
481 | + <p class="P1"> </p> | |
482 | + <p class="P19">D - sur un SUIVI et un EMPRUNT</p> | |
483 | + <p class="P1"> </p> | |
484 | + <ul> | |
485 | + <li><p class="P57" style="margin-left:0cm;"><span class="WW8Num3z0" style="display:block;float:left;min-width:0,635cm;">.</span>Dans tous les cas, on ne doit pas pouvoir emprunter ou suivre un materiel non validé (CREATED)<span class="odfLiEnd"></span> </p></li> | |
486 | + <li><p class="P57" style="margin-left:0cm;"><span class="WW8Num3z0" style="display:block;float:left;min-width:0,635cm;">.</span>User a les droits C, R, U (si créateur), D (si créateur)<span class="odfLiEnd"></span> </p></li> | |
487 | + <li><p class="P57" style="margin-left:0cm;"><span class="WW8Num3z0" style="display:block;float:left;min-width:0,635cm;">.</span>Resp+ a les droits C, R, U, D<span class="odfLiEnd"></span> </p></li> | |
488 | + </ul> | |
489 | + <p class="P4"><span class="T9">Un USER peut modifier/supprimer un emprunt dont il est soit le créateur soit l'emprunteur</span><span class="T19">.</span></p> | |
490 | + <p class="P12">Un USER qui créé un emprunt ne doit pas pouvoir changer le nom de l'emprunteur (par défaut, c'est lui). Ainsi, il pourra modifier/supprimer cette fiche au besoin plus tard. Par défaut donc, pour un user, emprunt.emprunteur=creator, materiel.responsable=creator</p> | |
491 | + <p class="P13">Tout le monde peut rechercher un suivi,</p> | |
492 | + <p class="P5"> </p> | |
493 | + <p class="P5"> </p> | |
494 | + <p class="P3">E - sur les UTILISATEURS</p> | |
495 | + <p class="P4"><span class="T9">Par défaut, superadmin a tous les droits, et les autres profils n'ont que le droit de lecture (</span><span class="T7">view </span><span class="T9">et </span><span class="T7">index</span><span class="T9">)</span></p> | |
496 | + <p class="P5"> </p> | |
497 | + <p class="P5"> </p> | |
498 | + <p class="P3">F - sur tous les autres objets métiers</p> | |
499 | + <p class="P5">Voici la liste des autres objets métiers :</p> | |
500 | + <ul> | |
501 | + <li><p class="P58" style="margin-left:0cm;"><span class="WW8Num7z0" style="display:block;float:left;min-width:0,635cm;">.</span>Catégories (et domaines et sous-catégories)<span class="odfLiEnd"></span> </p></li> | |
502 | + </ul> | |
503 | + <ul> | |
504 | + <li><p class="P59" style="margin-left:0cm;"><span class="WW8Num6z0" style="display:block;float:left;min-width:0,635cm;">.</span>Groupes thématiques<span class="odfLiEnd"></span> </p></li> | |
505 | + <li><p class="P59" style="margin-left:0cm;"><span class="WW8Num6z0" style="display:block;float:left;min-width:0,635cm;">.</span>Groupes métiers<span class="odfLiEnd"></span> </p></li> | |
506 | + </ul> | |
507 | + <p class="P4"><span class="T9">Par défaut, pour tous ces objets, superadmin a tous les droits, admin</span><span class="T10">plus</span><span class="T9"> a tous les droits sauf « delete », et les autres profils n'ont que le droit de lecture (</span><span class="T7">view </span><span class="T9">et </span><span class="T7">index</span><span class="T9">)</span></p> | |
508 | + </div> | |
509 | + <div class="actions"> | |
510 | +>>>>>>> dev-IRAP | |
120 | 511 | <?php echo $this->element('menu') ?> |
121 | 512 | </div> |
122 | - | |
123 | 513 | </body></html> |
124 | 514 | \ No newline at end of file | ... | ... |
src/Template/Pages/home_app.ctp
... | ... | @@ -2,33 +2,30 @@ |
2 | 2 | <div class="index"> |
3 | 3 | <h2><i class="icon-home"></i> Accueil</h2> |
4 | 4 | |
5 | -<p>Bienvenue sur l'inventaire administratif et technique <?= $configuration->labPresent.' <b>'.$configuration->labName ?></b>.</p> | |
5 | + <p>Bienvenue sur l'inventaire administratif et technique <?= $configuration->labPresent.' <b>'.$configuration->labName ?></b>.</p> | |
6 | 6 | |
7 | 7 | <?php |
8 | - //Utilisateur connecté | |
9 | - echo '<p>Vous êtes connecté en tant que <b>' . $username . '</b> '; | |
10 | - echo 'et avec le niveau d\'authentification <b>'.$role.'</b>.'; | |
11 | - echo '<p>'; | |
12 | - | |
13 | - echo '<table cellpadding="0" cellspacing="0" style="width: 800px;">'; | |
14 | - echo '<tr><th></th></tr>'; | |
15 | - echo '<tr><td> '.$this->Html->link('Voir mes matériels', [ | |
16 | - 'controller' => 'materiels', 'action' => 'index', 'MY' => $username]).' </td></tr>'; | |
17 | - echo '</table>'; | |
18 | - | |
19 | - //Utilisateur admin/super admin | |
20 | - if (in_array($role, ['Administration', 'Administration Plus'])) { | |
21 | - echo '<table cellpadding="0" cellspacing="0" style="width: 800px;">'; | |
22 | - echo '<tr><th></th></tr>'; | |
23 | - echo '<tr><td> '.$this->Html->link('Voir les matériels à valider', [ | |
24 | - 'controller' => 'materiels', 'action' => 'index', 'CREATED']).' </td></tr>'; | |
25 | - echo '<tr><td> '.$this->Html->link('Voir les matériels à sortir de l\'inventaire', [ | |
26 | - 'controller' => 'materiels', 'action' => 'index', 'TOBEARCHIVED']).' </td></tr>'; | |
27 | - echo '</table>'; | |
28 | - } | |
29 | - | |
8 | + //Utilisateur connecté | |
9 | + echo '<p>Vous êtes connecté en tant que <b>' . $username . '</b> '; | |
10 | + echo 'et avec le niveau d\'authentification <b>'.$role.'</b>.'; | |
11 | + echo '<p>'; | |
30 | 12 | |
13 | + echo '<table cellpadding="0" cellspacing="0" style="width: 800px;">'; | |
14 | + echo '<tr><th></th></tr>'; | |
15 | + echo '<tr><td> '.$this->Html->link('Voir mes matériels', [ | |
16 | + 'controller' => 'materiels', 'action' => 'index', 'MY' => $username]).' </td></tr>'; | |
17 | + echo '</table>'; | |
31 | 18 | |
19 | + //Utilisateur admin/super admin | |
20 | + if (in_array($role, ['Administration', 'Administration Plus'])) { | |
21 | + echo '<table cellpadding="0" cellspacing="0" style="width: 800px;">'; | |
22 | + echo '<tr><th></th></tr>'; | |
23 | + echo '<tr><td> '.$this->Html->link('Voir les matériels à valider', [ | |
24 | + 'controller' => 'materiels', 'action' => 'index', 'CREATED']).' </td></tr>'; | |
25 | + echo '<tr><td> '.$this->Html->link('Voir les matériels à sortir de l\'inventaire', [ | |
26 | + 'controller' => 'materiels', 'action' => 'index', 'TOBEARCHIVED']).' </td></tr>'; | |
27 | + echo '</table>'; | |
28 | + } | |
32 | 29 | |
33 | 30 | //Utilisateur responsable |
34 | 31 | if ($role == 'Responsable') { | ... | ... |
src/Template/Pages/infos.ctp
1 | -<div class="actions"> | |
2 | - <?php echo $this->element('menu') ?> | |
3 | -</div> | |
4 | 1 | |
5 | 2 | <div class="index"> |
6 | 3 | <h2><i class="icon-wrench"></i> INFORMATIONS SYSTEME </h2> |
7 | - <?php | |
4 | + <?php | |
8 | 5 | phpinfo(); |
9 | - ?> | |
10 | - | |
6 | + ?> | |
11 | 7 | </div> |
12 | 8 | |
9 | +<div class="actions"> | |
10 | + <?php echo $this->element('menu') ?> | |
11 | +</div> | ... | ... |
src/Template/Pages/printers.ctp
1 | 1 | <div class="index"> |
2 | - <h2><i class="icon-print"></i> ETIQUETEUSES INSTALLEES </h2> | |
2 | + <h2><i class="icon-print"></i> ETIQUETEUSE </h2> | |
3 | 3 | |
4 | -<br/><br/> | |
5 | -<h3>REFERENCE DE L'ETIQUETEUSE (TITREUSE)</h3> | |
6 | -<hr/> | |
7 | - | |
8 | -<p> | |
9 | -Nom : "Imprimante d'étiquettes - Dymo - LabelManager PnP - USB" | |
10 | -</p> | |
11 | - | |
12 | -<p> | |
13 | -Prix : environ 50 € HT | |
14 | -</p> | |
15 | - | |
16 | -<p> | |
17 | -Ruban à commander : "D1 en 12mm" | |
18 | -</p> | |
19 | - | |
20 | -<p> | |
21 | -<a href="http://www.lyreco.com/webshop/P01/product/viewWithMoreResults/000000000004976543;jsessionid=0000IXKAG_s_jKOqnKptDrmJM2P:170lneimo?lc=FRBE">Lien chez Lyreco (Réf : 4.976.543)</a> | |
22 | -</p> | |
23 | - | |
24 | -<p> | |
25 | -<a href="http://www.officedepot.fr/a/pb/Imprimante-d-etiquettes-Dymo-PnP/pr=&id=5375844/">Lien chez OfficeDepot (Réf : 5375844)</a> | |
26 | -</p> | |
27 | - | |
28 | -<p> | |
29 | -<a href="http://global.dymo.com/frFR/Products/LabelManager_PnP.html">Lien chez le constructeur DYMO (Réf : S0915350)</a> | |
30 | -</p> | |
31 | - | |
32 | -<!-- http://book.cakephp.org/2.0/fr/core-libraries/helpers/html.html --> | |
33 | -<?= $this->Html->image('etiqueteuse.jpg', ['alt' => 'Image de l\'etiqueteuse Dymo - LabelManager PnP - USB']) ?> | |
34 | - | |
35 | -<pre> | |
36 | - Pas de logiciel ni de pilote à installer. Le logiciel intégré s’ouvre à l’écran, prêt à l’emploi. | |
37 | - Garantie 2 ans. | |
38 | - Fonctionne avec les rubans D1 6, 9 et 12 mm. | |
39 | - Petite et compacte, elle trouve facilement sa place sur un bureau. | |
40 | - Batterie lithium-ion fournie, rechargeable par USB - pas d’adaptateur secteur ni de piles. | |
41 | - Personnalisez vos étiquettes avec les polices et graphiques de votre ordinateur. | |
42 | - Connectez-là à votre PC ou Mac et imprimez instantanément et très facilement des étiquettes professionnelles ! | |
43 | - Connexion USB à votre PC ou Mac. | |
44 | -</pre> | |
45 | - | |
46 | -<br/> | |
47 | - | |
48 | -<p> | |
49 | -<a href="/doc/DYMO PnP fiche technique.pdf">Fiche technique</a> | |
50 | -</p> | |
51 | - | |
52 | -<p> | |
53 | -<a href="/doc/DYMO PnP Manuel.pdf">Manuel d'utilisation</a> | |
54 | -</p> | |
55 | - | |
56 | -<br/><br/> | |
57 | -<h3>LOGICIEL DLS (DYMO LABEL SOFTWARE) A INSTALLER</h3> | |
58 | -<hr/> | |
59 | - | |
60 | -<br/> | |
61 | -<p> | |
62 | -<a href="http://global.dymo.com/frFR/HowTo/LabelManager_PnP.html">Page d'aide et de documentation</a> | |
63 | -</p> | |
64 | - | |
65 | -<p> | |
66 | -<a href="http://www.dymo.com/en-US/online-support/dymo-user-guides">Téléchargement logiciel</a> | |
67 | -</p> | |
68 | - | |
69 | -<p> | |
70 | -<a href="http://global.dymo.com/ieIE/Software/LabelWriter_400.html">Autre lien pour le téléchargement</a> | |
71 | -</p> | |
72 | - | |
73 | - | |
74 | -<br/><br/><br/><br/> | |
75 | -<h3>ETIQUETEUSES INSTALLEES SUR LE LABORATOIRE</h3> | |
76 | -<hr/> | |
77 | - | |
78 | -<?php | |
79 | -//if ($localConfig['labName']=='IRAP') | |
80 | - | |
81 | -echo " | |
82 | - | |
83 | -<p> | |
84 | -<br/> | |
85 | -Dans l'idéal, il faudrait une étiqueteuse par gestionnaire financier : | |
86 | -</p> | |
87 | - | |
88 | - <b>SUR LE SITE ROCHE :</b> | |
89 | - <ul> | |
90 | - <li> | |
91 | - <b>Jean-Louis Lefort (site Roche 101)</b> ==> installée le 1/12/14 (pc8008, Windows 7 Pro 2009 SP1, version soft DLS 8.5.1) | |
92 | - <br/> | |
93 | - Aucun problème, installée sur lettre G: - laissé 1 ruban D1 12mm de 7m en plus du ruban installé (3m seulement) | |
94 | - <br/> | |
95 | - <i> | |
96 | - Pour info, ancienne installation faite sur son pc XP (23/5/14) (version soft DLS 8.5.1) | |
97 | - Problème : si le logiciel DLS (Dymo Label Soft) est déjà ouvert, ça provoque une erreur Windows. Il faut donc refermer le logiciel avant de demander l'impression d'un ruban | |
98 | - (c'est peut-être dû à cette version 8.5.1, la dernière version sortie, car sur l'ancienne version, je ne crois pas qu'il y ait cette erreur sur XP) | |
99 | - </i> | |
100 | - </li> | |
101 | - | |
102 | - <li> | |
103 | - <b>Dorine Roma (site Roche 102)</b> ==> installée le 1/12/14 (pc8006 Optiplex 7010, Windows 7 Pro 2009 SP1, version soft DLS 8.5.1) | |
104 | - <br/> | |
105 | - <i> | |
106 | - Installée sur lettre G: - ruban installé = 3m seulement | |
107 | - </i> | |
108 | - </li> | |
109 | - | |
110 | - <li> | |
111 | - <b>Carole Lecinana (site Roche 104)</b> ==> installée le 1/12/14 (pc8005 Optiplex 7010, Windows 7 Pro 2009 SP1, version soft DLS 8.5.1) | |
112 | - <br/> | |
113 | - <i> | |
114 | - Installée sur lettre G: - ruban installé = 3m seulement | |
115 | - </i> | |
116 | - </li> | |
117 | - | |
118 | - <li> | |
119 | - <b>Marjorie Cloup (site Roche 104)</b> ==> installée le 1/12/14 (pc8007 Optiplex 7010, Windows 7 Pro 2009 SP1, version soft DLS 8.5.1) | |
120 | - <br/> | |
121 | - <i> | |
122 | - Installée sur lettre G: - ruban installé = 3m seulement | |
123 | - </i> | |
124 | - </li> | |
125 | - </ul> | |
4 | + <br/><br/> | |
5 | + <h3>DOCUMENTATION ET INSTALLATION DE L'ETIQUETEUSE (TITREUSE)</h3> | |
6 | + <hr/> | |
126 | 7 | |
127 | 8 | <br/> |
128 | - <b>SUR LE SITE BELIN :</b> | |
129 | - <ul> | |
130 | - <li> | |
131 | - <b>Carole Gaiti (site Belin 61)</b> ==> installée le 24/6/14 (pc Win 7 - version soft DLS 8.5.1) | |
132 | - </li> | |
133 | - | |
134 | - <li> | |
135 | - Dolores Granat (site Belin 80bis) ==> A FAIRE | |
136 | - </li> | |
137 | - | |
138 | - <li> | |
139 | - Isabelle Moro (site Belin B064) ==> A FAIRE | |
140 | - </li> | |
141 | - | |
142 | - <li> | |
143 | - De plus, Etienne Pallier (site Roche 63, Mac OS 10.7) et Elodie Bourrec (site Belin 59, Win 7) sont tous les deux équipés d'une étiqueteuse | |
144 | - </li> | |
145 | - | |
146 | - <li> | |
147 | - Enfin, l'étiqueteuse (ancienne) de Gilbert Rouaix (site Roche 19, Win XP) semble compatible puisqu'on a réussi à imprimer des étiquettes dessus. | |
148 | - </li> | |
149 | - | |
150 | - </ul> | |
151 | - | |
152 | -<p> | |
153 | -<br/> | |
154 | -Au total, ça fait donc 9. | |
155 | -</p> | |
156 | -"; | |
157 | -?> | |
158 | - | |
9 | + <p><a href="https://projects.irap.omp.eu/projects/inventirap/wiki/Installation#H-Etiquettes-optionnel"> Lien vers le wiki</a></p> | |
159 | 10 | </div> |
160 | 11 | |
161 | - | |
162 | - <div class="actions"> | |
163 | - <?php echo $this->element('menu') ?> | |
164 | - </div> | |
12 | +<div class="actions"> | |
13 | + <?php echo $this->element('menu') ?> | |
14 | +</div> | |
165 | 15 | |
166 | 16 | \ No newline at end of file | ... | ... |
src/Template/Pages/tools.ctp
... | ... | @@ -35,7 +35,7 @@ |
35 | 35 | echo '</td></tr>'; |
36 | 36 | |
37 | 37 | echo '<tr><td>'; |
38 | - echo $this->Html->link('Voir les étiqueteuses installées', ['controller'=>'pages', 'action'=>'printers']); | |
38 | + echo $this->Html->link('Etiqueteuse', ['controller'=>'pages', 'action'=>'printers']); | |
39 | 39 | echo '</td></tr>'; |
40 | 40 | |
41 | 41 | echo '<tr><td>'; | ... | ... |