Commit cf634daa4f8973a29e9fd15ec031f1b77195c8fc

Authored by Thibaud Ajas
2 parents d413c85a 19e92930

v2.6.2

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 */;
... ...
database/update/db-update-2017-05-12.sh 0 → 100644
... ... @@ -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
... ...
database/update/script_sql/db-update-2017-05-12.sql 0 → 100644
... ... @@ -0,0 +1,3 @@
  1 +use database;
  2 +
  3 +ALTER TABLE `materiels` ADD `nom_gestionnaire` VARCHAR( 45 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL AFTER `email_responsable` ;
... ...
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 = &#39;Labinvent 2&#39;;
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-&gt;status ) == &#39;ARCHIVED&#39;)
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">&gt; passe alors en statut </span><span class="T7">CREATED ==&gt; </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 ==&gt; 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 ==&gt; 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) ==&gt; 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 ==&gt; 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 ==&gt;  VALIDATED ==&gt;  TOBEARCHIVED ==&gt;  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">&amp; 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">&gt; passe alors en statut </span><span class="T7">CREATED ==&gt; </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 ==&gt; 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 ==&gt; 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) ==&gt; 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 ==&gt; 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 ==&gt;  VALIDATED ==&gt;  TOBEARCHIVED ==&gt;  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">&amp; 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>';
... ...