Commit 5f3b69e043c1ccc4b6236d8179b537c6a7fcdd2a
Exists in
master
and in
3 other branches
Merge branch 'master' of https://gitlab.irap.omp.eu/epallier/labinvent
conflit doc merge
Showing
33 changed files
with
667 additions
and
286 deletions
Show diff stats
README-LABINVENT.md
... | ... | @@ -50,12 +50,12 @@ Logiciel testé et validé sur les configurations suivantes : |
50 | 50 | |
51 | 51 | VERSION ACTUELLE |
52 | 52 | |
53 | -Date: 23/06/2016 | |
54 | -Version: 2.4.6.9 | |
53 | +Date: 24/06/2016 | |
54 | +Version: 2.4.7.2 | |
55 | 55 | |
56 | -Date garantie (materiel) + bugfixes calcul date (suivi) | |
56 | +!!! Se placer dans database/update et exécuter le script ./db-update-2016-06-24-2.sh !!! | |
57 | 57 | |
58 | -Demande (terminé) : https://projects.irap.omp.eu/issues/3804 | |
58 | +Correction demandé par l'IAS | |
59 | 59 | |
60 | 60 | Version majeure en cours (2.4): https://projects.irap.omp.eu/versions/107 |
61 | 61 | |
... | ... | @@ -66,6 +66,9 @@ ROADMAP: https://projects.irap.omp.eu/projects/labinvent/roadmap |
66 | 66 | CHANGEMENTS IMPORTANTS (MILESTONES) |
67 | 67 | |
68 | 68 | Liste complète des évolutions: https://gitlab.irap.omp.eu/epallier/labinvent/commits/master |
69 | +24/06/2016 Version: 2.4.7.2 (Version 2.4 finale) | |
70 | + Implémentation des ACL (droits) & Autres demandes | |
71 | + https://projects.irap.omp.eu/versions/107 | |
69 | 72 | |
70 | 73 | 30/05/2016 Version: 2.3.2.1 (Version 2.3 finale) |
71 | 74 | Implémentation du LDAP (vrai et fake) |
... | ... | @@ -91,6 +94,10 @@ Liste complète des évolutions: https://gitlab.irap.omp.eu/epallier/labinvent/c |
91 | 94 | |
92 | 95 | MODIFICATIONS STRUCTURELLES A FAIRE MANUELLEMENT APRES LA MISE A JOUR (git pull) |
93 | 96 | |
97 | +24/06/16 (v2.4.7.2) Se placer dans database/update et exécuter le script ./db-update-2016-06-24-2.sh | |
98 | + | |
99 | +24/06/16 (v2.4.7.0) Se placer dans database/update et exécuter le script ./db-update-2016-06-24.sh | |
100 | + | |
94 | 101 | 23/06/16 (v2.4.6.5) Se placer dans database/update et exécuter le script ./db-update-2016-06-23.sh |
95 | 102 | |
96 | 103 | 23/06/16 (v2.4.6.4) Se placer dans database/update et exécuter le script ./db-update-2016-06-22.sh | ... | ... |
database/labinvent_2.1_12-05-16.sql
... | ... | @@ -348,6 +348,8 @@ CREATE TABLE IF NOT EXISTS `configurations` ( |
348 | 348 | `emailGuest10` varchar(45) DEFAULT NULL, |
349 | 349 | `test` tinyint(1) DEFAULT NULL, |
350 | 350 | `prix_inventaire_administratif` int( 10 ) DEFAULT '800', |
351 | + `numero_labo_sans_annee` tinyint(1) DEFAULT NULL, | |
352 | + `date_commande_facultative` tinyint(1) DEFAULT NULL, | |
351 | 353 | PRIMARY KEY (`id`), |
352 | 354 | UNIQUE KEY `nom_UNIQUE` (`nom`) |
353 | 355 | ); |
... | ... | @@ -412,7 +414,7 @@ ALTER TABLE `users` |
412 | 414 | ADD CONSTRAINT `fk_users_groupe_thematique_id` FOREIGN KEY (`groupe_thematique_id`) REFERENCES `groupes_thematiques` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION; |
413 | 415 | |
414 | 416 | -- Insertion par défaut |
415 | -Insert into type_suivis(id, nom) values (9, 'Panne'); | |
417 | +Insert into type_suivis(nom) values ('Réparation'); | |
416 | 418 | Insert into sites(id, nom) values (9, 'N/A'); |
417 | 419 | |
418 | 420 | -- Insertion par défaut pour la table configuration | ... | ... |
database/update/.gitignore
... | ... | @@ -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-2016-06-24-2.sql ./script_sql/db-update-2016-06-24-2-build.sql | |
23 | + | |
24 | +# Execute sql update script | |
25 | +sed -e "s/database/$database/" -i ./script_sql/db-update-2016-06-24-2-build.sql | |
26 | +mysql --user=$username --password=$password -h $host < ./script_sql/db-update-2016-06-24-2-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 | ... | ... |
... | ... | @@ -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-2016-06-24.sql ./script_sql/db-update-2016-06-24-build.sql | |
23 | + | |
24 | +# Execute sql update script | |
25 | +sed -e "s/database/$database/" -i ./script_sql/db-update-2016-06-24-build.sql | |
26 | +mysql --user=$username --password=$password -h $host < ./script_sql/db-update-2016-06-24-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/.gitignore
install/INSTALLATION.txt
... | ... | @@ -110,89 +110,135 @@ You can now use your git from the cmd or the graphic client ! |
110 | 110 | |
111 | 111 | *2) Préparation* |
112 | 112 | |
113 | -* Vérifier que vous etes le propriétaire du dossier (il ne doit pas appartenir à "root"), sinon faire : | |
113 | +* Le dossier "labinvent" peut appartenir à root, mais il est préférable que vous en soyez vous-mêmes (ou un autre user) le propriétaire : | |
114 | 114 | > sudo chown -R nom_utilisateur LABINVENT |
115 | 115 | |
116 | 116 | * Placer cette archive à l'endroit voulu, 2 possibilités : |
117 | 117 | - (1) soit vous placez cette archive directement dans le repertoire des sites webs du serveur web (par exemple /var/www/html/localhost/public_html/) |
118 | -- (2) soit vous la placez n'importe où ailleurs (par exemple dans votre repertoire home), et ensuite vous indiquerez au serveur web où trouver ce projet | |
118 | +- (2) soit vous la placez n'importe où ailleurs (par exemple dans votre repertoire home), et ensuite vous indiquerez au serveur web où trouver ce projet (ou bien vous ferez un lien depuis votre /var/www/html/ vers ce dossier labinvent/) | |
119 | 119 | |
120 | 120 | h2. INSTALLATION |
121 | 121 | |
122 | 122 | h3. A/ PREREQUIS |
123 | 123 | |
124 | -Sur Windows, avec Wampserver, il n'y a rien à faire. | |
124 | +Le logiciel nécessite une combinaison "AMP" pour fonctionner, soit les 3 pré-requis suivants : | |
125 | 125 | |
126 | -Voici les pré-requis pour Linux (l'exemple est donné ici pour une distribution UBuntu 14.04.4) et Mac OS : | |
126 | +* un serveur web Apache | |
127 | +* un serveur de base de données Mysql | |
128 | +* le langage Php en version 5.5.9 minimum (5.6 recommandé) | |
127 | 129 | |
128 | -* Pour Cent OS 6.7, vous pouvez vous aider des liens suivants : | |
130 | +Si ce tiercé est déjà présent sur votre OS, vous pouvez passer à l'étape suivante (B/ Installation), et revenir ici seulement en cas de problème de configuration. | |
131 | + | |
132 | +Sur Windows, vous pouvez utiliser Wampserver ou XAMPP qui regroupent ces 3 éléments (il n'y aura rien d'autre à faire ensuite). | |
133 | + | |
134 | +Sur Mac, vous pouvez utiliser XAMPP (ou autre équivalent) ou bien installer chacun des 3 éléments séparément via MacPort. | |
135 | + | |
136 | +Sur Linux, voici la démarche à suivre : | |
137 | + | |
138 | +h4. *1) Installation des prérequis* | |
139 | + | |
140 | +* Exemple pour Cent OS 6.7: | |
129 | 141 | <pre> |
142 | + | |
143 | +Mettre à jour le serveur: | |
144 | +$ sudo yum kernel | |
145 | +(restart) | |
146 | +$ sudo yum update | |
147 | + | |
130 | 148 | Pour installer Apache, MySQL & PHP 5.3 : |
131 | 149 | --> https://www.zerostopbits.com/how-to-install-apache-mysql-and-php-on-centos-6-7/ |
132 | 150 | |
133 | 151 | Pour mettre à jour PHP de la 5.3 à la 5.6 |
134 | 152 | --> https://www.zerostopbits.com/how-to-upgrade-php-5-3-to-php-5-6-on-centos-6-7/ |
153 | + | |
154 | +Mettre à jour Mysql (version 5.1 à 5.5): | |
155 | +$ sudo yum update | |
156 | + | |
135 | 157 | </pre> |
136 | 158 | |
137 | -* Pour commencer il faut mettre à jour les "repository" de apt : | |
138 | -> sudo apt-get update && sudo apt-get upgrade | |
139 | 159 | |
140 | -* Un serveur web (apache avec le mod_rewrite actif) | |
141 | -> sudo apt-get install apache2 | |
160 | +* Exemple pour une distribution UBuntu 14.04.4: | |
142 | 161 | |
143 | -> Editer le fichier /etc/apache2/apache2.conf et mettre le paramêtre "KeepAlive" à "Off" : | |
144 | 162 | <pre> |
145 | -KeepAlive Off | |
163 | + | |
164 | +Pour commencer il faut mettre à jour les "repository" de apt : | |
165 | +$ sudo apt-get update && sudo apt-get upgrade | |
166 | + | |
167 | +Installer un serveur web (Apache) : | |
168 | +$ sudo apt-get install apache2 | |
169 | + | |
170 | +Installer un serveur de base de données (MySQL): | |
171 | +$ sudo apt-get install mysql-server | |
172 | + | |
173 | +Installer le langage PHP en version 5.5.9 minimum (5.6 recommandé) | |
174 | +$ sudo apt-get install php5 php-pear | |
175 | +$ sudo apt-get install php5-mysql | |
176 | + | |
146 | 177 | </pre> |
147 | -=> (pas nécessaire sur Mac OS avec Xampp) | |
148 | 178 | |
149 | -> Par défaut Apache utilise un "event module" et PHP un "prefork module". | |
150 | -> Il faut désactiver le 1er module et activer le second : | |
151 | -> > sudo a2dismod mpm_event | |
152 | -> > sudo a2enmod mpm_prefork | |
153 | -=> (pas nécessaire sur Mac OS avec Xampp) | |
179 | +h4. *2) Configuration des prérequis* | |
154 | 180 | |
155 | -* Un serveur de base de données (MySQL) | |
156 | -> sudo apt-get install mysql-server | |
181 | +* *(optionnel) Configuration du serveur web (Apache)* | |
157 | 182 | |
158 | -* PHP 5.5.9 ou plus | |
159 | -> sudo apt-get install php5 php-pear | |
160 | -> sudo apt-get install php5-mysql | |
183 | + * KeepAlive: | |
184 | +Editer le fichier /etc/apache2/apache2.conf et mettre le paramêtre "KeepAlive" à "Off" : | |
185 | +<pre> | |
186 | +KeepAlive Off | |
187 | +</pre> | |
161 | 188 | |
162 | -> Dans le fichier /etc/php5/apache2/php.ini, vous devez positionner votre répertoire de log : | |
189 | + * event et prefork modules: | |
190 | +Par défaut Apache utilise un "event module" et PHP un "prefork module". | |
191 | +Il faut désactiver le 1er module et activer le second : | |
163 | 192 | <pre> |
164 | -error_reporting = E_ALL | |
165 | -error_log = /var/log/php/error.log | |
166 | -max_input_time = 30 | |
193 | +sudo a2dismod mpm_event | |
194 | +sudo a2enmod mpm_prefork | |
167 | 195 | </pre> |
168 | 196 | |
169 | -> Ensuite il faut créer le dossier en question et donner à apache (ici www-data) les droits sur ce dossier : | |
170 | -> > sudo mkdir /var/log/php | |
171 | -> > sudo chown www-data /var/log/php | |
172 | -=> (pas nécessaire sur Mac OS avec Xampp) | |
173 | 197 | |
174 | -* Extension PHP "intl" | |
175 | -Vérifier que cette extension est activée dans le php.ini: | |
198 | +* *Configuration de Php* | |
199 | + | |
200 | + * Extension PHP "intl": | |
201 | +(Pour savoir quelle configuration est utilisée : php --ini) | |
202 | +Vérifier qu'elle est activée dans le php.ini | |
176 | 203 | <pre> |
204 | +php --ini|grep intl | |
205 | +Sinon, l'ajouter dans le php.ini: | |
177 | 206 | extension=intl.so |
178 | 207 | </pre> |
179 | - | |
180 | 208 | Vérifier qu'elle est bien installée : |
181 | 209 | <pre> |
182 | 210 | $ php -m| grep intl |
183 | 211 | (ça devrait retourner "intl") |
212 | +Sinon, l'installer | |
213 | +Ubuntu: | |
214 | +$ sudo apt-get install php5-intl | |
215 | +CentOS: | |
216 | +$ sudo yum install php-intl | |
217 | +MacOS avec XAMPP: | |
218 | +cf http://stackoverflow.com/questions/27886117/php-intl-installation-on-xampp | |
219 | +Il se pourrait que vous ayez besoin de ré-exécuter l'installeur de XAMPP afin de cocher l'option "XAMPP Developer Files", si vous ne l'aviez pas déjà fait lors de votre installation de XAMPP | |
220 | +cd /Applications/XAMPP/bin | |
221 | +sudo ./pecl install intl | |
222 | +(Vérifier qu'elle a bien été installée dans /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20131226/) | |
184 | 223 | </pre> |
185 | 224 | |
186 | -Sinon, l'installer | |
187 | -> sudo apt-get install php5-intl | |
225 | + * (optionnel) Dossier de log: | |
226 | +Dans le fichier /etc/php5/apache2/php.ini, vous devez positionner votre répertoire de log : | |
227 | +<pre> | |
228 | +error_reporting = E_ALL | |
229 | +error_log = /var/log/php/error.log | |
230 | +max_input_time = 30 | |
231 | +</pre> | |
232 | +Ensuite il faut créer le dossier en question et donner à apache (ici www-data) les droits sur ce dossier : | |
233 | +<pre> | |
234 | +sudo mkdir /var/log/php | |
235 | +sudo chown www-data /var/log/php | |
236 | +</pre> | |
188 | 237 | |
189 | -(Sur MacOS avec XAMPP: cf http://stackoverflow.com/questions/27886117/php-intl-installation-on-xampp) | |
190 | -(Il se pourrait que vous ayez besoin de ré-exécuter l'installeur de XAMPP afin de cocher l'option "XAMPP Developer Files", si vous ne l'aviez pas déjà fait lors de votre installation de XAMPP) | |
238 | +* *Recharger la configuration du serveur Web* | |
191 | 239 | <pre> |
192 | -cd /Applications/XAMPP/bin | |
193 | -sudo ./pecl install intl | |
240 | +$ sudo service httpd reload | |
194 | 241 | </pre> |
195 | -(Vérifier qu'elle a bien été installée dans /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20131226/) | |
196 | 242 | |
197 | 243 | h3. B/ INSTALLATION |
198 | 244 | |
... | ... | @@ -370,24 +416,33 @@ Attention, il faut les exécuter *dans l'ordre chronologique*, un par un |
370 | 416 | |
371 | 417 | Exemple: |
372 | 418 | <pre> |
373 | -mysql -u login -p labinvent2 < db-update-2016-06-03.sql | |
419 | +Placez vous dans ./database/update et éxécutez les commandes correspondantes : | |
420 | + | |
421 | +./db-update-2016-06-03.sh | |
374 | 422 | |
375 | -mysql -u login -p labinvent2 < db-update-2016-06-06.sql | |
423 | +./db-update-2016-06-06.sh | |
376 | 424 | |
377 | -mysql -u login -p labinvent2 < db-update-2016-06-07.sql | |
425 | +./db-update-2016-06-07.sh | |
378 | 426 | </pre> |
379 | 427 | |
380 | -_Remplacer 'login' par le 'username' défini dans votre fichier config/app.php dans la section Datasources (default)_ | |
381 | -_Remplacer 'labinvent2' par le 'database' défini au même endroit_ | |
382 | 428 | |
429 | +3) [Seulement si nécessaire] Ré-exécuter le script d'installation | |
383 | 430 | |
431 | +4) [Seulement si étape 3 non effectué et si nécessaire] Exécuter le script de mise à jour du fichier de configuration (app.php) | |
432 | +<pre> | |
433 | +Placez vous dans ./install et entrez la ligne suivante : | |
384 | 434 | |
435 | +./update-app-php.sh | |
436 | +</pre> | |
385 | 437 | |
386 | -3) [Seulement si nécessaire] Ré-exécuter le script d'installation | |
387 | 438 | |
388 | 439 | cd install/ |
389 | 440 | ./install.sh |
390 | 441 | |
442 | +Remarques : | |
443 | +* Le fichier README-LABINVENT.md contient la liste des mise à jour de la base. | |
444 | +* Le fichier contient également une liste des versions ou il faut exécuter le script d'installation et dans quel mode (n'éxécutez qu'une fois le script, si votre version était antérieur). | |
445 | + | |
391 | 446 | --- |
392 | 447 | |
393 | 448 | h2. MODE PANIQUE |
... | ... | @@ -395,9 +450,13 @@ h2. MODE PANIQUE |
395 | 450 | Vous avez changé la configuration du LDAP et elle ne fonctionne plus ! |
396 | 451 | Du coup, vous ne pouvez plus vous connecter au site ! |
397 | 452 | Il faut donc repasser le logiciel en mode INSTALL pour pouvoir y accéder sans connexion. |
398 | -Pour cela, exécuter la requête sql suivante sur la base de données: | |
399 | - | |
453 | +Pour cela, exécuter la requête sql database/set_mode_install.sql sur la base de données: | |
400 | 454 | |
401 | 455 | <pre> |
402 | -UPDATE configurations SET mode_install=1; | |
403 | -</pre> | |
404 | 456 | \ No newline at end of file |
457 | +mysql -u login -p labinvent2 < set_mode_install.sql | |
458 | +</pre> | |
459 | + | |
460 | +_Remplacer 'login' par le 'username' défini dans votre fichier config/app.php dans la section Datasources (default)_ | |
461 | +_Remplacer 'labinvent2' par le 'database' défini au même endroit_ | |
462 | + | |
463 | +(ou bien exécuter cette requête depuis phpmyadmin) | |
405 | 464 | \ No newline at end of file | ... | ... |
install/installation.sh
1 | 1 | #!/bin/bash |
2 | 2 | |
3 | +git config core.fileMode false | |
4 | + | |
3 | 5 | # Pour Mac OS recent (10.10, Yosemite), la syntaxe du SED est differente |
4 | 6 | # Il faut donc faire une copie de ce fichier et transformer les instructions sed a l'interieur |
5 | 7 | # Pour cela, il suffit d'executer ces 2 lignes : |
... | ... | @@ -24,8 +26,8 @@ cd ../ |
24 | 26 | #Configurer l'application |
25 | 27 | # Donner le nom du groupe webService |
26 | 28 | echo |
27 | -echo "LabInvent Copyright (C) 2012-2016 IRAP (Toulouse - France)" | |
28 | -echo "Auteurs : Etienne Pallier <etienne.pallier@irap.omp.eu>, Elodie Bourrec <elodie.bourrec@irap.omp.eu>" | |
29 | +echo "LabInvent Copyright (C) 2012-2017 IRAP (Toulouse - France)" | |
30 | +echo "Auteurs : Etienne Pallier <etienne.pallier@irap.omp.eu>, Elodie Bourrec <elodie.bourrec@irap.omp.eu>, Alexandre Cases <alexandre.cases@etu.univ-tlse2.fr>" | |
29 | 31 | echo "Licence GPL (http://www.gnu.org/copyleft/gpl.html)" |
30 | 32 | echo "Ce logiciel est mis a disposition tel quel, SANS AUCUNE GARANTIE." |
31 | 33 | echo "C'est un logiciel libre, et vous pouvez le redistribuer sous certaines conditions." |
... | ... | @@ -43,7 +45,7 @@ echo "ok" |
43 | 45 | echo |
44 | 46 | |
45 | 47 | while : ; do |
46 | - echo "Donner le nom du GROUPE du serveur web (ex: www, apache (cent os 6.7), nobody (mac), admin, www-data (ubuntu 14.04), ...)" | |
48 | + echo "Donner le nom du GROUPE du serveur web (ex: apache (centOs), www-data (Ubuntu), daemon (MacOS avec XAMPP), nobody (MacOS), admin, ...)" | |
47 | 49 | read grp |
48 | 50 | [[ -n "$grp" ]] && break |
49 | 51 | done |
... | ... | @@ -124,6 +126,7 @@ sudo chgrp -R $grp ./vendor/phpqrcode/ |
124 | 126 | # Normalement, il faudrait ecrire dans app/tmp et pas dans app/webroot |
125 | 127 | # EP 2014/12/11 chmod 775 ne suffit pas |
126 | 128 | #chmod -R 775 ./webroot/img/ |
129 | +#sudo chmod -R 770 ./webroot/img/ | |
127 | 130 | sudo chmod -R 777 ./webroot/img/ |
128 | 131 | #sudo chown -R $grp:$grp ./webroot/img/ |
129 | 132 | sudo chgrp -R $grp ./webroot/img/ |
... | ... | @@ -149,6 +152,7 @@ sudo chgrp -R $grp ./tmp/ |
149 | 152 | chmod -R 777 ./logs/ |
150 | 153 | sudo chgrp -R $grp ./logs/ |
151 | 154 | #Il semble qu'il manque des droits au dossier Vendor, droit trop général à réduire (identifié les composants qui ont besoin de s'éxécuter ou de se lire, pas d'écriture dans le dossier Vendor normalement...) |
155 | +#sudo chmod -R 770 ./vendor/ | |
152 | 156 | sudo chmod -R 777 ./vendor/ |
153 | 157 | echo "==>Done" |
154 | 158 | |
... | ... | @@ -162,13 +166,13 @@ configFile=$configPath/app.php |
162 | 166 | |
163 | 167 | |
164 | 168 | # Mode install or update |
165 | -echo "Voulez-vous effectuer une premiere installation ou une mise à niveau, install/update ? (par défaut, update) :" | |
169 | +echo "Voulez-vous effectuer une premiere installation ou une mise à niveau ? ('install'/'update', par défaut 'install') :" | |
166 | 170 | read rep |
167 | 171 | if [ -z $rep ] ; then |
168 | - rep="update" | |
172 | + rep="install" | |
169 | 173 | fi |
170 | 174 | |
171 | -if [ $rep = "install" ] ; then | |
175 | +if [ $rep == "install" ] ; then | |
172 | 176 | mode="install" |
173 | 177 | echo "Utilisation mode install" |
174 | 178 | else |
... | ... | @@ -179,7 +183,7 @@ fi |
179 | 183 | |
180 | 184 | # Copy sample GENERAL config file to real personal file (make a copy first if already exists !) |
181 | 185 | [[ -f $myConfigFile ]] && cp -p $myConfigFile $myConfigFile.ORIG |
182 | -if [ $mode = "install" ] ; then | |
186 | +if [ $mode == "install" ] ; then | |
183 | 187 | cp $configPath/app.default.php $myConfigFile |
184 | 188 | fi |
185 | 189 | |
... | ... | @@ -204,7 +208,7 @@ echo "Entrez le mot de passe de ce login privilegie (sinon, entrer le mot de pas |
204 | 208 | read -s bddAdminPass |
205 | 209 | echo |
206 | 210 | |
207 | -if [ $mode = 'install' ] ; then | |
211 | +if [ $mode == 'install' ] ; then | |
208 | 212 | echo |
209 | 213 | echo "Informations sur la base de donnee " |
210 | 214 | echo "Voulez-vous creer la base de donnees, Oui/Non ? (par defaut, Non) :" |
... | ... | @@ -212,7 +216,7 @@ if [ $mode = 'install' ] ; then |
212 | 216 | if [ -z $rep ] ; then |
213 | 217 | rep="Non" |
214 | 218 | fi |
215 | - if [ $rep = "O" ] || [ $rep = "o" ] || [ $rep = "Oui" ] || [ $rep = "oui" ] || [ $rep = "OUI" ]; then | |
219 | + if [ $rep == "O" ] || [ $rep == "o" ] || [ $rep == "Oui" ] || [ $rep == "oui" ] || [ $rep == "OUI" ]; then | |
216 | 220 | BDD="Oui" |
217 | 221 | echo "Creation de la base de donnees" |
218 | 222 | else |
... | ... | @@ -224,7 +228,7 @@ else |
224 | 228 | fi |
225 | 229 | |
226 | 230 | |
227 | -if [ $BDD = "Oui" ] ; then | |
231 | +if [ $BDD == "Oui" ] ; then | |
228 | 232 | echo "Entrez le nom de la base a utiliser pour l'inventaire (defaut=labinvent)" |
229 | 233 | read bddName |
230 | 234 | if [ -z $bddName ] ; then |
... | ... | @@ -259,7 +263,7 @@ cd database/ |
259 | 263 | echo "Creation script de construction." |
260 | 264 | [[ -f build.sql ]] && cp -p build.sql build.sql.ORIG |
261 | 265 | |
262 | -if [ $BDD = "Oui" ] ; then | |
266 | +if [ $BDD == "Oui" ] ; then | |
263 | 267 | #Structure de la base présente dans le fichier "labinvent_2.1_12-05-16.sql" |
264 | 268 | cat ./labinvent_2.1_12-05-16.sql > ./build.sql |
265 | 269 | |
... | ... | @@ -271,7 +275,7 @@ if [ $BDD = "Oui" ] ; then |
271 | 275 | if [ $INSTALL_DATA_IRAP -eq 1 ] ; then |
272 | 276 | echo "Voulez-vous installer les donnees propres a l'IRAP (categories, groupes metiers, groupes thematiques) dans la base de donnees, Oui/Non ? (reponse par defaut Oui) :" |
273 | 277 | read rep |
274 | - if [ -z $rep ] || [ $rep = "O" ] || [ $rep = "o" ] || [ $rep = "Oui" ] || [ $rep = "oui" ] || [ $rep = "OUI" ]; then | |
278 | + if [ -z $rep ] || [ $rep == "O" ] || [ $rep == "o" ] || [ $rep == "Oui" ] || [ $rep == "oui" ] || [ $rep == "OUI" ]; then | |
275 | 279 | echo "Installation des donnees IRAP dans la base de donnees" |
276 | 280 | cat ./Insert_TablesFunct.sql >> ./build.sql |
277 | 281 | else |
... | ... | @@ -299,7 +303,7 @@ if [ $BDD = "Oui" ] ; then |
299 | 303 | |
300 | 304 | echo "Voulez-vous installer quelques utilisateurs supplementaires dans la base de donnees (vous pourrez ensuite changer leur nom dans l'application, ou meme les supprimer ; par defaut, Oui): Oui/Non ?" |
301 | 305 | read rep |
302 | - if [ -z $rep ] || [ $rep = "O" ] || [ $rep = "o" ] || [ $rep = "Oui" ] || [ $rep = "oui" ] || [ $rep = "OUI" ]; then | |
306 | + if [ -z $rep ] || [ $rep == "O" ] || [ $rep == "o" ] || [ $rep == "Oui" ] || [ $rep == "oui" ] || [ $rep == "OUI" ]; then | |
303 | 307 | echo "Ajout de quelques utilisateurs supplementaires dans la base (Mot de passe par défaut : login)" |
304 | 308 | cat ./Insert_FakeUsers.sql >> ./build.sql |
305 | 309 | fi |
... | ... | @@ -321,30 +325,28 @@ echo |
321 | 325 | echo "*** FIN DE L'INSTALLATION ***" |
322 | 326 | echo |
323 | 327 | |
324 | -if [ $mode = 'install' ] ; then | |
328 | +if [ $mode == 'install' ] ; then | |
325 | 329 | echo "Si vous voulez le conserver, le script de creation de la BD est database/build.sql" |
326 | 330 | echo "Le fichier de configuration app.php a été écrasé, vous pouvez retrouver votre ancienne configuration dans le fichier app.php.ORIG." |
327 | 331 | echo |
328 | 332 | echo "MAINTENANT :" |
329 | 333 | echo "1) Verifiez que la BD d'inventaire ($bddName) a bien ete cree (avec phpmyadmin par exemple)" |
330 | 334 | echo "2) Verifiez que les tests passent, placez vous à la racine du projet, exécutez la commande 'vendor/bin/phpunit'." |
331 | - echo "3) Allez sur l'application, vous devriez arriver par défaut sur un mode install vous donnant des informations sur la configuration de votre application, vérifiez que tout les points soit validé, sinon rajouter les extensions manquantes..." | |
335 | + echo "3) Allez sur l'application, vous devriez arriver par défaut sur un mode install vous donnant des informations sur la configuration de votre application, vérifiez que tous les points sont bien validés (verts), sinon rajouter les extensions manquantes..." | |
332 | 336 | echo "4) Testez l'accès à l'application par le web" |
333 | 337 | else |
334 | 338 | echo |
335 | 339 | echo "MAINTENANT :" |
336 | 340 | echo "1) Verifiez que les tests passent, placez vous à la racine du projet, exécutez la commande 'vendor/bin/phpunit'." |
337 | - echo "2) Allez sur l'application, vous devriez arriver par défaut sur un mode install vous donnant des informations sur la configuration de votre application, vérifiez que tout les points soit validé, sinon rajouter les extensions manquantes..." | |
341 | + echo "2) Allez sur l'application, vous devriez arriver par défaut sur un mode install vous donnant des informations sur la configuration de votre application, vérifiez que tous les points sont bien validés (verts), sinon rajouter les extensions manquantes..." | |
338 | 342 | echo "3) Testez l'accès à l'application par le web" |
339 | 343 | fi |
340 | 344 | |
341 | -echo "Pour aller sur l'application, suivez la suite des instructions qui sont dans le fichier INSTALLATION.txt (à la racine du projet), que vous avez normalement deja commence a lire." | |
345 | +echo "Pour aller sur l'application, suivez la suite des instructions qui sont dans le fichier INSTALLATION.txt (à la racine du projet), que vous avez normalement deja commence a lire (ou bien sur le web (https://projects.irap.omp.eu/projects/inventirap/wiki/Installation)" | |
342 | 346 | echo |
343 | -echo "N'oubliez pas 3 choses importantes (voir la doc INSTALLATION.txt pour plus de details) :" | |
347 | +echo "N'oubliez pas 3 choses importantes :" | |
344 | 348 | echo "1) Personnaliser les 2 fichiers logos suivants dans webroot/img/ :" |
345 | 349 | echo "- logo_entity.jpg : le logo du laboratoire" |
346 | 350 | echo "- logo_software.jpg : le logo du logiciel" |
347 | 351 | echo "2) Personnaliser le logiciel pour votre entité (laboratoire) (via le menu de configuration dans la section outils de l\'application)" |
348 | 352 | echo "3) Passer en mode LDAP (via le menu de configuration dans la section outils de l\'application)" |
349 | - | |
350 | - | ... | ... |
src/Controller/AppController.php
... | ... | @@ -80,7 +80,7 @@ class AppController extends Controller |
80 | 80 | if($role == 'Super Administrateur') return true; |
81 | 81 | |
82 | 82 | //Pour tout le monde |
83 | - if (in_array($action, ['index', 'find', 'view', 'creer', 'add', 'getNextDate'])) return true; | |
83 | + if (in_array($action, ['index', 'find', 'view', 'creer', 'add', 'getNextDate', 'getDateGarantie'])) return true; | |
84 | 84 | |
85 | 85 | |
86 | 86 | // Par défaut refuser | ... | ... |
src/Controller/MaterielsController.php
... | ... | @@ -170,7 +170,18 @@ class MaterielsController extends AppController |
170 | 170 | $this->set('STATUS', $this->passedArgs[0]); |
171 | 171 | } |
172 | 172 | |
173 | - if(!(in_array($this->role, ['Administration', 'Administration Plus', 'Super Administrateur']))) { | |
173 | + $GM = $this->request->query('GM'); | |
174 | + if(isset($GM)) { | |
175 | + $condition = ['Materiels.groupes_metier_id =' => $this->request->query('GM'), 'Materiels.status !=' => 'ARCHIVED']; | |
176 | + } | |
177 | + | |
178 | + $GMV = $this->request->query('GMV'); | |
179 | + if(isset($GMV)) { | |
180 | + $condition = ['Materiels.groupes_metier_id =' => $this->request->query('GMV'), 'Materiels.status =' => 'CREATED', 'Materiels.status !=' => 'ARCHIVED']; | |
181 | + } | |
182 | + | |
183 | + | |
184 | + if($this->role == 'Utilisateur') { | |
174 | 185 | $condition = ['Materiels.status !=' => 'ARCHIVED']; |
175 | 186 | } |
176 | 187 | |
... | ... | @@ -363,6 +374,13 @@ class MaterielsController extends AppController |
363 | 374 | $materiel->set('date_archivage', date('Y-m-d')); |
364 | 375 | } |
365 | 376 | |
377 | + if($newStatus == 'VALIDATED') { | |
378 | + if(!isset($materiel->nom_responsable) || !isset($materiel->fournisseur) || !isset($materiel->numero_commande) || !isset($materiel->organisme_id) || !isset($materiel->date_reception) || !isset($materiel->prix_ht)) { | |
379 | + $this->Flash->success('Pour valider un matériel, les champs suivants ne doivent pas être vide : Nom propriétaire, Fournisseur, Numéro de commande, Organisme, prix et date de reception'); | |
380 | + return $this->redirect(['action' => 'edit', $id]); | |
381 | + } | |
382 | + } | |
383 | + | |
366 | 384 | if ($this->Materiels->save($materiel, ['checkRules' => false, 'checkExisting' => false])) { |
367 | 385 | $this->Flash->success(__($message)); |
368 | 386 | $this->sendEmailToManagement($id); | ... | ... |
src/Controller/SuivisController.php
... | ... | @@ -58,12 +58,19 @@ class SuivisController extends AppController |
58 | 58 | */ |
59 | 59 | public function index() |
60 | 60 | { |
61 | + $condition = ''; | |
62 | + | |
63 | + $GM = $this->request->query('GM'); | |
64 | + if(isset($GM)) { | |
65 | + $condition = ['Suivis.groupes_metier_id =' => $this->request->query('GM')]; | |
66 | + } | |
67 | + | |
61 | 68 | $this->paginate = [ |
62 | 69 | 'contain' => ['Materiels', 'TypeSuivis'] |
63 | 70 | ]; |
64 | - $suivis = $this->paginate($this->Suivis); | |
71 | + $suivis = $this->paginate($this->Suivis->find('all', ['conditions' => $condition])); | |
65 | 72 | |
66 | - $this->set('nbSuivis', $this->Suivis->find('all')->count()); | |
73 | + $this->set('nbSuivis', $this->Suivis->find('all', ['conditions' => $condition])->count()); | |
67 | 74 | |
68 | 75 | $this->set(compact('suivis')); |
69 | 76 | $this->set('_serialize', ['suivis']); | ... | ... |
src/Model/Entity/Configuration.php
... | ... | @@ -36,6 +36,8 @@ use Cake\ORM\Entity; |
36 | 36 | * @property string $emailGuest9 |
37 | 37 | * @property string $emailGuest10 |
38 | 38 | * @property bool $test |
39 | + * @property bool $date_commande_facultative | |
40 | + * @property bool $numero_labo_sans_annee | |
39 | 41 | * @property int $prix_inventaire_administratif |
40 | 42 | */ |
41 | 43 | class Configuration extends Entity | ... | ... |
src/Model/Entity/Materiel.php
... | ... | @@ -48,6 +48,7 @@ use Cake\ORM\Entity; |
48 | 48 | * @property int $organisme_id |
49 | 49 | * @property \App\Model\Entity\Organisme $organisme |
50 | 50 | * @property int $site_id |
51 | + * @property bool $hors_service | |
51 | 52 | * @property \App\Model\Entity\Site $site |
52 | 53 | * @property \App\Model\Entity\Document[] $documents |
53 | 54 | * @property \App\Model\Entity\Emprunt[] $emprunts | ... | ... |
src/Model/Table/ConfigurationsTable.php
... | ... | @@ -137,6 +137,12 @@ class ConfigurationsTable extends AppTable |
137 | 137 | |
138 | 138 | $validator |
139 | 139 | ->allowEmpty('prix_inventaire_administratif'); |
140 | + | |
141 | + $validator | |
142 | + ->allowEmpty('date_commande_facultative'); | |
143 | + | |
144 | + $validator | |
145 | + ->allowEmpty('numero_labo_sans_annee'); | |
140 | 146 | |
141 | 147 | return $validator; |
142 | 148 | } | ... | ... |
src/Model/Table/MaterielsTable.php
... | ... | @@ -117,8 +117,16 @@ class MaterielsTable extends AppTable |
117 | 117 | $validator |
118 | 118 | ->add('status', 'valid', ['rule' => 'checkStatus', 'message' => 'Le statut doit prendre une des 4 valeurs CREATED, VALIDATED, TOBEARCHIVED, ou ARCHIVED', 'provider' => 'table']); |
119 | 119 | |
120 | - $validator | |
121 | - ->notEmpty('date_acquisition', 'Ce champ doit être rempli'); | |
120 | + $configuration = TableRegistry::get('Configurations')->find()->where(['id =' => 1])->first(); | |
121 | + if($configuration->date_commande_facultative) { | |
122 | + $validator | |
123 | + ->allowEmpty('date_acquisition'); | |
124 | + } | |
125 | + else { | |
126 | + $validator | |
127 | + ->notEmpty('date_acquisition', 'Ce champ doit être rempli'); | |
128 | + } | |
129 | + | |
122 | 130 | |
123 | 131 | $validator |
124 | 132 | ->allowEmpty('fournisseur') |
... | ... | @@ -161,6 +169,11 @@ class MaterielsTable extends AppTable |
161 | 169 | ->allowEmpty('etiquette'); |
162 | 170 | |
163 | 171 | $validator |
172 | + ->boolean('hors_service') | |
173 | + ->allowEmpty('hors_service'); | |
174 | + | |
175 | + | |
176 | + $validator | |
164 | 177 | ->notEmpty('site_id', 'Ce champ doit être rempli'); |
165 | 178 | |
166 | 179 | $validator |
... | ... | @@ -267,20 +280,44 @@ class MaterielsTable extends AppTable |
267 | 280 | } |
268 | 281 | |
269 | 282 | // numero_laboratoire generator (QC changed this in Jan 2015) |
270 | - if (empty($entity->get('numero_laboratoire')) && !empty($entity->get('date_acquisition'))) { | |
271 | - $year = substr($entity->get('date_acquisition'), 6, 4); | |
272 | - $labShortName = TableRegistry::get('Configurations')->find()->first()->labNameShort; | |
283 | + $configuration = TableRegistry::get('Configurations')->find()->where(['id =' => 1])->first(); | |
284 | + if($configuration->numero_labo_sans_annee) { | |
285 | + if (empty($entity->get('numero_laboratoire'))) { | |
273 | 286 | |
274 | - $num = TableRegistry::get('Materiels')->find('all', [ | |
275 | - 'fields' => ['numero_laboratoire'], | |
276 | - 'conditions' => ['Materiels.numero_laboratoire LIKE' => $labShortName.'-'.$year.'%'], | |
277 | - 'order' => ['Materiels.numero_laboratoire DESC'] | |
278 | - ])->first()['numero_laboratoire']; | |
287 | + $labShortName = $configuration->labNameShort; | |
288 | + | |
289 | + $num = TableRegistry::get('Materiels')->find('all', [ | |
290 | + 'fields' => ['numero_laboratoire'], | |
291 | + 'conditions' => ['Materiels.numero_laboratoire LIKE' => $labShortName.'%'], | |
292 | + 'order' => ['Materiels.numero_laboratoire DESC'] | |
293 | + ])->first()['numero_laboratoire']; | |
294 | + | |
295 | + error_log($num); | |
296 | + | |
297 | + $newId = substr($num, -4)+1; | |
298 | + error_log($newId); | |
299 | + $labNumber = $labShortName.'-'.sprintf("%04d", $newId); | |
300 | + | |
301 | + $entity->set('numero_laboratoire', $labNumber); | |
302 | + } | |
303 | + } | |
304 | + else { | |
305 | + if (empty($entity->get('numero_laboratoire')) && !empty($entity->get('date_acquisition'))) { | |
306 | + $year = substr($entity->get('date_acquisition'), 6, 4); | |
307 | + $labShortName = $configuration->labNameShort; | |
308 | + | |
309 | + $num = TableRegistry::get('Materiels')->find('all', [ | |
310 | + 'fields' => ['numero_laboratoire'], | |
311 | + 'conditions' => ['Materiels.numero_laboratoire LIKE' => $labShortName.'-'.$year.'%'], | |
312 | + 'order' => ['Materiels.numero_laboratoire DESC'] | |
313 | + ])->first()['numero_laboratoire']; | |
314 | + | |
315 | + $newId = substr($num, -4)+1; | |
279 | 316 | |
280 | - $newId = substr($num, -4)+1; | |
281 | - $labNumber = $labShortName.'-'.$year.'-'.sprintf("%04d", $newId); | |
317 | + $labNumber = $labShortName.'-'.$year.'-'.sprintf("%04d", $newId); | |
282 | 318 | |
283 | - $entity->set('numero_laboratoire', $labNumber); | |
319 | + $entity->set('numero_laboratoire', $labNumber); | |
320 | + } | |
284 | 321 | } |
285 | 322 | |
286 | 323 | ... | ... |
src/Template/Configurations/edit.ctp
... | ... | @@ -36,6 +36,9 @@ |
36 | 36 | echo $this->Form->input('emailGuest9', ['label' => 'Mail guest 9']); |
37 | 37 | echo $this->Form->input('emailGuest10', ['label' => 'Mail guest 10']); |
38 | 38 | |
39 | + echo $this->Form->input('numero_labo_sans_annee', ['label' => 'Numero labo sans année']); | |
40 | + echo $this->Form->input('date_commande_facultative', ['label' => 'Champ date commande non obligatoire']); | |
41 | + | |
39 | 42 | echo $this->Form->input('use_ldap', ['label' => 'Utilisation du LDAP', 'onchange' => 'display_ldap();']); |
40 | 43 | echo '<div id="ldap" style="border-top: 1px solid #CCC; border-bottom: 1px solid #CCC; margin-bottom: 0; background: #EEE; '.$disp.'">'; |
41 | 44 | echo $this->Form->input('host_ldap', ['label' => 'Host du LDAP']); | ... | ... |
src/Template/Configurations/view.ctp
... | ... | @@ -41,6 +41,16 @@ |
41 | 41 | $local="Oui"; |
42 | 42 | } |
43 | 43 | |
44 | + if(h($configurationObj->numero_labo_sans_annee) == 1) { | |
45 | + $numLab="Oui"; | |
46 | + }else { | |
47 | + $numLab="Non"; | |
48 | + } | |
49 | + if(h($configurationObj->date_commande_facultative) == 1) { | |
50 | + $dateObl="Oui"; | |
51 | + }else { | |
52 | + $dateObl="Non"; | |
53 | + } | |
44 | 54 | |
45 | 55 | |
46 | 56 | $displayElement(__('Nom complet du Labo'), h($configurationObj->labName)); |
... | ... | @@ -66,6 +76,9 @@ |
66 | 76 | $displayElement(__('Mail guest 9'), h($configurationObj->emailGuest9)); |
67 | 77 | $displayElement(__('Mail guest 10'), h($configurationObj->emailGuest10)); |
68 | 78 | |
79 | + $displayElement(__('Numero labo sans année'), $numLab); | |
80 | + $displayElement(__('Champ date commande non obligatoire'), $dateObl); | |
81 | + | |
69 | 82 | $displayElement(__('Utilisation du LDAP'), $ldap); |
70 | 83 | |
71 | 84 | if ($configuration->use_ldap): | ... | ... |
src/Template/Layout/default.ctp
... | ... | @@ -94,7 +94,7 @@ $cakeDescription = 'Labinvent 2'; |
94 | 94 | </i></td> |
95 | 95 | <td id="version"> |
96 | 96 | <!-- VERSION M.m.f.b (version (M)ajeure, version (m)ineure, numero de nouvelle (f)onctionnalite, numero de (b)ugfix) --> |
97 | - <font color="black">VERSION 2.4.6.9 (23/06/2016)</font> | |
97 | + <font color="black">VERSION 2.4.7.2 (24/06/2016)</font> | |
98 | 98 | </td> |
99 | 99 | </tr> |
100 | 100 | </table> | ... | ... |
src/Template/Materiels/add.ctp
... | ... | @@ -136,7 +136,7 @@ else { |
136 | 136 | echo $this->Form->input('organisme_id', ['options' => $organismes, 'style' => 'width: 380px', 'empty' => 'Choisir un organisme', 'default' => $Organisme_id]); |
137 | 137 | echo $this->Form->input('prix_ht', ['label' => 'Prix HT (€)', 'default' => $Prix_ht]); |
138 | 138 | |
139 | - if(in_array($role, ['Administration', 'Administration Plus'])) { | |
139 | + if(in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) { | |
140 | 140 | echo '<div style="border-top: 1px solid #CCC; border-bottom: 1px solid #CCC; margin-bottom: 0; background: #EEE;"><span style="font-size: 9px; color: red;">Partie administrative</span>'; |
141 | 141 | echo $this->Form->input('eotp', ['label' => 'Centre financier/EOTP']); |
142 | 142 | echo $this->Form->input('numero_commande', ['label' => 'Numéro de commande']); | ... | ... |
src/Template/Materiels/edit.ctp
... | ... | @@ -21,6 +21,7 @@ if ($IS_VALIDATED) |
21 | 21 | 'materiel_technique', |
22 | 22 | 'site_id', |
23 | 23 | 'date_acquisition', |
24 | + 'date_reception', | |
24 | 25 | 'organisme_id', |
25 | 26 | 'prix_ht' |
26 | 27 | ), |
... | ... | @@ -48,6 +49,10 @@ if ($IS_VALIDATED) |
48 | 49 | |
49 | 50 | ]); |
50 | 51 | |
52 | + if(in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur']) || ($role == 'Utilisateur' && (in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]))) || ($role == 'Responsable' && ($materiel->groupes_metier_id == $userConnected->groupes_metier_id || $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id))) { | |
53 | + echo $this->Form->input('hors_service', ['label' => 'Appareil hors_service']); | |
54 | + } | |
55 | + | |
51 | 56 | echo $this->Form->input('sur_categorie_id', [ |
52 | 57 | 'label' => 'Domaine', |
53 | 58 | 'options' => $surCategories, |
... | ... | @@ -228,7 +233,7 @@ if ($IS_VALIDATED) |
228 | 233 | 'disabled' => $isReadonlyField('prix_ht', $myReadonlyFields) |
229 | 234 | ]); |
230 | 235 | |
231 | - if(in_array($role, ['Administration', 'Administration Plus'])) { | |
236 | + if(in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) { | |
232 | 237 | echo '<div style="border-top: 1px solid #CCC; border-bottom: 1px solid #CCC; margin-bottom: 0; background: #EEE;"><span style="font-size: 9px; color: red;">Partie administrative</span>'; |
233 | 238 | |
234 | 239 | echo $this->Form->input('adminEdit', [ | ... | ... |
src/Template/Materiels/view.ctp
... | ... | @@ -2,8 +2,14 @@ |
2 | 2 | <div class="materiels view"> |
3 | 3 | |
4 | 4 | <h2> |
5 | - <?php if (h($materiel->status) == 'ARCHIVED') echo '<i class="icon-inbox"></i> '; ?> | |
6 | - <?= h($materiel->designation) ?> | |
5 | + <?php if (h($materiel->status) == 'ARCHIVED') echo '<i class="icon-inbox"></i> '; | |
6 | + $panne = ''; | |
7 | + if(h($materiel->hors_service)) { | |
8 | + $panne = ' (HORS SERVICE)'; | |
9 | + } | |
10 | + ?> | |
11 | + | |
12 | + <?= h($materiel->designation).$panne?> | |
7 | 13 | <span style="font-size: 70%; color: grey;"> |
8 | 14 | <?= h($materiel->numero_laboratoire) ?> |
9 | 15 | <?php if (h($materiel->status) == 'ARCHIVED') echo ' (Archivé)'; ?> |
... | ... | @@ -202,7 +208,9 @@ |
202 | 208 | $displayElement(__('Date d\'achat'), h($materiel->date_acquisition)); |
203 | 209 | |
204 | 210 | $displayElement(__('Date de reception'), h($materiel->date_reception)); |
205 | - $displayElement(__('Duree garantie'), h($materiel->duree_garantie).' '.h($materiel->unite_duree_garantie)); | |
211 | + if(!empty(h($materiel->duree_garntie))) { | |
212 | + $displayElement(__('Duree garantie'), h($materiel->duree_garantie).' '.h($materiel->unite_duree_garantie)); | |
213 | + } | |
206 | 214 | $displayElement(__('Date fin de garantie'), h($materiel->date_fin_garantie)); |
207 | 215 | |
208 | 216 | $displayElement(__('Statut'), h($materiel->status)); |
... | ... | @@ -232,7 +240,7 @@ |
232 | 240 | |
233 | 241 | <?php |
234 | 242 | //Partie admin |
235 | - if(in_array($role, ['Administration', 'Administration Plus'])) { | |
243 | + if(in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) { | |
236 | 244 | echo '<h3 id="t_informations_admin" style="cursor: pointer;">'; |
237 | 245 | echo '<i class="icon-chevron-down" style="font-size: 14px;" id="i_informations_admin"></i>'; |
238 | 246 | echo '<span style="text-decoration: underline;">Informations administratives</span>'; | ... | ... |
src/Template/Pages/acls.ctp
1 | -<!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-06T15:49:21.807014772" 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"> | |
1 | +<!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 | 2 | @page { } |
3 | 3 | table { border-collapse:collapse; border-spacing:0; empty-cells:show } |
4 | 4 | td, th { vertical-align:top; font-size:12pt;} |
... | ... | @@ -10,105 +10,100 @@ |
10 | 10 | span.footnodeNumber { padding-right:1em; } |
11 | 11 | span.annotation_style_by_filter { font-size:95%; font-family:Arial; background-color:#fff000; margin:0; border:0; padding:0; } |
12 | 12 | * { margin:0;} |
13 | - .P1 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; } | |
14 | - .P10 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
15 | - .P11 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
13 | + .P1 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; font-weight:bold; } | |
14 | + .P10 { font-size:10pt; font-family:Times New Roman; writing-mode:lr-tb; font-style:italic; font-weight:bold; } | |
15 | + .P11 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-style:italic; } | |
16 | 16 | .P12 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } |
17 | 17 | .P13 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } |
18 | - .P14 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
19 | - .P15 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
20 | - .P16 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; font-weight:bold; } | |
21 | - .P17 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; font-weight:bold; } | |
22 | - .P18 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
23 | - .P19 { font-size:10pt; font-family:Times New Roman; writing-mode:lr-tb; font-style:italic; font-weight:bold; } | |
18 | + .P14 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; margin-left:1.251cm; margin-right:0cm; text-indent:0cm; } | |
19 | + .P15 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; margin-left:1.251cm; margin-right:0cm; text-indent:0cm; } | |
20 | + .P16 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; margin-left:1.251cm; margin-right:0cm; text-indent:0cm; } | |
21 | + .P17 { font-size:12pt; font-family:Times; writing-mode:lr-tb; margin-left:1.251cm; margin-right:0cm; text-indent:0cm; } | |
22 | + .P18 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; margin-left:1.251cm; margin-right:0cm; text-indent:0cm; } | |
23 | + .P19 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; font-weight:bold; } | |
24 | 24 | .P2 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; font-weight:bold; } |
25 | - .P20 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
26 | - .P21 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
27 | - .P22 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; margin-left:1.251cm; margin-right:0cm; text-indent:0cm; } | |
28 | - .P23 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; margin-left:1.251cm; margin-right:0cm; text-indent:0cm; } | |
29 | - .P24 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; margin-left:1.251cm; margin-right:0cm; text-indent:0cm; } | |
30 | - .P25 { font-size:12pt; font-family:Times; writing-mode:lr-tb; margin-left:1.251cm; margin-right:0cm; text-indent:0cm; } | |
31 | - .P26 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; font-weight:bold; } | |
32 | - .P27 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:bold; } | |
33 | - .P28 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; } | |
34 | - .P29 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; } | |
25 | + .P22 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; } | |
26 | + .P23 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; } | |
27 | + .P25 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:bold; } | |
28 | + .P26 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:bold; } | |
29 | + .P28 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-style:italic; font-weight:bold; } | |
30 | + .P29 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-style:italic; font-weight:bold; } | |
35 | 31 | .P3 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; font-weight:bold; } |
36 | - .P30 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; font-weight:bold; } | |
37 | - .P31 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:bold; } | |
38 | - .P32 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; font-style:italic; font-weight:bold; } | |
39 | - .P33 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-style:italic; font-weight:bold; } | |
32 | + .P30 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-style:italic; font-weight:bold; } | |
33 | + .P31 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; font-style:italic; font-weight:bold; } | |
34 | + .P33 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-style:italic; } | |
40 | 35 | .P34 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; font-style:italic; } |
41 | - .P35 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-style:italic; } | |
36 | + .P35 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; } | |
42 | 37 | .P36 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; } |
43 | - .P4 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; font-weight:bold; } | |
38 | + .P37 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; } | |
39 | + .P38 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; } | |
40 | + .P39 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
41 | + .P4 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
42 | + .P40 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; } | |
43 | + .P41 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-style:italic; font-weight:bold; } | |
44 | + .P42 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:bold; } | |
45 | + .P43 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:normal; } | |
46 | + .P44 { font-size:11pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:bold; } | |
47 | + .P45 { font-size:11pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:normal; } | |
48 | + .P46 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:bold; } | |
49 | + .P47 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
50 | + .P48 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; font-weight:bold; } | |
51 | + .P49 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:bold; } | |
44 | 52 | .P5 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } |
53 | + .P51 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
54 | + .P52 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
55 | + .P53 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
56 | + .P54 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
57 | + .P55 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
58 | + .P56 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
59 | + .P57 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
60 | + .P58 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
61 | + .P59 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
45 | 62 | .P6 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } |
46 | - .P7 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
47 | - .P8 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
48 | - .P9 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
63 | + .P62 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:bold; } | |
64 | + .P68 { font-size:11pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:bold; } | |
65 | + .P7 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; font-weight:bold; } | |
66 | + .P8 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
67 | + .P9 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
49 | 68 | .Standard { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } |
50 | 69 | .Table_20_Contents { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } |
51 | - .Tableau1 { width:26.522cm; margin-left:-0.093cm; margin-right:auto;writing-mode:lr-tb; } | |
52 | - .Tableau1_A1 { vertical-align:top; background-color:#cccccc; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-width:0,0035cm; border-top-style:solid; border-top-color:#000000; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
53 | - .Tableau1_A2 { vertical-align:top; background-color:#e6e6e6; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
54 | - .Tableau1_B2 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
55 | - .Tableau1_B3 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
56 | - .Tableau1_B4 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
57 | - .Tableau1_B5 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
58 | - .Tableau1_B6 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
59 | - .Tableau1_B7 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-width:0,0035cm; border-right-style:solid; border-right-color:#000000; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
60 | - .Tableau1_C2 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
61 | - .Tableau1_C3 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
62 | - .Tableau1_C4 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
63 | - .Tableau1_D2 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
64 | - .Tableau1_D3 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
65 | - .Tableau1_D6 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
66 | - .Tableau1_E2 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
67 | - .Tableau1_E4 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
68 | - .Tableau1_E5 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
69 | - .Tableau1_E6 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
70 | - .Tableau1_F2 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
71 | - .Tableau1_F3 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-width:0,0035cm; border-right-style:solid; border-right-color:#000000; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
72 | - .Tableau1_F4 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
73 | - .Tableau1_G2 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
74 | - .Tableau1_G4 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
75 | - .Tableau1_H2 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
76 | - .Tableau1_H4 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
77 | - .Tableau1_H5 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
78 | - .Tableau1_I2 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
79 | - .Tableau1_I5 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
80 | - .Tableau1_I6 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
81 | - .Tableau1_J2 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
82 | - .Tableau1_J4 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
83 | - .Tableau1_J6 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-width:0,0035cm; border-right-style:solid; border-right-color:#000000; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
84 | - .Tableau1_K2 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
85 | - .Tableau1_K4 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-width:0,0035cm; border-right-style:solid; border-right-color:#000000; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
86 | - .Tableau1_K5 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
87 | - .Tableau1_L1 { vertical-align:top; background-color:#cccccc; padding:0.097cm; border-width:0,0035cm; border-style:solid; border-color:#000000; writing-mode:lr-tb; } | |
88 | - .Tableau1_L2 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-width:0,0035cm; border-right-style:solid; border-right-color:#000000; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
89 | - .Tableau1_L5 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-width:0,0035cm; border-right-style:solid; border-right-color:#000000; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
90 | - .Tableau1_A { width:1.937cm; } | |
91 | - .Tableau1_B { width:2.318cm; } | |
92 | - .Tableau1_C { width:2.544cm; } | |
93 | - .Tableau1_D { width:2.828cm; } | |
94 | - .Tableau1_E { width:1.836cm; } | |
95 | - .Tableau1_F { width:1.734cm; } | |
96 | - .Tableau1_G { width:2.066cm; } | |
97 | - .Tableau1_H { width:2.766cm; } | |
98 | - .Tableau1_I { width:2.748cm; } | |
99 | - .Tableau1_J { width:1.466cm; } | |
100 | - .Tableau1_K { width:1.487cm; } | |
101 | - .Tableau1_L { width:2.794cm; } | |
102 | - .T1 { font-style:italic; } | |
103 | - .T11 { font-size:9pt; font-style:italic; } | |
104 | - .T12 { font-size:9pt; font-style:italic; font-weight:bold; } | |
105 | - .T13 { font-size:9pt; font-weight:bold; } | |
106 | - .T14 { font-size:9pt; } | |
107 | - .T15 { font-size:9pt; } | |
108 | - .T2 { font-style:italic; font-weight:bold; } | |
70 | + .Tableau2 { width:27.25cm; float:none; writing-mode:lr-tb; } | |
71 | + .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; } | |
72 | + .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; } | |
73 | + .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; } | |
74 | + .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; } | |
75 | + .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; } | |
76 | + .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; } | |
77 | + .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; } | |
78 | + .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; } | |
79 | + .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; } | |
80 | + .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; } | |
81 | + .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; } | |
82 | + .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; } | |
83 | + .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; } | |
84 | + .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; } | |
85 | + .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; } | |
86 | + .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; } | |
87 | + .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; } | |
88 | + .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; } | |
89 | + .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; } | |
90 | + .Tableau2_G1 { background-color:#cccccc; padding:0.097cm; border-width:thin; border-style:solid; border-color:#000000; } | |
91 | + .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; } | |
92 | + .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; } | |
93 | + .Tableau2_A { width:3.893cm; } | |
94 | + .Tableau2_G { width:3.893cm; } | |
95 | + .T1 { font-style:italic; font-weight:bold; } | |
96 | + .T13 { font-size:9pt; font-style:italic; } | |
97 | + .T14 { font-size:9pt; font-style:italic; font-weight:bold; } | |
98 | + .T15 { font-size:9pt; font-weight:bold; } | |
99 | + .T16 { font-size:9pt; } | |
100 | + .T17 { font-size:9pt; } | |
101 | + .T18 { font-size:9pt; } | |
102 | + .T25 { font-weight:normal; } | |
109 | 103 | .T4 { font-weight:bold; } |
110 | 104 | .T5 { font-weight:bold; } |
111 | 105 | .T6 { font-weight:bold; } |
106 | + .T7 { font-weight:bold; } | |
112 | 107 | .WW8Num1z0 { font-family:Symbol; } |
113 | 108 | .WW8Num2z0 { font-family:Symbol; } |
114 | 109 | .WW8Num3z0 { font-family:Symbol; } |
... | ... | @@ -118,5 +113,11 @@ |
118 | 113 | .WW8Num7z0 { font-family:Symbol; } |
119 | 114 | .WW8Num8z0 { font-family:Symbol; font-size:9pt; font-weight:normal; } |
120 | 115 | <!-- ODF styles with no properties representable as CSS --> |
121 | - .Tableau1.1 .T10 .T16 .T17 .T3 .T7 .T8 .T9 .WW8Num8z1 .WW8Num8z2 .WW8Num8z3 .WW8Num8z4 .WW8Num8z5 .WW8Num8z6 .WW8Num8z7 .WW8Num8z8 .WW8Num9z0 .WW8Num9z1 .WW8Num9z2 .WW8Num9z3 .WW8Num9z4 .WW8Num9z5 .WW8Num9z6 .WW8Num9z7 .WW8Num9z8 { } | |
122 | - </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="P27">ACL (Access Control List)</p><p class="P1"><span class="T1">(Etienne Pallier – 24/11/2014)</span></p><p class="P2"> </p><p class="P2"> </p><p class="P2"> </p><p class="P2">I – Cycle de vie du statut du matériel</p><p class="P2"> </p><p class="Standard"><span class="T5">Créer</span><span class="T3"> un matériel ==</span><span class="T8">> passe alors en statut </span><span class="T6">CREATED ==> </span><span class="T2">peut alors être éventuellement supprimé (mais ne pourra plus être supprimé ensuite)</span></p><p class="Standard"><span class="T6">Valider</span><span class="T8"> un matériel CREATED ==> passe alors en statut </span><span class="T6">VALIDATED </span><span class="T8">(admin only)</span></p><p class="P5"><span class="T6">Demander l'Archivage</span><span class="T8"> d'un materiel VALIDATED ==> passe alors en statut </span><span class="T6">TOBEARCHIVED</span><span class="T8"> (resp et admin only)</span></p><p class="P5"><span class="T6">Sortir</span><span class="T8"> de l'inventaire (Valider une demande d'archivage d'un matériel TOBEARCHIVED) ==> statut </span><span class="T6">ARCHIVED</span><span class="T8"> (admin only)</span></p><p class="P5"><span class="T6">Désarchiver</span><span class="T8"> un matériel ==> repasse de TOBEARCHIVED ou ARCHIVED à </span><span class="T6">VALIDATED</span><span class="T8"> (admin only) </span></p><p class="P5"> </p><p class="P6">En résumé : TODO (schéma)</p><p class="P5"> </p><p class="P4">CREATED ==> VALIDATED ==> TOBEARCHIVED ==> ARCHIVED</p><p class="P3"><span class="T10"> </span><span class="T7">I /\ I I</span></p><p class="P3"><span class="T10"> </span><span class="T7">V I ------------------------ I --------------------------------- I (adminplus only)</span></p><p class="P4">DELETED</p><p class="P3"> </p><p class="P3"> </p><p class="P3"> </p><p class="P2">II - Droits des utilisateurs selon leur profil</p><p class="P2"> </p><p class="P2">A – Globalement (principes généraux)</p><p class="P2"> </p><p class="P10">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="P10">Une fois logué, un utilisateur a des droits différents selon son profil, globalement :</p><p class="P22"><span class="T3">- un </span><span class="T5">USER</span><span class="T3"> 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="P22"><span class="T3">- un </span><span class="T5">RESPONSABLE</span><span class="T3"> 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)</span></p><p class="P22"><span class="T3">- un </span><span class="T5">ADMIN</span><span class="T3">(istratif) a tous les droits (y-compris champs réservés à l'administration)</span></p><p class="P22"><span class="T3">- un </span><span class="T5">ADMINPLUS</span><span class="T3"> (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="P22"><span class="T3">- un </span><span class="T5">SUPERADMIN</span><span class="T3"> 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="P23"> </p><p class="Standard"><span class="T3">Concernant les informations internes permettant de savoir </span><span class="T5">qui a fait quoi</span><span class="T3"> (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="P2"/><p class="P16">B - sur la table MATERIEL</p><p class="P16"> </p><p class="P16"> </p><table border="0" cellspacing="0" cellpadding="0" class="Tableau1"><colgroup><col width="85"/><col width="101"/><col width="111"/><col width="124"/><col width="80"/><col width="76"/><col width="90"/><col width="121"/><col width="120"/><col width="64"/><col width="65"/><col width="122"/></colgroup><tr class="Tableau11"><td style="text-align:left;width:1.937cm; " class="Tableau1_A1"><p class="P29"> </p></td><td style="text-align:left;width:2.318cm; " class="Tableau1_A1"><p class="P31">Read (un seul ou une liste)</p><p class="P31"> </p><p class="P31">(view ou index)</p></td><td style="text-align:left;width:2.544cm; " class="Tableau1_A1"><p class="P31">Create (1)</p><p class="P31"> </p><p class="P31">(add)</p></td><td style="text-align:left;width:2.828cm; " class="Tableau1_A1"><p class="P31">Update (1)</p><p class="P31"> </p><p class="P31">(edit)</p></td><td style="text-align:left;width:1.836cm; " class="Tableau1_A1"><p class="P31">Delete</p><p class="P31"> </p><p class="P31">(delete)</p></td><td style="text-align:left;width:1.734cm; " class="Tableau1_A1"><p class="P31">Valider</p><p class="P31"> </p><p class="P31">(statusValidated)</p></td><td style="text-align:left;width:2.066cm; " class="Tableau1_A1"><p class="P31">Demander archivage</p><p class="P31"> </p><p class="P31">(statusToBeArchived)</p></td><td style="text-align:left;width:2.766cm; " class="Tableau1_A1"><p class="P31">Sortir de l'inventaire</p><p class="P31"> </p><p class="P31"><span class="T10"> </span>(statusArchived)</p></td><td style="text-align:left;width:2.748cm; " class="Tableau1_A1"><p class="P31">Desarchiver (2)</p></td><td style="text-align:left;width:1.466cm; " class="Tableau1_A1"><p class="P31">Exporter</p><p class="P31"> </p><p class="P31">(csv)</p><p class="P31"> </p></td><td style="text-align:left;width:1.487cm; " class="Tableau1_A1"><p class="P31">Montee de statut groupee (3)</p><p class="P31"> </p><p class="P31">(execActions)</p></td><td style="text-align:left;width:2.794cm; " class="Tableau1_L1"><p class="P31">Edition (4)</p><p class="P31"> </p><p class="P31">DOCUMENTS</p><p class="P31">entree & sortie</p></td></tr><tr class="Tableau11"><td style="text-align:left;width:1.937cm; " class="Tableau1_A2"><p class="P33">ALL (TOUS)</p><p class="P33"> </p><p class="P31">(droits par defaut)</p></td><td style="text-align:left;width:2.318cm; " class="Tableau1_B2"><p class="P31">Y</p><p class="P34"> </p><p class="P34"> </p><p class="P34"> </p><p class="P34"> </p><p class="P34"> </p><p class="P34"> </p><p class="P34"> </p><p class="P34"> </p><p class="Table_20_Contents"><span class="T12">champs caches:</span><span class="T11"> donnees admin</span></p></td><td style="text-align:left;width:2.544cm; " class="Tableau1_C2"><p class="P31">Y</p><p class="P34"> </p><p class="P34"> </p><p class="P34"> </p><p class="P34"> </p><p class="P34"> </p><p class="P34"> </p><p class="P34"> </p><p class="P34"> </p><p class="Table_20_Contents"><span class="T12">champs caches</span><span class="T11">:</span></p><p class="P34">donnees admin + statut + etiquette </p></td><td style="text-align:left;width:2.828cm; " class="Tableau1_D2"><p class="P31">Y</p><p class="P35">ssi</p><p class="Table_20_Contents"><span class="T13">CREATED</span><span class="T14"> (tous les champs) </span></p><p class="Table_20_Contents"><span class="T11">ou </span><span class="T12">VALIDATED</span><span class="T11"> (quelques champs visibles sont </span><span class="T12">readonly</span><span class="T11">) (1)</span></p><p class="P34"> </p><p class="Table_20_Contents"><span class="T12">champs caches</span><span class="T11">:</span></p><p class="P34">donnees admin + statut + etiquette</p></td><td style="text-align:left;width:1.836cm; " class="Tableau1_E2"><p class="P31">Y</p><p class="P33">ssi CREATED</p></td><td style="text-align:left;width:1.734cm; " class="Tableau1_F2"><p class="P31">N</p><p class="P33"> </p><p class="P33">(resp+)</p></td><td style="text-align:left;width:2.066cm; " class="Tableau1_G2"><p class="P31">N</p><p class="P33"> </p><p class="P33">(resp+)</p></td><td style="text-align:left;width:2.766cm; " class="Tableau1_H2"><p class="P31">N</p><p class="P33"> </p><p class="P33">(admin+)</p></td><td style="text-align:left;width:2.748cm; " class="Tableau1_I2"><p class="P31">N</p><p class="P33"> </p><p class="P33">(adminplus+)</p></td><td style="text-align:left;width:1.466cm; " class="Tableau1_J2"><p class="P31">N</p><p class="P31"> </p><p class="P33">(resp+)</p></td><td style="text-align:left;width:1.487cm; " class="Tableau1_K2"><p class="P31">N</p><p class="P31"> </p><p class="P33">(admin+)</p></td><td style="text-align:left;width:2.794cm; " class="Tableau1_L2"><p class="P31">N</p><p class="P31"> </p><p class="P33">(admin+)</p></td></tr><tr class="Tableau11"><td style="text-align:left;width:1.937cm; " class="Tableau1_A2"><p class="Table_20_Contents"><span class="T13">User </span><span class="T14">(quelconque)</span></p></td><td style="text-align:left;width:2.318cm; " class="Tableau1_B3"><p class="P36">idem ALL</p></td><td style="text-align:left;width:2.544cm; " class="Tableau1_C3"><p class="P36">Idem ALL</p><p class="Table_20_Contents"><span class="T12">champs readonly </span><span class="T11">:</span></p><p class="P34">nom_responsable</p></td><td colspan="2" style="text-align:left;width:2.828cm; " class="Tableau1_D3"><p class="P36">idem ALL</p><p class="P28"><span class="T14">ssi </span><span class="T13">createur</span></p></td><td colspan="7" style="text-align:left;width:1.734cm; " class="Tableau1_F3"><p class="P36">idem ALL</p></td></tr><tr class="Tableau11"><td style="text-align:left;width:1.937cm; " class="Tableau1_A2"><p class="P30">Responsable</p></td><td style="text-align:left;width:2.318cm; " class="Tableau1_B4"><p class="P36">idem ALL</p></td><td colspan="2" style="text-align:left;width:2.544cm; " class="Tableau1_C4"><p class="P36">idem ALL</p><p class="P36">(+ etiquette)</p></td><td style="text-align:left;width:1.836cm; " class="Tableau1_E4"><p class="P36">idem ALL</p></td><td style="text-align:left;width:1.734cm; " class="Tableau1_F4"><p class="P36">Y</p><p class="P33">ssi</p><p class="P33">CREATED</p><p class="P36"> </p></td><td style="text-align:left;width:2.066cm; " class="Tableau1_G4"><p class="P36">Y</p><p class="P33">ssi</p><p class="P33">VALIDATED</p></td><td colspan="2" style="text-align:left;width:2.766cm; " class="Tableau1_H4"><p class="P36">idem ALL</p></td><td style="text-align:left;width:1.466cm; " class="Tableau1_J4"><p class="P36">Y</p></td><td colspan="2" style="text-align:left;width:1.487cm; " class="Tableau1_K4"><p class="P36">idem ALL</p></td></tr><tr class="Tableau11"><td style="text-align:left;width:1.937cm; " class="Tableau1_A2"><p class="P30">Admin</p></td><td colspan="3" style="text-align:left;width:2.318cm; " class="Tableau1_B5"><p class="P28"><span class="T14">(idem Responsable </span><span class="T13">+ donnees admin</span><span class="T14">)</span></p><p class="P36"> </p><p class="P28"><span class="T11">En mode edit (update), si VALIDATED, on ajoute aux donnees </span><span class="T12">readonly</span><span class="T11"> les </span><span class="T12">donnees admin</span></p><p class="P36"> </p><p class="P34"> </p></td><td colspan="3" style="text-align:left;width:1.836cm; " class="Tableau1_E5"><p class="P36">idem Responsable</p></td><td style="text-align:left;width:2.766cm; " class="Tableau1_H5"><p class="P36">Y</p><p class="P33">ssi</p><p class="P33">TOBEARCHIVED</p></td><td colspan="2" style="text-align:left;width:2.748cm; " class="Tableau1_I5"><p class="P36">idem Responsable</p></td><td style="text-align:left;width:1.487cm; " class="Tableau1_K5"><p class="P36">Y</p></td><td style="text-align:left;width:2.794cm; " class="Tableau1_L5"><p class="P36">Y</p><p class="P32">- admission : ssi VALIDATED</p><p class="P32">- sortie : ssi TOBEARCHIVED ou ARCHIVED</p></td></tr><tr class="Tableau11"><td style="text-align:left;width:1.937cm; " class="Tableau1_A2"><p class="P30">Adminplus</p></td><td colspan="2" style="text-align:left;width:2.318cm; " class="Tableau1_B6"><p class="P36">idem Admin</p></td><td style="text-align:left;width:2.828cm; " class="Tableau1_D6"><p class="P36">idem Admin</p><p class="P28"><span class="T14">(</span><span class="T13">tous les statuts</span><span class="T14">)</span></p><p class="P28"><span class="T14">(+ champ </span><span class="T13">statut</span><span class="T14">)</span></p><p class="P28"> </p><p class="P28"><span class="T14">TOBEARCHIVED ou ARCHIVED: </span><span class="T13">seulement le statut</span></p></td><td colspan="4" style="text-align:left;width:1.836cm; " class="Tableau1_E6"><p class="P36">idem Admin</p></td><td style="text-align:left;width:2.748cm; " class="Tableau1_I6"><p class="P36">Y</p><p class="P33">ssi</p><p class="P33">ARCHIVED ou</p><p class="P33">TOBEARCHIVED</p></td><td colspan="3" style="text-align:left;width:1.466cm; " class="Tableau1_J6"><p class="P36">idem Admin</p></td></tr><tr class="Tableau11"><td style="text-align:left;width:1.937cm; " class="Tableau1_A2"><p class="P30">Superadmin</p></td><td colspan="11" style="text-align:left;width:2.318cm; " class="Tableau1_B7"><p class="P36">idem Adminplus</p></td></tr></table><p class="P10"> </p><p class="P19">Par défaut, le superadmin a TOUS les droits</p><p class="P19"> </p><p class="Standard"><span class="T13">Conventions d'écriture </span><span class="T14">: </span></p><p class="P22"><span class="T14">- r</span><span class="T13">esp+</span><span class="T14"> = possible pour un </span><span class="T13">Responsable et plus </span><span class="T14">(responsable, admin, adminplus, et superadmin)</span></p><p class="P22"><span class="T14">- </span><span class="T13">admin+</span><span class="T14"> = possible pour un </span><span class="T13">Admin</span><span class="T14"> </span><span class="T13">et plus </span><span class="T14">(admin, adminplus, et superadmin)</span></p><p class="P24">- ...</p><p class="P24"> </p><p class="Standard"><span class="T13">Notes </span><span class="T14">:</span></p><p class="P18"> </p><ol><li><p class="P20" style="margin-left:0cm;"><span class="WW8Num8z0" style="display:block;float:left;min-width:0,635cm;">(1)</span><span class="T13">Droits en modification (edit) </span><span class="T14">:</span><span class="odfLiEnd"/> </p></li></ol><p class="P24">- 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="P24">- 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="P24">- Les données admin ne sont accessibles qu'aux profils admin+</p><p class="P22"><span class="T14">- Le champ "</span><span class="T13">status</span><span class="T14">" n'est modifiable que par les profils adminplus+</span></p><p class="P22"><span class="T14">- Tout le monde peut modifier un matériel </span><span class="T13">VALIDATED </span><span class="T14">(</span><span class="T13">user </span><span class="T14">ne peut modifier que </span><span class="T13">ses</span><span class="T14"> matériels),</span></p><p class="P22"><span class="T14">MAIS PAS</span><span class="T13"> certains champs</span><span class="T14"> qui sont </span><span class="T13">readonly</span><span class="T14"> (</span><span class="T15">sur_categorie_id', 'categorie_id', 'materiel_administratif', 'materiel_technique', 'date_acquisition', 'nom_responsable', 'fournisseur', 'organisme', 'prix_ht')</span></p><p class="P22"><span class="T14">Les seuls champs qu'on peut éditer sont donc : (</span><span class="T15">designation, sous_categorie, materiel_administratif, materiel_technique, description, etiquette, lieu_stockage, lieu_detail, numero_serie, groupes_thematique, groupes_metier),</span><span class="T14"><br/>- Seuls les profils </span><span class="T13">adminplus+</span><span class="T14"> peuvent modifier un matériel </span><span class="T13">TOBEARCHIVED, ou ARCHIVED </span><span class="T14">mais </span><span class="T13">UNIQUEMENT le champ "status" </span><span class="T14">(pour pouvoir rétrograder à CREATED ou VALIDATED)</span></p><p class="P22"><span class="T14">- Le seul moyen de modifier COMPLÈTEMENT un matériel VALIDATED, TOBEARCHIVED, ou ARCHIVED, <br/>c'est de </span><span class="T13">changer son statut</span><span class="T14">, en le rétrogradant à CREATED (seuls les profils adminplus+ peuvent le faire)</span></p><p class="P24"> </p><ol><li><p class="P20" style="margin-left:0cm;"><span class="WW8Num8z0" style="display:block;float:left;min-width:0,635cm;">(2)</span><span class="T13">Désarchiver </span><span class="T14">: 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"/> </p></li></ol><p class="P18"> </p><ol><li><p class="P20" style="margin-left:0cm;"><span class="WW8Num8z0" style="display:block;float:left;min-width:0,635cm;">(3)</span><span class="T13">Montée de statut groupée : </span><span class="T14">seul ADMIN peut (exporter tout ou partie de la liste des matériels, et) </span><span class="T13">augmenter (+1) le statut d'un groupe de matériels</span><span class="T14">, 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"/> </p></li></ol><p class="P18"> </p><ol><li><p class="P17" 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="P24">Admission : quand on "VALIDE" un matériel "CREATED", le statut passe en VALIDATED et le document d'admission est automatiquement édité</p><p class="P24">Sortie : quand on "ARCHIVE" un document "TOBEARCHIVED", le statut passe en ARCHIVED et le document de sortie est automatiquement édité</p><p class="P24">De plus :</p><p class="P24">- Bouton "Doc admission" affiché à partir du statut "VALIDATED"</p><p class="P24">- Bouton "Doc Sortie" affiché à partir du statut TOBEARCHIVED (et donc aussi pour ARCHIVED)</p><p class="P24">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="P24"> </p><p class="P25"> </p><p class="P2">C - sur les différentes VUES liées au matériel</p><p class="Standard"> </p><p class="P10"><span class="T4">Page accueil </span>:</p><p class="P10"><span> Administration <span class="T17">& Administration Plus </span>voit un menu avec 2 options :</span></p><ul><li><ul><li><ul><li><p class="P11" 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="P11" 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></li></ul><p class="P10"> </p><p class="P2">Page Outils :</p><p class="P10">User n'a pas accès à cette page</p><p class="P10">Les autres ont quelques options</p><p class="P10">superadmin a ces options en plus :</p><ul><li><p class="P12" 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"/> </p></li><li><p class="P12" style="margin-left:0cm;"><span class="WW8Num4z0" style="display:block;float:left;min-width:0,635cm;">.</span>Gérer les utilisateurs <span class="T17">privilégiés</span><span class="odfLiEnd"/> </p></li><li><p class="P12" 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="P15" 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="P10"> </p><p class="Standard"><span class="T5">Vue materiel/index (liste) </span><span class="T3">: limiter aux </span><span class="T5">matériels actifs</span><span class="T3"> (non archivés)</span></p><ul><li><ul><li><p class="P13" style="margin-left:0cm;"><span class="WW8Num1z0" style="display:block;float:left;min-width:0,635cm;">.</span>Admin<span class="T17">+ </span>voit des boutons pour filtrer par « tous », « à valider », « validés », « à sortir », « archivés »<span class="odfLiEnd"/> </p></li></ul></li></ul><p class="P10"> </p><p class="Standard"><span class="T5">Vue materiel/find </span><span class="T3">: limiter aux </span><span class="T5">matériels actifs</span><span class="T3"> (non archivés)</span></p><p class="P10"><span> Seul le<span class="T17">s</span> profil<span class="T17">s</span> Admin<span class="T17">+ </span>voit TOUS les matériels (y-compris archivés)</span></p><p class="P10"> </p><p class="P10"><span class="T4">Vue materiel/view </span>:</p><p class="P10"><span> boutons « Imprimer Etiquettes » : <span class="T17">resp+</span></span></p><p class="P10"> </p><p class="P10"><span class="T4">Vue materiel/edit </span>:</p><ul><li><p class="P14" style="margin-left:0cm;"><span class="WW8Num5z0" style="display:block;float:left;min-width:0,635cm;">.</span>Etiquette O/N (admin<span class="T17">+)</span><span class="odfLiEnd"/> </p></li><li><p class="P14" style="margin-left:0cm;"><span class="WW8Num5z0" style="display:block;float:left;min-width:0,635cm;">.</span>Statut (<span class="T17">superadmin+)</span><span class="odfLiEnd"/> </p></li><li><p class="P14" style="margin-left:0cm;"><span class="WW8Num5z0" style="display:block;float:left;min-width:0,635cm;">.</span>Informations administratives (admin<span class="T17">+)</span><span class="odfLiEnd"/> </p></li></ul><p class="P10"> </p><p class="P10"> </p><p class="P2"> </p><p class="P26">D - sur un SUIVI et un EMPRUNT</p><p class="P2"> </p><ul><li><p class="P7" 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="P7" 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="P7" 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="P5"><span class="T8">Un USER peut modifier/supprimer un emprunt dont il est soit le créateur soit l'emprunteur</span><span class="T16">.</span></p><p class="P21">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="P6"> </p><p class="P6"> </p><p class="P4">E - sur les UTILISATEURS</p><p class="P5"><span class="T8">Par défaut, superadmin a tous les droits, et les autres profils n'ont que le droit de lecture (</span><span class="T6">view </span><span class="T8">et </span><span class="T6">index</span><span class="T8">)</span></p><p class="P6"> </p><p class="P6"> </p><p class="P4">F - sur tous les autres objets métiers</p><p class="P6">Voici la liste des autres objets métiers :</p><ul><li><p class="P8" 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="P9" 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="P9" 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="P5"><span class="T8">Par défaut, pour tous ces objets, superadmin a tous les droits, admin</span><span class="T9">plus</span><span class="T8"> a tous les droits sauf « delete », et les autres profils n'ont que le droit de lecture (</span><span class="T6">view </span><span class="T8">et </span><span class="T6">index</span><span class="T8">)</span></p></body></html> | |
123 | 116 | \ No newline at end of file |
117 | + .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 { } | |
118 | + </style></head><body dir="ltr" style="max-width:29.7cm;margin-top:1cm; margin-bottom:1cm; margin-left:1cm; margin-right:1.45cm; writing-mode:lr-tb; "><p class="P46">ACL (Access Control List)</p><p class="P11">(Etienne Pallier – 24/<span class="T22">06</span>/201<span class="T23">6</span>)</p><p class="P1"> </p><p class="P1"> </p><p class="P1"> </p><p class="P1">I – Cycle de vie du statut du matériel</p><p class="P1"> </p><p class="Standard"><span class="T5">Créer</span><span class="T2"> un matériel ==</span><span class="T9">> passe alors en statut </span><span class="T7">CREATED ==> </span><span class="T1">peut alors être éventuellement supprimé (mais ne pourra plus être supprimé ensuite)</span></p><p class="Standard"><span class="T7">Valider</span><span class="T9"> un matériel CREATED ==> passe alors en statut </span><span class="T7">VALIDATED </span><span class="T9">(</span><span class="T11">resp et </span><span class="T9">admin only)</span></p><p class="P4"><span class="T7">Demander l'Archivage</span><span class="T9"> d'un materiel VALIDATED ==> passe alors en statut </span><span class="T7">TOBEARCHIVED</span><span class="T9"> (resp et admin only)</span></p><p class="P4"><span class="T7">Sortir</span><span class="T9"> de l'inventaire (Valider une demande d'archivage d'un matériel TOBEARCHIVED) ==> statut </span><span class="T7">ARCHIVED</span><span class="T9"> (admin only)</span></p><p class="P4"><span class="T7">Désarchiver</span><span class="T9"> un matériel ==> repasse de TOBEARCHIVED ou ARCHIVED à </span><span class="T7">VALIDATED</span><span class="T9"> (admin only) </span></p><p class="P4"> </p><p class="P5">En résumé : </p><p class="P4"> </p><p class="P3">CREATED ==> VALIDATED ==> TOBEARCHIVED ==> ARCHIVED</p><p class="P2"><span class="T12"> </span><span class="T8">I /\ I I</span></p><p class="P2"><span class="T12"> </span><span class="T8">V I ------------------------ I --------------------------------- I (adminplus only)</span></p><p class="P3">DELETED</p><p class="P2"> </p><p class="P2"> </p><p class="P2"> </p><p class="P1">II - Droits des utilisateurs selon leur profil</p><p class="P1"> </p><p class="P1">A – Globalement (principes généraux)</p><p class="P1"> </p><p class="P6">Un utilisateur non logué ne doit RIEN pouvoir faire. Seulement se loguer, c'est tout. Il n'a accès qu'à la page d'accueil (de login).</p><p class="P6">Une fois logué, un utilisateur a des droits différents selon son profil, globalement :</p><p class="P14"><span class="T2">- un </span><span class="T5">USER</span><span class="T2"> ne peut que créer un matériel, un suivi, ou un emprunt, consulter, et modifier (uniquement ce qu'il a créé lui-même)</span></p><p class="P18"><span class="T2">- un </span><span class="T5">RESPONSABLE</span><span class="T2"> a tous les droits sauf accès à certains champs et certaines vues réservées à l'administration (ADMIN). Il ne peut pas non plus archiver un matériel, mais seulement demander l'archivage (comme un USER)(uniquement ce </span><span class="T3">lié à son groupe métier ou thématiques</span><span class="T2">)</span></p><p class="P14"><span class="T2">- un </span><span class="T5">ADMIN</span><span class="T2">(istratif) a tous les droits (y-compris champs réservés à l'administration)</span></p><p class="P14"><span class="T2">- un </span><span class="T5">ADMINPLUS</span><span class="T2"> (administratif Plus) a tous les droits de ADMIN et en plus il peut modifier un matériel quelque soit son statut (y-compris TOBEARCHIVED et ARCHIVED), notamment il peut modifier le statut du matériel (pour le rétrograder)</span></p><p class="P14"><span class="T2">- un </span><span class="T5">SUPERADMIN</span><span class="T2"> a tous les droits : ceux d'ADMINPLUS et certains droits supplémentaires pour lui permettre des corrections d'erreur et la configuration de l'application (notamment l'administration des utilisateurs...)</span></p><p class="P15"> </p><p class="Standard"><span class="T2">Concernant les informations internes permettant de savoir </span><span class="T5">qui a fait quoi</span><span class="T2"> (mises en place en février 2014), elles ne sont bien sûr pas modifiables puisque gérées automatiquement par le système, mais sont visibles par tous excepté le profil USER.</span></p><p class="P1"/><p class="P7">B - sur la table MATERIEL</p><table border="0" cellspacing="0" cellpadding="0" class="Tableau2"><colgroup><col width="170"/><col width="170"/><col width="170"/><col width="170"/><col width="170"/><col width="170"/><col width="170"/></colgroup><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A1"><p class="Table_20_Contents"> </p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_A1"><p class="P41">ALL (TOUS)</p><p class="P43">(droits par defaut)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_A1"><p class="P40"><span class="T5">U</span><span class="T6">tilisateur </span><span class="T5"> </span><span class="T2">(quelconque)</span></p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_A1"><p class="P42">Responsable</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_A1"><p class="P42">Administration</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_A1"><p class="P42">Administration Plus</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_G1"><p class="P42">Super-Administrateur</p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Read (un seul ou une liste)</p><p class="P45">(view ou index)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P25">Y</p><p class="Table_20_Contents"><span class="T14">champs caches:</span><span class="T13"> donnees admin</span></p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P36">idem ALL</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P36">idem ALL</p></td><td rowspan="3" style="text-align:left;width:3.893cm; " class="Tableau2_E4"><p class="P23"><span class="T16">(idem Responsable </span><span class="T15">+ donnees admin</span><span class="T16">)</span></p><p class="P37"> </p><p class="P23"><span class="T13">En mode edit (update), si VALIDATED, on ajoute aux donnees </span><span class="T14">readonly</span><span class="T13"> les </span><span class="T14">donnees admin</span></p></td><td rowspan="2" style="text-align:left;width:3.893cm; " class="Tableau2_F3"><p class="P37">idem Admin</p></td><td rowspan="11" style="text-align:left;width:3.893cm; " class="Tableau2_G12"><p class="P37">idem Adminplus</p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Create (1)</p><p class="P45">(add)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P26">Y</p><p class="P39"><span class="T14">champs caches</span><span class="T13">:</span></p><p class="P34">donnees admin + statut + etiquette </p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P36">Idem ALL</p><p class="P39"><span class="T14">champs readonly </span><span class="T13">:</span></p><p class="P34">nom_responsable</p></td><td rowspan="2" style="text-align:left;width:3.893cm; " class="Tableau2_D4"><p class="P36">idem ALL</p><p class="P36">(+ etiquette)</p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Update (1)</p><p class="P45">(edit)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P26">Y</p><p class="P33">ssi</p><p class="P39"><span class="T15">CREATED</span><span class="T16"> (tous les champs) </span></p><p class="P39"><span class="T13">ou </span><span class="T14">VALIDATED</span><span class="T13"> (quelques champs visibles sont </span><span class="T14">readonly</span><span class="T13">) (1)</span></p><p class="P34"> </p><p class="P39"><span class="T14">champs caches</span><span class="T13">:</span></p><p class="P34">donnees admin + statut + etiquette</p></td><td rowspan="2" style="text-align:left;width:3.893cm; " class="Tableau2_C5"><p class="P36">idem ALL</p><p class="P22"><span class="T16">ssi </span><span class="T15">createur</span></p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P37">idem Admin</p><p class="P23"><span class="T16">(</span><span class="T15">tous les statuts</span><span class="T16">)</span></p><p class="P23"><span class="T16">(+ champ </span><span class="T15">statut</span><span class="T16">)</span></p><p class="P23"> </p><p class="P23"><span class="T16">TOBEARCHIVED ou ARCHIVED: </span><span class="T15">seulement le statut</span></p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Delete</p><p class="P45">(delete)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P26">Y</p><p class="P29">ssi CREATED</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P37">idem ALL</p></td><td rowspan="3" style="text-align:left;width:3.893cm; " class="Tableau2_E7"><p class="P37">idem Responsable</p></td><td rowspan="4" style="text-align:left;width:3.893cm; " class="Tableau2_F8"><p class="P37">idem Admin</p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Valider</p><p class="P45">(statusValidated)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P25">N</p><p class="P28">(resp+)</p></td><td rowspan="7" style="text-align:left;width:3.893cm; " class="Tableau2_C12"><p class="P36">idem ALL</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P37">Y</p><p class="P30">ssi</p><p class="P30">CREATED</p><p class="P37"> </p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Demander archivage</p><p class="P45">(statusToBeArchived)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P25">N</p><p class="P28">(resp+)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P37">Y</p><p class="P30">ssi</p><p class="P30">VALIDATED</p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Sortir de l'inventaire</p><p class="P45"><span class="T12"> </span>(statusArchived)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P26">N</p><p class="P29">(admin+)</p></td><td rowspan="2" style="text-align:left;width:3.893cm; " class="Tableau2_D9"><p class="P37">idem ALL</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P35">Y</p><p class="P28">ssi</p><p class="P28">TOBEARCHIVED</p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Desarchiver (2)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P26">N</p><p class="P29">(adminplus+)</p></td><td rowspan="2" style="text-align:left;width:3.893cm; " class="Tableau2_E10"><p class="P37">idem Responsable</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P37">Y</p><p class="P30">ssi</p><p class="P30">ARCHIVED ou</p><p class="P30">TOBEARCHIVED</p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Exporter</p><p class="P45">(csv)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P26">N</p><p class="P29">(resp+)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P37">Y</p></td><td rowspan="3" style="text-align:left;width:3.893cm; " class="Tableau2_F12"><p class="P37">idem Admin</p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Montee de statut group<span class="T24">é</span>e</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P26">N</p><p class="P29">(admin+)</p></td><td rowspan="2" style="text-align:left;width:3.893cm; " class="Tableau2_D12"><p class="P37">idem ALL</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P38">Y</p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Edition (4)</p><p class="P44">DOCUMENTS</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E12"><p class="P26">N</p><p class="P29">(admin+)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E12"><p class="P37">Y</p><p class="P31">- admission : ssi VALIDATED</p><p class="P31">- sortie : ssi TOBEARCHIVED ou ARCHIVED</p></td></tr><tr class="Tableau213"><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P68">Fiche Matériel </p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E13"><p class="P62">Y <span class="T25">(sans partie admin)</span></p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_C13"><p class="P49">Y <span class="T25">(sans partie admin)</span></p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_D13"><p class="P49">Y <span class="T25">(sans partie admin)</span></p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E13"><p class="P62">Y</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_F13"><p class="P49">Y</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_G13"><p class="P49">Y <span class="T25">(sans partie admin)</span></p></td></tr></table><p class="P7"> </p><p class="P7"> </p><p class="P6"> </p><p class="P10">Par défaut, le superadmin a TOUS les droits</p><p class="P10"> </p><p class="Standard"><span class="T15">Conventions d'écriture </span><span class="T16">: </span></p><p class="P14"><span class="T16">- r</span><span class="T15">esp+</span><span class="T16"> = possible pour un </span><span class="T15">Responsable et plus </span><span class="T16">(responsable, admin, adminplus, et superadmin)</span></p><p class="P14"><span class="T16">- </span><span class="T15">admin+</span><span class="T16"> = possible pour un </span><span class="T15">Admin</span><span class="T16"> </span><span class="T15">et plus </span><span class="T16">(admin, adminplus, et superadmin)</span></p><p class="P16">- ...</p><p class="P16"> </p><p class="Standard"><span class="T15">Notes </span><span class="T16">:</span></p><p class="P9"> </p><ol><li><p class="P47" style="margin-left:0cm;"><span class="WW8Num8z0" style="display:block;float:left;min-width:0,635cm;">(1)</span><span class="T15">Droits en modification (edit) </span><span class="T16">:</span><span class="odfLiEnd"/> </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"/> </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"/> </p></li></ol><p class="P8"> </p><ol><li><p class="P48" style="margin-left:0cm;"><span class="WW8Num8z0" style="display:block;float:left;min-width:0,635cm;">(4)</span>Edition des documents :<span class="odfLiEnd"/> </p></li></ol><p class="P16">Admission : quand on "VALIDE" un matériel "CREATED", le statut passe en VALIDATED et le document d'admission est automatiquement édité</p><p class="P16">Sortie : quand on "ARCHIVE" un document "TOBEARCHIVED", le statut passe en ARCHIVED et le document de sortie est automatiquement édité</p><p class="P16">De plus :</p><p class="P16">- Bouton "Doc admission" affiché à partir du statut "VALIDATED"</p><p class="P16">- Bouton "Doc Sortie" affiché à partir du statut TOBEARCHIVED (et donc aussi pour ARCHIVED)</p><p class="P16">Enfin, Le doc de sortie doit être couplée avec la liste des matériels a archiver (TOBEARCHIVED) quand il y a une demande de sortie.</p><p class="P16"> </p><p class="P17"> </p><p class="P1">C - sur les différentes VUES liées au matériel</p><p class="Standard"> </p><p class="P6"><span class="T4">Page accueil </span>:</p><p class="P6"><span> Administration <span class="T20">& Administration Plus </span>voit un menu avec 2 options :</span></p><ul><li><ul><li><ul><li><p class="P51" style="margin-left:0cm;"><span class="WW8Num2z0" style="display:block;float:left;min-width:0,635cm;">.</span>« Voir les matériels à valider »<span class="odfLiEnd"/> </p></li><li><p class="P52" style="margin-left:0cm;"><span class="WW8Num2z0" style="display:block;float:left;min-width:0,635cm;">.</span>« Voir les matériels à sortir de l'inventaire »<span class="odfLiEnd"/> </p></li></ul></li></ul><p class="P52" style="margin-left:0cm;"><span class="WW8Num2z0" style="display:block;float:left;min-width:0cm"><!-- --></span><span class="T21">Responsable </span>voit un menu avec <span class="T21">3</span> options :<span class="odfLiEnd"/> </p><ul><li><ul><li><p class="P52" style="margin-left:0cm;"><span class="WW8Num2z0" style="display:block;float:left;min-width:0,635cm;">.</span>« Voir les matériels <span class="T21">de mon groupe métier</span> »<span class="odfLiEnd"/> </p></li><li><p class="P52" style="margin-left:0cm;"><span class="WW8Num2z0" style="display:block;float:left;min-width:0,635cm;">.</span>« Voir les matériels <span class="T21">de mon groupe métier à valider</span> »<span class="odfLiEnd"/> </p></li><li><p class="P52" style="margin-left:0cm;"><span class="WW8Num2z0" style="display:block;float:left;min-width:0,635cm;">.</span>« <span class="T21">Voir les suivis des matériels donc je suis responsable »</span><span class="odfLiEnd"/> </p></li></ul></li></ul></li></ul><p class="P1">Page Outils :</p><p class="P6">User n'a pas accès à cette page</p><p class="P6">Les autres ont quelques options</p><p class="P6">superadmin a ces options en plus :</p><ul><li><p class="P53" style="margin-left:0cm;"><span class="WW8Num4z0" style="display:block;float:left;min-width:0,635cm;">.</span>Configuration générale de l'application<span class="odfLiEnd"/> </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> | |
119 | + | |
120 | + <div class="actions"> | |
121 | + <?php echo $this->element('menu') ?> | |
122 | + </div> | |
123 | + | |
124 | + </body></html> | |
124 | 125 | \ No newline at end of file | ... | ... |
src/Template/Pages/home_app.ctp
... | ... | @@ -20,6 +20,19 @@ |
20 | 20 | 'controller' => 'materiels', 'action' => 'index', 'TOBEARCHIVED']).' </td></tr>'; |
21 | 21 | echo '</table>'; |
22 | 22 | } |
23 | + | |
24 | + //Utilisateur responsable | |
25 | + if ($role == 'Responsable') { | |
26 | + echo '<table cellpadding="0" cellspacing="0" style="width: 800px;">'; | |
27 | + echo '<tr><th></th></tr>'; | |
28 | + echo '<tr><td> '.$this->Html->link('Voir les matériels de mon groupe métier', [ | |
29 | + 'controller' => 'materiels', 'action' => 'index', 'GM' => $userConnected->groupes_metier_id]).' </td></tr>'; | |
30 | + echo '<tr><td> '.$this->Html->link('Voir les matériels de mon groupe métier à valider', [ | |
31 | + 'controller' => 'materiels', 'action' => 'index', 'GMV' => $userConnected->groupes_metier_id]).' </td></tr>'; | |
32 | + echo '<tr><td> '.$this->Html->link('Voir les suivis des materiels donc je suis responsable', [ | |
33 | + 'controller' => 'suivis', 'action' => 'index', 'GM' => $userConnected->groupes_metier_id]).' </td></tr>'; | |
34 | + echo '</table>'; | |
35 | + } | |
23 | 36 | ?> |
24 | 37 | |
25 | 38 | </div> | ... | ... |
tests/Fixture/ConfigurationsFixture.php
... | ... | @@ -47,6 +47,8 @@ class ConfigurationsFixture extends TestFixture |
47 | 47 | 'emailGuest9' => ['type' => 'string', 'length' => 45, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null, 'fixed' => null], |
48 | 48 | 'emailGuest10' => ['type' => 'string', 'length' => 45, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null, 'fixed' => null], |
49 | 49 | 'test' => ['type' => 'boolean', 'length' => null, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null], |
50 | + 'date_commande_facultative' => ['type' => 'boolean', 'length' => null, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null], | |
51 | + 'numero_labo_sans_annee' => ['type' => 'boolean', 'length' => null, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null], | |
50 | 52 | 'prix_inventaire_administratif' => ['type' => 'integer', 'length' => 10, 'null' => true, 'default' => 800, 'comment' => '', 'precision' => null], |
51 | 53 | '_constraints' => [ |
52 | 54 | 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []], | ... | ... |
tests/Fixture/MaterielsFixture.php
... | ... | @@ -52,8 +52,9 @@ class MaterielsFixture extends TestFixture |
52 | 52 | 'modified' => ['type' => 'datetime', 'length' => null, 'null' => true, 'default' => null, 'comment' => 'date et heure de modif de la fiche', 'precision' => null], |
53 | 53 | 'date_reception' => ['type' => 'date', 'length' => null, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null], |
54 | 54 | 'organisme_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], |
55 | - 'site_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => true, 'default' => '2', 'comment' => '', 'precision' => null, 'autoIncrement' => null], | |
56 | - '_indexes' => [ | |
55 | + 'site_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => true, 'default' => '1', 'comment' => '', 'precision' => null, 'autoIncrement' => null], | |
56 | + 'hors_service' => ['type' => 'boolean', 'length' => null, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null], | |
57 | + '_indexes' => [ | |
57 | 58 | 'fk_administrative_materials_sub_categories1' => ['type' => 'index', 'columns' => ['sous_categorie_id'], 'length' => []], |
58 | 59 | 'fk_materials_thematic_group1' => ['type' => 'index', 'columns' => ['groupes_thematique_id'], 'length' => []], |
59 | 60 | 'fk_materials_work_group1' => ['type' => 'index', 'columns' => ['groupes_metier_id'], 'length' => []], | ... | ... |
tests/Fixture/SuivisFixture.php
... | ... | @@ -64,7 +64,7 @@ class SuivisFixture extends TestFixture |
64 | 64 | 'type_suivi_id' => 1, |
65 | 65 | 'groupes_metier_id' => 1, |
66 | 66 | 'groupes_thematique_id' => 1, |
67 | - 'organisme' => 'Lorem ipsum dolor sit amet', | |
67 | + 'organisme' => 'dolor sit amet', | |
68 | 68 | 'frequence' => 1, |
69 | 69 | 'type_frequence' => '/ Jours', |
70 | 70 | 'commentaire' => 'Lorem ipsum dolor sit amet', |
... | ... | @@ -76,8 +76,8 @@ class SuivisFixture extends TestFixture |
76 | 76 | [ |
77 | 77 | 'id' => 2, |
78 | 78 | 'materiel_id' => 1, |
79 | - 'date_controle' => '2016-04-19', | |
80 | - 'date_prochain_controle' => '2016-04-19', | |
79 | + 'date_controle' => '2018-04-19', | |
80 | + 'date_prochain_controle' => '2018-04-19', | |
81 | 81 | 'type_suivi_id' => 1, |
82 | 82 | 'groupes_metier_id' => 1, |
83 | 83 | 'groupes_thematique_id' => 1, | ... | ... |
tests/TestCase/Controller/MaterielsControllerTest.php
... | ... | @@ -242,11 +242,11 @@ class MaterielsControllerTest extends IntegrationTestCase |
242 | 242 | } |
243 | 243 | |
244 | 244 | /** |
245 | - * Test valueNeccessaryEmpty method | |
245 | + * Test valueNeccessaryNotEmpty method | |
246 | 246 | * |
247 | 247 | * @return void |
248 | 248 | */ |
249 | - public function testValueNeccessaryEmpty() | |
249 | + public function testValueNeccessaryNotEmpty() | |
250 | 250 | { |
251 | 251 | $this->authSuperAdmin(); |
252 | 252 | |
... | ... | @@ -365,7 +365,7 @@ class MaterielsControllerTest extends IntegrationTestCase |
365 | 365 | ]; |
366 | 366 | |
367 | 367 | //Test sans aucun champ |
368 | - $this->post('/materiels/find'); | |
368 | + $this->get('/materiels/find'); | |
369 | 369 | $this->assertResponseContains("Aucun résultats pour cette recherche.", "Le contenu de la recherche devrait être vide."); |
370 | 370 | |
371 | 371 | //Test champ générale formulaire |
... | ... | @@ -868,10 +868,55 @@ class MaterielsControllerTest extends IntegrationTestCase |
868 | 868 | $this->assertResponseContains('ARCHIVED', "L'archivation du materiel ne se fait pas correctement avec un profil admin+."); |
869 | 869 | } |
870 | 870 | |
871 | + /** | |
872 | + * Test ACLIndexResponsable | |
873 | + * | |
874 | + * @return void | |
875 | + */ | |
876 | + public function testACLIndexResponsable() { | |
877 | + $this->authResponsable(); | |
878 | + | |
879 | + $this->get('/materiels/index?GM=1'); | |
880 | + $this->assertResponseContains('Liste des matériels (6)', "La liste des materiels selon le groupe métier ne s'affiche pas correctement."); | |
881 | + | |
882 | + $this->get('/materiels/index?GMV=1'); | |
883 | + $this->assertResponseContains('Liste des matériels (3)', "La liste des materiels selon le groupe métier et CREATED ne s'affiche pas correctement."); | |
884 | + } | |
871 | 885 | |
872 | 886 | |
873 | - | |
874 | - | |
887 | + /** | |
888 | + * Test MaterielPanne | |
889 | + * | |
890 | + * @return void | |
891 | + */ | |
892 | + public function testMaterielPanne() | |
893 | + { | |
894 | + $this->authSuperAdmin(); | |
895 | + | |
896 | + $this->get('/materiels/view/2'); | |
897 | + $this->assertResponseNotContains("(HORS SERVICE)", "Le matériel est hors-service par défaut."); | |
898 | + | |
899 | + $data = [ | |
900 | + 'designation' => 'Test 6', | |
901 | + 'sur_categorie_id' => 1, | |
902 | + 'categorie_id' => 1, | |
903 | + 'materiel_administratif' => 0, | |
904 | + 'materiel_technique' => 1, | |
905 | + 'status' => 'CREATED', | |
906 | + 'date_acquisition' => '19-04-2016', | |
907 | + 'nom_createur' => 'Pallier Etienne', | |
908 | + 'nom_modificateur' => 'Jean Administration', | |
909 | + 'nom_responsable' => 'Jacques Utilisateur', | |
910 | + 'email_responsable' => 'Jacques.Utilisateur@irap.omp.eu', | |
911 | + 'hors_service' => 1 | |
912 | + ]; | |
913 | + | |
914 | + $this->post('/materiels/edit/2', $data); | |
915 | + $this->get('/materiels/view/2'); | |
916 | + $this->assertResponseContains("(HORS SERVICE)", "Le matériel n'est pas hors-service comme demandé."); | |
917 | + | |
918 | + | |
919 | + } | |
875 | 920 | |
876 | 921 | |
877 | 922 | ... | ... |
tests/TestCase/Controller/SuivisControllerTest.php
... | ... | @@ -158,4 +158,77 @@ class SuivisControllerTest extends IntegrationTestCase |
158 | 158 | $this->get('/suivis/index'); |
159 | 159 | $this->assertResponseContains("Liste des suivis (1)", "Le suivi n'as pas été supprimé."); |
160 | 160 | } |
161 | + | |
162 | + /** | |
163 | + * Test find method | |
164 | + * | |
165 | + * @return void | |
166 | + */ | |
167 | + public function testFind() | |
168 | + { | |
169 | + $this->authUser(); | |
170 | + | |
171 | + $dataSearch = [ | |
172 | + 's_type_suivi_id' => '1', | |
173 | + 's_groupes_metier_id' => '', | |
174 | + 's_groupes_thematique_id' => '', | |
175 | + 's_organisme' => '', | |
176 | + 's_date_controle' => '', | |
177 | + 's_periode_controle1' => '', | |
178 | + 's_periode_controle2' => '', | |
179 | + ]; | |
180 | + | |
181 | + //Test sans aucun champ | |
182 | + $this->get('/suivis/find'); | |
183 | + $this->assertResponseContains("Aucun résultats pour cette recherche.", "Le contenu de la recherche devrait être vide."); | |
184 | + | |
185 | + //Test champ type suivi | |
186 | + $this->post('/suivis/find', $dataSearch); | |
187 | + $this->assertResponseContains("Résultats (2)", "Le nb de suivis pour la recherche par type de suivi est incorrecte."); | |
188 | + | |
189 | + //Test champ organisme | |
190 | + $dataSearch['s_type_suivi_id'] = ''; | |
191 | + $dataSearch['s_organisme'] = 'Lorem ipsum'; | |
192 | + $this->post('/suivis/find', $dataSearch); | |
193 | + $this->assertResponseContains("Résultats (1)", "Le nb de suivis pour la recherche par organisme est incorrecte."); | |
194 | + | |
195 | + //Test champ date_controle | |
196 | + $dataSearch['s_organisme'] = ''; | |
197 | + $dataSearch['s_date_controle'] = '2016-04-19'; | |
198 | + $this->post('/suivis/find', $dataSearch); | |
199 | + $this->assertResponseContains("Résultats (1)", "Le nb de suivis pour la recherche par date de controle est incorrecte."); | |
200 | + | |
201 | + //Test champ periode_controle1 (debut) | |
202 | + $dataSearch['s_date_controle'] = ''; | |
203 | + $dataSearch['s_periode_controle1'] = '2017-01-01'; | |
204 | + $this->post('/suivis/find', $dataSearch); | |
205 | + $this->assertResponseContains("Résultats (1)", "Le nb de suivis pour la recherche par debut de periode de controle est incorrecte."); | |
206 | + | |
207 | + //Test champ periode_acquisition1 (debut) && champ periode_acquisition2 (fin) | |
208 | + $dataSearch['s_periode_controle2'] = '2018-01-01'; | |
209 | + $this->post('/suivis/find', $dataSearch); | |
210 | + $this->assertResponseContains("Aucun résultats pour cette recherche.", "Le nb de suivis pour la recherche par intervalle entre la periode de controle 1 (debut) et la periode de controle 2 (fin) est incorrecte."); | |
211 | + | |
212 | + //Test champ periode_acquisition2 (fin) | |
213 | + $dataSearch['s_periode_controle1'] = ''; | |
214 | + $this->post('/suivis/find', $dataSearch); | |
215 | + $this->assertResponseContains("Résultats (1)", "Le nb de suivis pour la recherche par fin de periode de controle est incorrecte."); | |
216 | + | |
217 | + } | |
218 | + | |
219 | + | |
220 | + /** | |
221 | + * Test ACLIndexResponsable | |
222 | + * | |
223 | + * @return void | |
224 | + */ | |
225 | + public function testACLIndexResponsable() { | |
226 | + $this->authUser(); | |
227 | + | |
228 | + $this->get('/suivis/index?GM=1'); | |
229 | + $this->assertResponseContains('Liste des suivis (2)', "La liste des suivi selon le groupe métier ne s'affiche pas correctement."); | |
230 | + | |
231 | + | |
232 | + } | |
233 | + | |
161 | 234 | } | ... | ... |
webroot/doc/userguide/ACL.html
1 | 1 | <?xml version="1.0" encoding="UTF-8"?> |
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-06T15:49:21.807014772" 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 | +<!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"> | |
3 | 3 | @page { } |
4 | 4 | table { border-collapse:collapse; border-spacing:0; empty-cells:show } |
5 | 5 | td, th { vertical-align:top; font-size:12pt;} |
... | ... | @@ -12,103 +12,99 @@ |
12 | 12 | span.annotation_style_by_filter { font-size:95%; font-family:Arial; background-color:#fff000; margin:0; border:0; padding:0; } |
13 | 13 | * { margin:0;} |
14 | 14 | .P1 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; font-weight:bold; } |
15 | - .P10 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
16 | - .P11 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; margin-left:1.251cm; margin-right:0cm; text-indent:0cm; } | |
17 | - .P12 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; margin-left:1.251cm; margin-right:0cm; text-indent:0cm; } | |
18 | - .P13 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; margin-left:1.251cm; margin-right:0cm; text-indent:0cm; } | |
19 | - .P14 { font-size:12pt; font-family:Times; writing-mode:lr-tb; margin-left:1.251cm; margin-right:0cm; text-indent:0cm; } | |
20 | - .P15 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; font-weight:bold; } | |
21 | - .P16 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; } | |
22 | - .P17 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; } | |
23 | - .P18 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; font-weight:bold; } | |
24 | - .P19 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:bold; } | |
15 | + .P10 { font-size:10pt; font-family:Times New Roman; writing-mode:lr-tb; font-style:italic; font-weight:bold; } | |
16 | + .P11 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-style:italic; } | |
17 | + .P12 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
18 | + .P13 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
19 | + .P14 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; margin-left:1.251cm; margin-right:0cm; text-indent:0cm; } | |
20 | + .P15 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; margin-left:1.251cm; margin-right:0cm; text-indent:0cm; } | |
21 | + .P16 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; margin-left:1.251cm; margin-right:0cm; text-indent:0cm; } | |
22 | + .P17 { font-size:12pt; font-family:Times; writing-mode:lr-tb; margin-left:1.251cm; margin-right:0cm; text-indent:0cm; } | |
23 | + .P18 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; margin-left:1.251cm; margin-right:0cm; text-indent:0cm; } | |
24 | + .P19 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; font-weight:bold; } | |
25 | 25 | .P2 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; font-weight:bold; } |
26 | - .P20 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; font-style:italic; font-weight:bold; } | |
27 | - .P21 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-style:italic; font-weight:bold; } | |
28 | - .P22 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; font-style:italic; } | |
29 | - .P23 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-style:italic; } | |
30 | - .P24 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; } | |
31 | - .P25 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:bold; } | |
32 | - .P26 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-style:italic; } | |
33 | - .P27 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
34 | - .P28 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; font-weight:bold; } | |
35 | - .P29 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
26 | + .P22 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; } | |
27 | + .P23 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; } | |
28 | + .P25 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:bold; } | |
29 | + .P26 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:bold; } | |
30 | + .P28 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-style:italic; font-weight:bold; } | |
31 | + .P29 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-style:italic; font-weight:bold; } | |
36 | 32 | .P3 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; font-weight:bold; } |
37 | - .P30 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
38 | - .P31 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
39 | - .P32 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
40 | - .P33 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
41 | - .P34 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
42 | - .P35 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
43 | - .P36 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
33 | + .P30 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-style:italic; font-weight:bold; } | |
34 | + .P31 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; font-style:italic; font-weight:bold; } | |
35 | + .P33 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-style:italic; } | |
36 | + .P34 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; font-style:italic; } | |
37 | + .P35 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; } | |
38 | + .P36 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; } | |
39 | + .P37 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; } | |
40 | + .P38 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; } | |
41 | + .P39 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
44 | 42 | .P4 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } |
43 | + .P40 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; } | |
44 | + .P41 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-style:italic; font-weight:bold; } | |
45 | + .P42 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:bold; } | |
46 | + .P43 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:normal; } | |
47 | + .P44 { font-size:11pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:bold; } | |
48 | + .P45 { font-size:11pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:normal; } | |
49 | + .P46 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:bold; } | |
50 | + .P47 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
51 | + .P48 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; font-weight:bold; } | |
52 | + .P49 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:bold; } | |
45 | 53 | .P5 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } |
54 | + .P51 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
55 | + .P52 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
56 | + .P53 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
57 | + .P54 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
58 | + .P55 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
59 | + .P56 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
60 | + .P57 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
61 | + .P58 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
62 | + .P59 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
46 | 63 | .P6 { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } |
64 | + .P62 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:bold; } | |
65 | + .P68 { font-size:11pt; font-family:Times New Roman; writing-mode:lr-tb; text-align:center ! important; font-weight:bold; } | |
47 | 66 | .P7 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; font-weight:bold; } |
48 | 67 | .P8 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; } |
49 | - .P9 { font-size:10pt; font-family:Times New Roman; writing-mode:lr-tb; font-style:italic; font-weight:bold; } | |
68 | + .P9 { font-size:9pt; font-family:Times New Roman; writing-mode:lr-tb; } | |
50 | 69 | .Standard { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } |
51 | 70 | .Table_20_Contents { font-size:12pt; font-family:Times New Roman; writing-mode:lr-tb; } |
52 | - .Tableau1 { width:26.522cm; margin-left:-0.093cm; margin-right:auto;writing-mode:lr-tb; } | |
53 | - .Tableau1_A1 { vertical-align:top; background-color:#cccccc; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-width:0,0035cm; border-top-style:solid; border-top-color:#000000; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
54 | - .Tableau1_A2 { vertical-align:top; background-color:#e6e6e6; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
55 | - .Tableau1_B2 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
56 | - .Tableau1_B3 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
57 | - .Tableau1_B4 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
58 | - .Tableau1_B5 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
59 | - .Tableau1_B6 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
60 | - .Tableau1_B7 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-width:0,0035cm; border-right-style:solid; border-right-color:#000000; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
61 | - .Tableau1_C2 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
62 | - .Tableau1_C3 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
63 | - .Tableau1_C4 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
64 | - .Tableau1_D2 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
65 | - .Tableau1_D3 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
66 | - .Tableau1_D6 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
67 | - .Tableau1_E2 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
68 | - .Tableau1_E4 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
69 | - .Tableau1_E5 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
70 | - .Tableau1_E6 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
71 | - .Tableau1_F2 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
72 | - .Tableau1_F3 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-width:0,0035cm; border-right-style:solid; border-right-color:#000000; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
73 | - .Tableau1_F4 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
74 | - .Tableau1_G2 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
75 | - .Tableau1_G4 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
76 | - .Tableau1_H2 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
77 | - .Tableau1_H4 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
78 | - .Tableau1_H5 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
79 | - .Tableau1_I2 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
80 | - .Tableau1_I5 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
81 | - .Tableau1_I6 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
82 | - .Tableau1_J2 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
83 | - .Tableau1_J4 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
84 | - .Tableau1_J6 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-width:0,0035cm; border-right-style:solid; border-right-color:#000000; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
85 | - .Tableau1_K2 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
86 | - .Tableau1_K4 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-width:0,0035cm; border-right-style:solid; border-right-color:#000000; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
87 | - .Tableau1_K5 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
88 | - .Tableau1_L1 { vertical-align:top; background-color:#cccccc; padding:0.097cm; border-width:0,0035cm; border-style:solid; border-color:#000000; writing-mode:lr-tb; } | |
89 | - .Tableau1_L2 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-width:0,0035cm; border-right-style:solid; border-right-color:#000000; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
90 | - .Tableau1_L5 { vertical-align:top; padding:0.097cm; border-left-width:0,0035cm; border-left-style:solid; border-left-color:#000000; border-right-width:0,0035cm; border-right-style:solid; border-right-color:#000000; border-top-style:none; border-bottom-width:0,0035cm; border-bottom-style:solid; border-bottom-color:#000000; writing-mode:lr-tb; } | |
91 | - .Tableau1_A { width:1.937cm; } | |
92 | - .Tableau1_B { width:2.318cm; } | |
93 | - .Tableau1_C { width:2.544cm; } | |
94 | - .Tableau1_D { width:2.828cm; } | |
95 | - .Tableau1_E { width:1.836cm; } | |
96 | - .Tableau1_F { width:1.734cm; } | |
97 | - .Tableau1_G { width:2.066cm; } | |
98 | - .Tableau1_H { width:2.766cm; } | |
99 | - .Tableau1_I { width:2.748cm; } | |
100 | - .Tableau1_J { width:1.466cm; } | |
101 | - .Tableau1_K { width:1.487cm; } | |
102 | - .Tableau1_L { width:2.794cm; } | |
71 | + .Tableau2 { width:27.25cm; float:none; writing-mode:lr-tb; } | |
72 | + .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; } | |
73 | + .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; } | |
74 | + .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; } | |
75 | + .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; } | |
76 | + .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; } | |
77 | + .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; } | |
78 | + .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; } | |
79 | + .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; } | |
80 | + .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; } | |
81 | + .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; } | |
82 | + .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; } | |
83 | + .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; } | |
84 | + .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; } | |
85 | + .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; } | |
86 | + .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; } | |
87 | + .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; } | |
88 | + .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; } | |
89 | + .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; } | |
90 | + .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; } | |
91 | + .Tableau2_G1 { background-color:#cccccc; padding:0.097cm; border-width:thin; border-style:solid; border-color:#000000; } | |
92 | + .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; } | |
93 | + .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; } | |
94 | + .Tableau2_A { width:3.893cm; } | |
95 | + .Tableau2_G { width:3.893cm; } | |
103 | 96 | .T1 { font-style:italic; font-weight:bold; } |
104 | - .T10 { font-size:9pt; font-style:italic; } | |
105 | - .T11 { font-size:9pt; font-style:italic; font-weight:bold; } | |
106 | - .T12 { font-size:9pt; font-weight:bold; } | |
107 | - .T13 { font-size:9pt; } | |
108 | - .T14 { font-size:9pt; } | |
109 | - .T3 { font-weight:bold; } | |
97 | + .T13 { font-size:9pt; font-style:italic; } | |
98 | + .T14 { font-size:9pt; font-style:italic; font-weight:bold; } | |
99 | + .T15 { font-size:9pt; font-weight:bold; } | |
100 | + .T16 { font-size:9pt; } | |
101 | + .T17 { font-size:9pt; } | |
102 | + .T18 { font-size:9pt; } | |
103 | + .T25 { font-weight:normal; } | |
110 | 104 | .T4 { font-weight:bold; } |
111 | 105 | .T5 { font-weight:bold; } |
106 | + .T6 { font-weight:bold; } | |
107 | + .T7 { font-weight:bold; } | |
112 | 108 | .WW8Num1z0 { font-family:Symbol; } |
113 | 109 | .WW8Num2z0 { font-family:Symbol; } |
114 | 110 | .WW8Num3z0 { font-family:Symbol; } |
... | ... | @@ -118,5 +114,5 @@ |
118 | 114 | .WW8Num7z0 { font-family:Symbol; } |
119 | 115 | .WW8Num8z0 { font-family:Symbol; font-size:9pt; font-weight:normal; } |
120 | 116 | <!-- ODF styles with no properties representable as CSS --> |
121 | - .Tableau1.1 .T15 .T16 .T2 .T6 .T7 .T8 .T9 .WW8Num8z1 .WW8Num8z2 .WW8Num8z3 .WW8Num8z4 .WW8Num8z5 .WW8Num8z6 .WW8Num8z7 .WW8Num8z8 .WW8Num9z0 .WW8Num9z1 .WW8Num9z2 .WW8Num9z3 .WW8Num9z4 .WW8Num9z5 .WW8Num9z6 .WW8Num9z7 .WW8Num9z8 { } | |
122 | - </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="P25">ACL (Access Control List)</p><p class="P26">(Etienne Pallier – 24/11/2014)</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="T4">Créer</span><span class="T2"> un matériel ==</span><span class="T7">> passe alors en statut </span><span class="T5">CREATED ==> </span><span class="T1">peut alors être éventuellement supprimé (mais ne pourra plus être supprimé ensuite)</span></p><p class="Standard"><span class="T5">Valider</span><span class="T7"> un matériel CREATED ==> passe alors en statut </span><span class="T5">VALIDATED </span><span class="T7">(admin only)</span></p><p class="P4"><span class="T5">Demander l'Archivage</span><span class="T7"> d'un materiel VALIDATED ==> passe alors en statut </span><span class="T5">TOBEARCHIVED</span><span class="T7"> (resp et admin only)</span></p><p class="P4"><span class="T5">Sortir</span><span class="T7"> de l'inventaire (Valider une demande d'archivage d'un matériel TOBEARCHIVED) ==> statut </span><span class="T5">ARCHIVED</span><span class="T7"> (admin only)</span></p><p class="P4"><span class="T5">Désarchiver</span><span class="T7"> un matériel ==> repasse de TOBEARCHIVED ou ARCHIVED à </span><span class="T5">VALIDATED</span><span class="T7"> (admin only) </span></p><p class="P4"> </p><p class="P5">En résumé : TODO (schéma)</p><p class="P4"> </p><p class="P3">CREATED ==> VALIDATED ==> TOBEARCHIVED ==> ARCHIVED</p><p class="P2"><span class="T9"> </span><span class="T6">I /\ I I</span></p><p class="P2"><span class="T9"> </span><span class="T6">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="P11"><span class="T2">- un </span><span class="T4">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="P11"><span class="T2">- un </span><span class="T4">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)</span></p><p class="P11"><span class="T2">- un </span><span class="T4">ADMIN</span><span class="T2">(istratif) a tous les droits (y-compris champs réservés à l'administration)</span></p><p class="P11"><span class="T2">- un </span><span class="T4">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="P11"><span class="T2">- un </span><span class="T4">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="P12"> </p><p class="Standard"><span class="T2">Concernant les informations internes permettant de savoir </span><span class="T4">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><p class="P7"> </p><p class="P7"> </p><table border="0" cellspacing="0" cellpadding="0" class="Tableau1"><colgroup><col width="85"/><col width="101"/><col width="111"/><col width="124"/><col width="80"/><col width="76"/><col width="90"/><col width="121"/><col width="120"/><col width="64"/><col width="65"/><col width="122"/></colgroup><tr class="Tableau11"><td style="text-align:left;width:1.937cm; " class="Tableau1_A1"><p class="P17"> </p></td><td style="text-align:left;width:2.318cm; " class="Tableau1_A1"><p class="P19">Read (un seul ou une liste)</p><p class="P19"> </p><p class="P19">(view ou index)</p></td><td style="text-align:left;width:2.544cm; " class="Tableau1_A1"><p class="P19">Create (1)</p><p class="P19"> </p><p class="P19">(add)</p></td><td style="text-align:left;width:2.828cm; " class="Tableau1_A1"><p class="P19">Update (1)</p><p class="P19"> </p><p class="P19">(edit)</p></td><td style="text-align:left;width:1.836cm; " class="Tableau1_A1"><p class="P19">Delete</p><p class="P19"> </p><p class="P19">(delete)</p></td><td style="text-align:left;width:1.734cm; " class="Tableau1_A1"><p class="P19">Valider</p><p class="P19"> </p><p class="P19">(statusValidated)</p></td><td style="text-align:left;width:2.066cm; " class="Tableau1_A1"><p class="P19">Demander archivage</p><p class="P19"> </p><p class="P19">(statusToBeArchived)</p></td><td style="text-align:left;width:2.766cm; " class="Tableau1_A1"><p class="P19">Sortir de l'inventaire</p><p class="P19"> </p><p class="P19"><span class="T9"> </span>(statusArchived)</p></td><td style="text-align:left;width:2.748cm; " class="Tableau1_A1"><p class="P19">Desarchiver (2)</p></td><td style="text-align:left;width:1.466cm; " class="Tableau1_A1"><p class="P19">Exporter</p><p class="P19"> </p><p class="P19">(csv)</p><p class="P19"> </p></td><td style="text-align:left;width:1.487cm; " class="Tableau1_A1"><p class="P19">Montee de statut groupee (3)</p><p class="P19"> </p><p class="P19">(execActions)</p></td><td style="text-align:left;width:2.794cm; " class="Tableau1_L1"><p class="P19">Edition (4)</p><p class="P19"> </p><p class="P19">DOCUMENTS</p><p class="P19">entree & sortie</p></td></tr><tr class="Tableau11"><td style="text-align:left;width:1.937cm; " class="Tableau1_A2"><p class="P21">ALL (TOUS)</p><p class="P21"> </p><p class="P19">(droits par defaut)</p></td><td style="text-align:left;width:2.318cm; " class="Tableau1_B2"><p class="P19">Y</p><p class="P22"> </p><p class="P22"> </p><p class="P22"> </p><p class="P22"> </p><p class="P22"> </p><p class="P22"> </p><p class="P22"> </p><p class="P22"> </p><p class="Table_20_Contents"><span class="T11">champs caches:</span><span class="T10"> donnees admin</span></p></td><td style="text-align:left;width:2.544cm; " class="Tableau1_C2"><p class="P19">Y</p><p class="P22"> </p><p class="P22"> </p><p class="P22"> </p><p class="P22"> </p><p class="P22"> </p><p class="P22"> </p><p class="P22"> </p><p class="P22"> </p><p class="Table_20_Contents"><span class="T11">champs caches</span><span class="T10">:</span></p><p class="P22">donnees admin + statut + etiquette </p></td><td style="text-align:left;width:2.828cm; " class="Tableau1_D2"><p class="P19">Y</p><p class="P23">ssi</p><p class="Table_20_Contents"><span class="T12">CREATED</span><span class="T13"> (tous les champs) </span></p><p class="Table_20_Contents"><span class="T10">ou </span><span class="T11">VALIDATED</span><span class="T10"> (quelques champs visibles sont </span><span class="T11">readonly</span><span class="T10">) (1)</span></p><p class="P22"> </p><p class="Table_20_Contents"><span class="T11">champs caches</span><span class="T10">:</span></p><p class="P22">donnees admin + statut + etiquette</p></td><td style="text-align:left;width:1.836cm; " class="Tableau1_E2"><p class="P19">Y</p><p class="P21">ssi CREATED</p></td><td style="text-align:left;width:1.734cm; " class="Tableau1_F2"><p class="P19">N</p><p class="P21"> </p><p class="P21">(resp+)</p></td><td style="text-align:left;width:2.066cm; " class="Tableau1_G2"><p class="P19">N</p><p class="P21"> </p><p class="P21">(resp+)</p></td><td style="text-align:left;width:2.766cm; " class="Tableau1_H2"><p class="P19">N</p><p class="P21"> </p><p class="P21">(admin+)</p></td><td style="text-align:left;width:2.748cm; " class="Tableau1_I2"><p class="P19">N</p><p class="P21"> </p><p class="P21">(adminplus+)</p></td><td style="text-align:left;width:1.466cm; " class="Tableau1_J2"><p class="P19">N</p><p class="P19"> </p><p class="P21">(resp+)</p></td><td style="text-align:left;width:1.487cm; " class="Tableau1_K2"><p class="P19">N</p><p class="P19"> </p><p class="P21">(admin+)</p></td><td style="text-align:left;width:2.794cm; " class="Tableau1_L2"><p class="P19">N</p><p class="P19"> </p><p class="P21">(admin+)</p></td></tr><tr class="Tableau11"><td style="text-align:left;width:1.937cm; " class="Tableau1_A2"><p class="Table_20_Contents"><span class="T12">User </span><span class="T13">(quelconque)</span></p></td><td style="text-align:left;width:2.318cm; " class="Tableau1_B3"><p class="P24">idem ALL</p></td><td style="text-align:left;width:2.544cm; " class="Tableau1_C3"><p class="P24">Idem ALL</p><p class="Table_20_Contents"><span class="T11">champs readonly </span><span class="T10">:</span></p><p class="P22">nom_responsable</p></td><td colspan="2" style="text-align:left;width:2.828cm; " class="Tableau1_D3"><p class="P24">idem ALL</p><p class="P16"><span class="T13">ssi </span><span class="T12">createur</span></p></td><td colspan="7" style="text-align:left;width:1.734cm; " class="Tableau1_F3"><p class="P24">idem ALL</p></td></tr><tr class="Tableau11"><td style="text-align:left;width:1.937cm; " class="Tableau1_A2"><p class="P18">Responsable</p></td><td style="text-align:left;width:2.318cm; " class="Tableau1_B4"><p class="P24">idem ALL</p></td><td colspan="2" style="text-align:left;width:2.544cm; " class="Tableau1_C4"><p class="P24">idem ALL</p><p class="P24">(+ etiquette)</p></td><td style="text-align:left;width:1.836cm; " class="Tableau1_E4"><p class="P24">idem ALL</p></td><td style="text-align:left;width:1.734cm; " class="Tableau1_F4"><p class="P24">Y</p><p class="P21">ssi</p><p class="P21">CREATED</p><p class="P24"> </p></td><td style="text-align:left;width:2.066cm; " class="Tableau1_G4"><p class="P24">Y</p><p class="P21">ssi</p><p class="P21">VALIDATED</p></td><td colspan="2" style="text-align:left;width:2.766cm; " class="Tableau1_H4"><p class="P24">idem ALL</p></td><td style="text-align:left;width:1.466cm; " class="Tableau1_J4"><p class="P24">Y</p></td><td colspan="2" style="text-align:left;width:1.487cm; " class="Tableau1_K4"><p class="P24">idem ALL</p></td></tr><tr class="Tableau11"><td style="text-align:left;width:1.937cm; " class="Tableau1_A2"><p class="P18">Admin</p></td><td colspan="3" style="text-align:left;width:2.318cm; " class="Tableau1_B5"><p class="P16"><span class="T13">(idem Responsable </span><span class="T12">+ donnees admin</span><span class="T13">)</span></p><p class="P24"> </p><p class="P16"><span class="T10">En mode edit (update), si VALIDATED, on ajoute aux donnees </span><span class="T11">readonly</span><span class="T10"> les </span><span class="T11">donnees admin</span></p><p class="P24"> </p><p class="P22"> </p></td><td colspan="3" style="text-align:left;width:1.836cm; " class="Tableau1_E5"><p class="P24">idem Responsable</p></td><td style="text-align:left;width:2.766cm; " class="Tableau1_H5"><p class="P24">Y</p><p class="P21">ssi</p><p class="P21">TOBEARCHIVED</p></td><td colspan="2" style="text-align:left;width:2.748cm; " class="Tableau1_I5"><p class="P24">idem Responsable</p></td><td style="text-align:left;width:1.487cm; " class="Tableau1_K5"><p class="P24">Y</p></td><td style="text-align:left;width:2.794cm; " class="Tableau1_L5"><p class="P24">Y</p><p class="P20">- admission : ssi VALIDATED</p><p class="P20">- sortie : ssi TOBEARCHIVED ou ARCHIVED</p></td></tr><tr class="Tableau11"><td style="text-align:left;width:1.937cm; " class="Tableau1_A2"><p class="P18">Adminplus</p></td><td colspan="2" style="text-align:left;width:2.318cm; " class="Tableau1_B6"><p class="P24">idem Admin</p></td><td style="text-align:left;width:2.828cm; " class="Tableau1_D6"><p class="P24">idem Admin</p><p class="P16"><span class="T13">(</span><span class="T12">tous les statuts</span><span class="T13">)</span></p><p class="P16"><span class="T13">(+ champ </span><span class="T12">statut</span><span class="T13">)</span></p><p class="P16"> </p><p class="P16"><span class="T13">TOBEARCHIVED ou ARCHIVED: </span><span class="T12">seulement le statut</span></p></td><td colspan="4" style="text-align:left;width:1.836cm; " class="Tableau1_E6"><p class="P24">idem Admin</p></td><td style="text-align:left;width:2.748cm; " class="Tableau1_I6"><p class="P24">Y</p><p class="P21">ssi</p><p class="P21">ARCHIVED ou</p><p class="P21">TOBEARCHIVED</p></td><td colspan="3" style="text-align:left;width:1.466cm; " class="Tableau1_J6"><p class="P24">idem Admin</p></td></tr><tr class="Tableau11"><td style="text-align:left;width:1.937cm; " class="Tableau1_A2"><p class="P18">Superadmin</p></td><td colspan="11" style="text-align:left;width:2.318cm; " class="Tableau1_B7"><p class="P24">idem Adminplus</p></td></tr></table><p class="P6"> </p><p class="P9">Par défaut, le superadmin a TOUS les droits</p><p class="P9"> </p><p class="Standard"><span class="T12">Conventions d'écriture </span><span class="T13">: </span></p><p class="P11"><span class="T13">- r</span><span class="T12">esp+</span><span class="T13"> = possible pour un </span><span class="T12">Responsable et plus </span><span class="T13">(responsable, admin, adminplus, et superadmin)</span></p><p class="P11"><span class="T13">- </span><span class="T12">admin+</span><span class="T13"> = possible pour un </span><span class="T12">Admin</span><span class="T13"> </span><span class="T12">et plus </span><span class="T13">(admin, adminplus, et superadmin)</span></p><p class="P13">- ...</p><p class="P13"> </p><p class="Standard"><span class="T12">Notes </span><span class="T13">:</span></p><p class="P8"> </p><ol><li><p class="P27" style="margin-left:0cm;"><span class="WW8Num8z0" style="display:block;float:left;min-width:0,635cm;">(1)</span><span class="T12">Droits en modification (edit) </span><span class="T13">:</span><span class="odfLiEnd"/> </p></li></ol><p class="P13">- 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="P13">- 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="P13">- Les données admin ne sont accessibles qu'aux profils admin+</p><p class="P11"><span class="T13">- Le champ "</span><span class="T12">status</span><span class="T13">" n'est modifiable que par les profils adminplus+</span></p><p class="P11"><span class="T13">- Tout le monde peut modifier un matériel </span><span class="T12">VALIDATED </span><span class="T13">(</span><span class="T12">user </span><span class="T13">ne peut modifier que </span><span class="T12">ses</span><span class="T13"> matériels),</span></p><p class="P11"><span class="T13">MAIS PAS</span><span class="T12"> certains champs</span><span class="T13"> qui sont </span><span class="T12">readonly</span><span class="T13"> (</span><span class="T14">sur_categorie_id', 'categorie_id', 'materiel_administratif', 'materiel_technique', 'date_acquisition', 'nom_responsable', 'fournisseur', 'organisme', 'prix_ht')</span></p><p class="P11"><span class="T13">Les seuls champs qu'on peut éditer sont donc : (</span><span class="T14">designation, sous_categorie, materiel_administratif, materiel_technique, description, etiquette, lieu_stockage, lieu_detail, numero_serie, groupes_thematique, groupes_metier),</span><span class="T13"><br/>- Seuls les profils </span><span class="T12">adminplus+</span><span class="T13"> peuvent modifier un matériel </span><span class="T12">TOBEARCHIVED, ou ARCHIVED </span><span class="T13">mais </span><span class="T12">UNIQUEMENT le champ "status" </span><span class="T13">(pour pouvoir rétrograder à CREATED ou VALIDATED)</span></p><p class="P11"><span class="T13">- Le seul moyen de modifier COMPLÈTEMENT un matériel VALIDATED, TOBEARCHIVED, ou ARCHIVED, <br/>c'est de </span><span class="T12">changer son statut</span><span class="T13">, en le rétrogradant à CREATED (seuls les profils adminplus+ peuvent le faire)</span></p><p class="P13"> </p><ol><li><p class="P27" style="margin-left:0cm;"><span class="WW8Num8z0" style="display:block;float:left;min-width:0,635cm;">(2)</span><span class="T12">Désarchiver </span><span class="T13">: 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"/> </p></li></ol><p class="P8"> </p><ol><li><p class="P27" style="margin-left:0cm;"><span class="WW8Num8z0" style="display:block;float:left;min-width:0,635cm;">(3)</span><span class="T12">Montée de statut groupée : </span><span class="T13">seul ADMIN peut (exporter tout ou partie de la liste des matériels, et) </span><span class="T12">augmenter (+1) le statut d'un groupe de matériels</span><span class="T13">, 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"/> </p></li></ol><p class="P8"> </p><ol><li><p class="P28" 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="P13">Admission : quand on "VALIDE" un matériel "CREATED", le statut passe en VALIDATED et le document d'admission est automatiquement édité</p><p class="P13">Sortie : quand on "ARCHIVE" un document "TOBEARCHIVED", le statut passe en ARCHIVED et le document de sortie est automatiquement édité</p><p class="P13">De plus :</p><p class="P13">- Bouton "Doc admission" affiché à partir du statut "VALIDATED"</p><p class="P13">- Bouton "Doc Sortie" affiché à partir du statut TOBEARCHIVED (et donc aussi pour ARCHIVED)</p><p class="P13">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="P13"> </p><p class="P14"> </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="T3">Page accueil </span>:</p><p class="P6"><span> Administration <span class="T16">& Administration Plus </span>voit un menu avec 2 options :</span></p><ul><li><ul><li><ul><li><p class="P29" 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="P29" 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></li></ul><p class="P6"> </p><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="P30" 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"/> </p></li><li><p class="P30" style="margin-left:0cm;"><span class="WW8Num4z0" style="display:block;float:left;min-width:0,635cm;">.</span>Gérer les utilisateurs <span class="T16">privilégiés</span><span class="odfLiEnd"/> </p></li><li><p class="P30" 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="P31" 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="T4">Vue materiel/index (liste) </span><span class="T2">: limiter aux </span><span class="T4">matériels actifs</span><span class="T2"> (non archivés)</span></p><ul><li><ul><li><p class="P32" style="margin-left:0cm;"><span class="WW8Num1z0" style="display:block;float:left;min-width:0,635cm;">.</span>Admin<span class="T16">+ </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="T4">Vue materiel/find </span><span class="T2">: limiter aux </span><span class="T4">matériels actifs</span><span class="T2"> (non archivés)</span></p><p class="P6"><span> Seul le<span class="T16">s</span> profil<span class="T16">s</span> Admin<span class="T16">+ </span>voit TOUS les matériels (y-compris archivés)</span></p><p class="P6"> </p><p class="P6"><span class="T3">Vue materiel/view </span>:</p><p class="P6"><span> boutons « Imprimer Etiquettes » : <span class="T16">resp+</span></span></p><p class="P6"> </p><p class="P6"><span class="T3">Vue materiel/edit </span>:</p><ul><li><p class="P33" style="margin-left:0cm;"><span class="WW8Num5z0" style="display:block;float:left;min-width:0,635cm;">.</span>Etiquette O/N (admin<span class="T16">+)</span><span class="odfLiEnd"/> </p></li><li><p class="P33" style="margin-left:0cm;"><span class="WW8Num5z0" style="display:block;float:left;min-width:0,635cm;">.</span>Statut (<span class="T16">superadmin+)</span><span class="odfLiEnd"/> </p></li><li><p class="P33" style="margin-left:0cm;"><span class="WW8Num5z0" style="display:block;float:left;min-width:0,635cm;">.</span>Informations administratives (admin<span class="T16">+)</span><span class="odfLiEnd"/> </p></li></ul><p class="P6"> </p><p class="P6"> </p><p class="P1"> </p><p class="P15">D - sur un SUIVI et un EMPRUNT</p><p class="P1"> </p><ul><li><p class="P34" 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="P34" 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="P34" 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="T7">Un USER peut modifier/supprimer un emprunt dont il est soit le créateur soit l'emprunteur</span><span class="T15">.</span></p><p class="P10">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="P5"> </p><p class="P5"> </p><p class="P3">E - sur les UTILISATEURS</p><p class="P4"><span class="T7">Par défaut, superadmin a tous les droits, et les autres profils n'ont que le droit de lecture (</span><span class="T5">view </span><span class="T7">et </span><span class="T5">index</span><span class="T7">)</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="P35" 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="P36" 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="P36" 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="T7">Par défaut, pour tous ces objets, superadmin a tous les droits, admin</span><span class="T8">plus</span><span class="T7"> a tous les droits sauf « delete », et les autres profils n'ont que le droit de lecture (</span><span class="T5">view </span><span class="T7">et </span><span class="T5">index</span><span class="T7">)</span></p></body></html> | |
123 | 117 | \ No newline at end of file |
118 | + .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 { } | |
119 | + </style></head><body dir="ltr" style="max-width:29.7cm;margin-top:1cm; margin-bottom:1cm; margin-left:1cm; margin-right:1.45cm; writing-mode:lr-tb; "><p class="P46">ACL (Access Control List)</p><p class="P11">(Etienne Pallier – 24/<span class="T22">06</span>/201<span class="T23">6</span>)</p><p class="P1"> </p><p class="P1"> </p><p class="P1"> </p><p class="P1">I – Cycle de vie du statut du matériel</p><p class="P1"> </p><p class="Standard"><span class="T5">Créer</span><span class="T2"> un matériel ==</span><span class="T9">> passe alors en statut </span><span class="T7">CREATED ==> </span><span class="T1">peut alors être éventuellement supprimé (mais ne pourra plus être supprimé ensuite)</span></p><p class="Standard"><span class="T7">Valider</span><span class="T9"> un matériel CREATED ==> passe alors en statut </span><span class="T7">VALIDATED </span><span class="T9">(</span><span class="T11">resp et </span><span class="T9">admin only)</span></p><p class="P4"><span class="T7">Demander l'Archivage</span><span class="T9"> d'un materiel VALIDATED ==> passe alors en statut </span><span class="T7">TOBEARCHIVED</span><span class="T9"> (resp et admin only)</span></p><p class="P4"><span class="T7">Sortir</span><span class="T9"> de l'inventaire (Valider une demande d'archivage d'un matériel TOBEARCHIVED) ==> statut </span><span class="T7">ARCHIVED</span><span class="T9"> (admin only)</span></p><p class="P4"><span class="T7">Désarchiver</span><span class="T9"> un matériel ==> repasse de TOBEARCHIVED ou ARCHIVED à </span><span class="T7">VALIDATED</span><span class="T9"> (admin only) </span></p><p class="P4"> </p><p class="P5">En résumé : </p><p class="P4"> </p><p class="P3">CREATED ==> VALIDATED ==> TOBEARCHIVED ==> ARCHIVED</p><p class="P2"><span class="T12"> </span><span class="T8">I /\ I I</span></p><p class="P2"><span class="T12"> </span><span class="T8">V I ------------------------ I --------------------------------- I (adminplus only)</span></p><p class="P3">DELETED</p><p class="P2"> </p><p class="P2"> </p><p class="P2"> </p><p class="P1">II - Droits des utilisateurs selon leur profil</p><p class="P1"> </p><p class="P1">A – Globalement (principes généraux)</p><p class="P1"> </p><p class="P6">Un utilisateur non logué ne doit RIEN pouvoir faire. Seulement se loguer, c'est tout. Il n'a accès qu'à la page d'accueil (de login).</p><p class="P6">Une fois logué, un utilisateur a des droits différents selon son profil, globalement :</p><p class="P14"><span class="T2">- un </span><span class="T5">USER</span><span class="T2"> ne peut que créer un matériel, un suivi, ou un emprunt, consulter, et modifier (uniquement ce qu'il a créé lui-même)</span></p><p class="P18"><span class="T2">- un </span><span class="T5">RESPONSABLE</span><span class="T2"> a tous les droits sauf accès à certains champs et certaines vues réservées à l'administration (ADMIN). Il ne peut pas non plus archiver un matériel, mais seulement demander l'archivage (comme un USER)(uniquement ce </span><span class="T3">lié à son groupe métier ou thématiques</span><span class="T2">)</span></p><p class="P14"><span class="T2">- un </span><span class="T5">ADMIN</span><span class="T2">(istratif) a tous les droits (y-compris champs réservés à l'administration)</span></p><p class="P14"><span class="T2">- un </span><span class="T5">ADMINPLUS</span><span class="T2"> (administratif Plus) a tous les droits de ADMIN et en plus il peut modifier un matériel quelque soit son statut (y-compris TOBEARCHIVED et ARCHIVED), notamment il peut modifier le statut du matériel (pour le rétrograder)</span></p><p class="P14"><span class="T2">- un </span><span class="T5">SUPERADMIN</span><span class="T2"> a tous les droits : ceux d'ADMINPLUS et certains droits supplémentaires pour lui permettre des corrections d'erreur et la configuration de l'application (notamment l'administration des utilisateurs...)</span></p><p class="P15"> </p><p class="Standard"><span class="T2">Concernant les informations internes permettant de savoir </span><span class="T5">qui a fait quoi</span><span class="T2"> (mises en place en février 2014), elles ne sont bien sûr pas modifiables puisque gérées automatiquement par le système, mais sont visibles par tous excepté le profil USER.</span></p><p class="P1"/><p class="P7">B - sur la table MATERIEL</p><table border="0" cellspacing="0" cellpadding="0" class="Tableau2"><colgroup><col width="170"/><col width="170"/><col width="170"/><col width="170"/><col width="170"/><col width="170"/><col width="170"/></colgroup><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A1"><p class="Table_20_Contents"> </p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_A1"><p class="P41">ALL (TOUS)</p><p class="P43">(droits par defaut)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_A1"><p class="P40"><span class="T5">U</span><span class="T6">tilisateur </span><span class="T5"> </span><span class="T2">(quelconque)</span></p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_A1"><p class="P42">Responsable</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_A1"><p class="P42">Administration</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_A1"><p class="P42">Administration Plus</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_G1"><p class="P42">Super-Administrateur</p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Read (un seul ou une liste)</p><p class="P45">(view ou index)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P25">Y</p><p class="Table_20_Contents"><span class="T14">champs caches:</span><span class="T13"> donnees admin</span></p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P36">idem ALL</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P36">idem ALL</p></td><td rowspan="3" style="text-align:left;width:3.893cm; " class="Tableau2_E4"><p class="P23"><span class="T16">(idem Responsable </span><span class="T15">+ donnees admin</span><span class="T16">)</span></p><p class="P37"> </p><p class="P23"><span class="T13">En mode edit (update), si VALIDATED, on ajoute aux donnees </span><span class="T14">readonly</span><span class="T13"> les </span><span class="T14">donnees admin</span></p></td><td rowspan="2" style="text-align:left;width:3.893cm; " class="Tableau2_F3"><p class="P37">idem Admin</p></td><td rowspan="11" style="text-align:left;width:3.893cm; " class="Tableau2_G12"><p class="P37">idem Adminplus</p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Create (1)</p><p class="P45">(add)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P26">Y</p><p class="P39"><span class="T14">champs caches</span><span class="T13">:</span></p><p class="P34">donnees admin + statut + etiquette </p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P36">Idem ALL</p><p class="P39"><span class="T14">champs readonly </span><span class="T13">:</span></p><p class="P34">nom_responsable</p></td><td rowspan="2" style="text-align:left;width:3.893cm; " class="Tableau2_D4"><p class="P36">idem ALL</p><p class="P36">(+ etiquette)</p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Update (1)</p><p class="P45">(edit)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P26">Y</p><p class="P33">ssi</p><p class="P39"><span class="T15">CREATED</span><span class="T16"> (tous les champs) </span></p><p class="P39"><span class="T13">ou </span><span class="T14">VALIDATED</span><span class="T13"> (quelques champs visibles sont </span><span class="T14">readonly</span><span class="T13">) (1)</span></p><p class="P34"> </p><p class="P39"><span class="T14">champs caches</span><span class="T13">:</span></p><p class="P34">donnees admin + statut + etiquette</p></td><td rowspan="2" style="text-align:left;width:3.893cm; " class="Tableau2_C5"><p class="P36">idem ALL</p><p class="P22"><span class="T16">ssi </span><span class="T15">createur</span></p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P37">idem Admin</p><p class="P23"><span class="T16">(</span><span class="T15">tous les statuts</span><span class="T16">)</span></p><p class="P23"><span class="T16">(+ champ </span><span class="T15">statut</span><span class="T16">)</span></p><p class="P23"> </p><p class="P23"><span class="T16">TOBEARCHIVED ou ARCHIVED: </span><span class="T15">seulement le statut</span></p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Delete</p><p class="P45">(delete)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P26">Y</p><p class="P29">ssi CREATED</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P37">idem ALL</p></td><td rowspan="3" style="text-align:left;width:3.893cm; " class="Tableau2_E7"><p class="P37">idem Responsable</p></td><td rowspan="4" style="text-align:left;width:3.893cm; " class="Tableau2_F8"><p class="P37">idem Admin</p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Valider</p><p class="P45">(statusValidated)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P25">N</p><p class="P28">(resp+)</p></td><td rowspan="7" style="text-align:left;width:3.893cm; " class="Tableau2_C12"><p class="P36">idem ALL</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P37">Y</p><p class="P30">ssi</p><p class="P30">CREATED</p><p class="P37"> </p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Demander archivage</p><p class="P45">(statusToBeArchived)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P25">N</p><p class="P28">(resp+)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P37">Y</p><p class="P30">ssi</p><p class="P30">VALIDATED</p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Sortir de l'inventaire</p><p class="P45"><span class="T12"> </span>(statusArchived)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P26">N</p><p class="P29">(admin+)</p></td><td rowspan="2" style="text-align:left;width:3.893cm; " class="Tableau2_D9"><p class="P37">idem ALL</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P35">Y</p><p class="P28">ssi</p><p class="P28">TOBEARCHIVED</p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Desarchiver (2)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P26">N</p><p class="P29">(adminplus+)</p></td><td rowspan="2" style="text-align:left;width:3.893cm; " class="Tableau2_E10"><p class="P37">idem Responsable</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P37">Y</p><p class="P30">ssi</p><p class="P30">ARCHIVED ou</p><p class="P30">TOBEARCHIVED</p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Exporter</p><p class="P45">(csv)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P26">N</p><p class="P29">(resp+)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P37">Y</p></td><td rowspan="3" style="text-align:left;width:3.893cm; " class="Tableau2_F12"><p class="P37">idem Admin</p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Montee de statut group<span class="T24">é</span>e</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P26">N</p><p class="P29">(admin+)</p></td><td rowspan="2" style="text-align:left;width:3.893cm; " class="Tableau2_D12"><p class="P37">idem ALL</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E11"><p class="P38">Y</p></td></tr><tr><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P44">Edition (4)</p><p class="P44">DOCUMENTS</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E12"><p class="P26">N</p><p class="P29">(admin+)</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E12"><p class="P37">Y</p><p class="P31">- admission : ssi VALIDATED</p><p class="P31">- sortie : ssi TOBEARCHIVED ou ARCHIVED</p></td></tr><tr class="Tableau213"><td style="text-align:left;width:3.893cm; " class="Tableau2_A2"><p class="P68">Fiche Matériel </p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E13"><p class="P62">Y <span class="T25">(sans partie admin)</span></p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_C13"><p class="P49">Y <span class="T25">(sans partie admin)</span></p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_D13"><p class="P49">Y <span class="T25">(sans partie admin)</span></p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_E13"><p class="P62">Y</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_F13"><p class="P49">Y</p></td><td style="text-align:left;width:3.893cm; " class="Tableau2_G13"><p class="P49">Y <span class="T25">(sans partie admin)</span></p></td></tr></table><p class="P7"> </p><p class="P7"> </p><p class="P6"> </p><p class="P10">Par défaut, le superadmin a TOUS les droits</p><p class="P10"> </p><p class="Standard"><span class="T15">Conventions d'écriture </span><span class="T16">: </span></p><p class="P14"><span class="T16">- r</span><span class="T15">esp+</span><span class="T16"> = possible pour un </span><span class="T15">Responsable et plus </span><span class="T16">(responsable, admin, adminplus, et superadmin)</span></p><p class="P14"><span class="T16">- </span><span class="T15">admin+</span><span class="T16"> = possible pour un </span><span class="T15">Admin</span><span class="T16"> </span><span class="T15">et plus </span><span class="T16">(admin, adminplus, et superadmin)</span></p><p class="P16">- ...</p><p class="P16"> </p><p class="Standard"><span class="T15">Notes </span><span class="T16">:</span></p><p class="P9"> </p><ol><li><p class="P47" style="margin-left:0cm;"><span class="WW8Num8z0" style="display:block;float:left;min-width:0,635cm;">(1)</span><span class="T15">Droits en modification (edit) </span><span class="T16">:</span><span class="odfLiEnd"/> </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"/> </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"/> </p></li></ol><p class="P8"> </p><ol><li><p class="P48" style="margin-left:0cm;"><span class="WW8Num8z0" style="display:block;float:left;min-width:0,635cm;">(4)</span>Edition des documents :<span class="odfLiEnd"/> </p></li></ol><p class="P16">Admission : quand on "VALIDE" un matériel "CREATED", le statut passe en VALIDATED et le document d'admission est automatiquement édité</p><p class="P16">Sortie : quand on "ARCHIVE" un document "TOBEARCHIVED", le statut passe en ARCHIVED et le document de sortie est automatiquement édité</p><p class="P16">De plus :</p><p class="P16">- Bouton "Doc admission" affiché à partir du statut "VALIDATED"</p><p class="P16">- Bouton "Doc Sortie" affiché à partir du statut TOBEARCHIVED (et donc aussi pour ARCHIVED)</p><p class="P16">Enfin, Le doc de sortie doit être couplée avec la liste des matériels a archiver (TOBEARCHIVED) quand il y a une demande de sortie.</p><p class="P16"> </p><p class="P17"> </p><p class="P1">C - sur les différentes VUES liées au matériel</p><p class="Standard"> </p><p class="P6"><span class="T4">Page accueil </span>:</p><p class="P6"><span> Administration <span class="T20">& Administration Plus </span>voit un menu avec 2 options :</span></p><ul><li><ul><li><ul><li><p class="P51" style="margin-left:0cm;"><span class="WW8Num2z0" style="display:block;float:left;min-width:0,635cm;">.</span>« Voir les matériels à valider »<span class="odfLiEnd"/> </p></li><li><p class="P52" style="margin-left:0cm;"><span class="WW8Num2z0" style="display:block;float:left;min-width:0,635cm;">.</span>« Voir les matériels à sortir de l'inventaire »<span class="odfLiEnd"/> </p></li></ul></li></ul><p class="P52" style="margin-left:0cm;"><span class="WW8Num2z0" style="display:block;float:left;min-width:0cm"><!-- --></span><span class="T21">Responsable </span>voit un menu avec <span class="T21">3</span> options :<span class="odfLiEnd"/> </p><ul><li><ul><li><p class="P52" style="margin-left:0cm;"><span class="WW8Num2z0" style="display:block;float:left;min-width:0,635cm;">.</span>« Voir les matériels <span class="T21">de mon groupe métier</span> »<span class="odfLiEnd"/> </p></li><li><p class="P52" style="margin-left:0cm;"><span class="WW8Num2z0" style="display:block;float:left;min-width:0,635cm;">.</span>« Voir les matériels <span class="T21">de mon groupe métier à valider</span> »<span class="odfLiEnd"/> </p></li><li><p class="P52" style="margin-left:0cm;"><span class="WW8Num2z0" style="display:block;float:left;min-width:0,635cm;">.</span>« <span class="T21">Voir les suivis des matériels donc je suis responsable »</span><span class="odfLiEnd"/> </p></li></ul></li></ul></li></ul><p class="P1">Page Outils :</p><p class="P6">User n'a pas accès à cette page</p><p class="P6">Les autres ont quelques options</p><p class="P6">superadmin a ces options en plus :</p><ul><li><p class="P53" style="margin-left:0cm;"><span class="WW8Num4z0" style="display:block;float:left;min-width:0,635cm;">.</span>Configuration générale de l'application<span class="odfLiEnd"/> </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></body></html> | |
124 | 120 | \ No newline at end of file | ... | ... |
webroot/doc/userguide/ACL.odt
No preview for this file type
webroot/doc/userguide/ACL.pdf
No preview for this file type