Commit 6b84d623882b501d2d0ff23a4d80471f1c86c05a
1 parent
290e6ec2
Exists in
master
and in
1 other branch
amélioration affichage tableau stats (plus joli et lisible)
- et aussi : viré les 2 sudo à la fin de db-update => (A) Attention: Mise à jour BD ! v5.2.26-3.7.9
Showing
8 changed files
with
152 additions
and
122 deletions
Show diff stats
CHANGELOG
... | ... | @@ -523,6 +523,7 @@ TODO : |
523 | 523 | |
524 | 524 | - fusionner elem/button_add_edit et MyHelper echoActionButton... |
525 | 525 | (ne garder que elem/) |
526 | + | |
526 | 527 | - séparer elem/button_add, button_edit, button_delete, et button_tout_court (générique) |
527 | 528 | |
528 | 529 | - short_role AppController ligne 819 => généraliser |
... | ... | @@ -535,14 +536,19 @@ TODO : |
535 | 536 | |
536 | 537 | - date en orange quand garantie PRESQUE finie (< 1 an), rouge quand finie |
537 | 538 | |
538 | - | |
539 | 539 | - un champ obligatoire VIDE doit pouvoir être renseigné ! |
540 | 540 | |
541 | +- améliorer affichage tableau stats : | |
542 | + - 4415 matos en tout sur index, mais 4406 seulement dans stats | |
541 | 543 | |
542 | -======= CHANGES ======= | |
543 | 544 | |
544 | -26 | |
545 | +======= CHANGES ======= | |
545 | 546 | |
547 | +------- | |
548 | +10/11/2021 v5.2.26-3.7.9 | |
549 | + - (e) amélioration affichage tableau stats (plus joli et lisible) | |
550 | + - (i) viré les 2 sudo à la fin de db-update | |
551 | + => (A) Attention: Mise à jour BD ! | |
546 | 552 | |
547 | 553 | ------- |
548 | 554 | 08/11/2021 v5.2.24-3.7.9 |
... | ... | @@ -550,8 +556,8 @@ TODO : |
550 | 556 | - (b) Bugfix : nouveau champ "resp_credit" ajouté dans BD (il avait été oublié depuis longtemps...) |
551 | 557 | => du coup, ce champ n'était pas enregistré !!! |
552 | 558 | - (i) champ "budgets" désormais optionnel dans BD (il était obligatoire, pas cool) |
553 | - => (A) Attention: Mettre à jour la BD ! | |
554 | - | |
559 | + => (A) Attention: Mise à jour BD ! | |
560 | + | |
555 | 561 | ------- |
556 | 562 | 05/11/2021 v5.2.23-3.7.9 |
557 | 563 | - GROSSE REFACTORISATION => vues et actions génériques | ... | ... |
README.md
... | ... | @@ -52,8 +52,8 @@ Logiciel testé et validé sur les configurations suivantes : |
52 | 52 | |
53 | 53 | -------------------------------------------------------------------------------------------- |
54 | 54 | |
55 | -Date: 08/11/2021 | |
56 | -Version: v5.2.25-3.7.9 | |
55 | +Date: 10/11/2021 | |
56 | +Version: v5.2.26-3.7.9 | |
57 | 57 | |
58 | 58 | |
59 | 59 | HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes) | ... | ... |
UPDATE
1 | 1 | #!/usr/bin/env bash |
2 | 2 | |
3 | +#export WITH_DOCKER=1 | |
4 | +#[ -f ../docker-compose.yml ] && export WITH_DOCKER=0 | |
5 | + | |
3 | 6 | # $1 : Option "-c" pour CLEAN du fichier ftpf |
4 | 7 | |
5 | 8 | # Si docker et execution directe (hors conteneur) depuis le repertoire data/ (bind du repertoire docker) |
6 | 9 | # => on rappelle ce meme script avec le CLI docker puis on exit |
7 | 10 | [ -f ../docker-compose.yml ] && (docker exec -it labinvent $0 $* ; true) && exit |
11 | + | |
8 | 12 | # Execution SANS docker, ou bien AVEC docker depuis le conteneur |
13 | +#export WITH_DOCKER=0 | |
9 | 14 | echo "IN $(pwd)" |
10 | 15 | |
11 | - | |
12 | - | |
13 | - | |
14 | - | |
15 | - | |
16 | - | |
16 | +#[[ $WITH_DOCKER == 0 ]] && echo "SANS docker" | |
17 | +#[[ $WITH_DOCKER == 1 ]] && echo "AVEC docker" | |
18 | + | |
17 | 19 | cd install/ |
18 | 20 | ./update.sh $1 |
19 | 21 | ... | ... |
VERSION
... | ... | @@ -83,7 +83,7 @@ echo |
83 | 83 | # - tmp/cache : obligé d'utiliser sudo a cause des fichiers créés par le serveur web (appartiennent à _www sur Mac) |
84 | 84 | SUDO='' |
85 | 85 | which sudo > /dev/null && SUDO=sudo |
86 | -$SUDO chmod -R 777 ./tmp/cache/ | |
86 | +chmod -R 777 ./tmp/cache/ || $SUDO chmod -R 777 ./tmp/cache/ | |
87 | 87 | chmod -R 777 ./logs/ |
88 | 88 | |
89 | 89 | # On en profite pour nettoyer le cache, ca peut pas faire de mal | ... | ... |
database/update/db-update.sh
... | ... | @@ -94,9 +94,9 @@ mysql $database --user=$username --password=$password -h $host < ./script_sql/$s |
94 | 94 | rm -f ./script_sql/$sqlscript_name-build.sql |
95 | 95 | |
96 | 96 | echo "Suppression du cache (mot passe sudo eventuellement necessaire)" |
97 | -sudo rm -f ../../tmp/cache/models/* | |
97 | +rm -f ../../tmp/cache/models/* || sudo rm -f ../../tmp/cache/models/* | |
98 | 98 | # Vraiment utile ? |
99 | -sudo rm -f ../../tmp/cache/persistent/* | |
99 | +rm -f ../../tmp/cache/persistent/* || sudo rm -f ../../tmp/cache/persistent/* | |
100 | 100 | #ls -l ./script_sql/ |
101 | 101 | |
102 | 102 | # Faire ca aussi si ca suffit pas... | ... | ... |
install/update.sh
... | ... | @@ -14,6 +14,9 @@ |
14 | 14 | # (Bash Arrays : cf https://www.cyberciti.biz/faq/finding-bash-shell-array-length-elements/) |
15 | 15 | |
16 | 16 | |
17 | +#[[ $WITH_DOCKER == 0 ]] && echo "SANS docker" | |
18 | +#[[ $WITH_DOCKER == 1 ]] && echo "AVEC docker" | |
19 | + | |
17 | 20 | # Version pour MacOS si MACOS=1 |
18 | 21 | MACOS=0 |
19 | 22 | #MACOS=1 | ... | ... |
src/Template/Documents/add_edit.ctp
... | ... | @@ -149,7 +149,7 @@ if (isset($photo)) { |
149 | 149 | // et une opération pour remodifier ces fichiers peut être complexe |
150 | 150 | //echo $this->Form->control('nom', ['readonly' => !$IS_ADD]); |
151 | 151 | echo $this->Form->control('nom',[ |
152 | - 'label' => 'Nom du doc attaché', | |
152 | + 'label' => 'Nom du doc attaché (sans espace)', | |
153 | 153 | 'readonly' => !$IS_ADD |
154 | 154 | ]); |
155 | 155 | ... | ... |
src/Template/Pages/stats.ctp
1 | 1 | <?php |
2 | 2 | |
3 | + | |
3 | 4 | //use SebastianBergmann\CodeCoverage\Report\PHP; |
4 | 5 | |
5 | 6 | /* |
... | ... | @@ -59,6 +60,22 @@ function echoAsPctAndBold($nbelem, $total=null, $is_bold=false) { |
59 | 60 | } |
60 | 61 | |
61 | 62 | |
63 | +// LIGNE VIDE DE SÉPARATION | |
64 | +function displayEmptyLine() { | |
65 | + echo " | |
66 | + <tr style='height:5px ; background-color:black'> | |
67 | + <td></td> | |
68 | + <td></td> | |
69 | + <td></td> | |
70 | + <td></td> | |
71 | + <td></td> | |
72 | + <td></td> | |
73 | + <td></td> | |
74 | + <td></td> | |
75 | + <td></td> | |
76 | + </tr>"; | |
77 | +} | |
78 | + | |
62 | 79 | |
63 | 80 | //function displayStatsLine($title, $line, $suivis, $prets, $bold=false, $year_prev=null, $avg=null) { |
64 | 81 | function displayStatsLine($title, $line, $is_bold=false, $year_prev=null, $avg=null) { |
... | ... | @@ -126,6 +143,22 @@ function displayStatsLine($title, $line, $is_bold=false, $year_prev=null, $avg=n |
126 | 143 | ---------------------------------------- |
127 | 144 | --> |
128 | 145 | |
146 | +<style> | |
147 | +table.stats { | |
148 | + border: 5px solid #333; | |
149 | +} | |
150 | +table.stats td { | |
151 | + border: 2px solid #333; | |
152 | +} | |
153 | + | |
154 | +table.stats thead th { | |
155 | + border: 2px solid #333; | |
156 | + text-align: center; | |
157 | + #background-color: blue; | |
158 | + #color: white; | |
159 | +} | |
160 | +</style> | |
161 | + | |
129 | 162 | <h2> |
130 | 163 | <!-- |
131 | 164 | <i class="icon-print"></i> |
... | ... | @@ -139,26 +172,27 @@ function displayStatsLine($title, $line, $is_bold=false, $year_prev=null, $avg=n |
139 | 172 | <td><b>Prendre en compte les</b></td> |
140 | 173 | <td> |
141 | 174 | <?php |
142 | - echo $this->Form->create('Statistiques', [ | |
143 | - 'type' => 'get', | |
144 | - ]); | |
145 | - //echo '<input name="s_all_2" class="search-input" type="text" id="MaterielSAll">'; | |
146 | - echo $this->Form->control('nbyears', [ | |
175 | +echo $this->Form->create('Statistiques', [ | |
176 | + 'type' => 'get', | |
177 | +]); | |
178 | + //echo '<input name="s_all_2" class="search-input" type="text" id="MaterielSAll">'; | |
179 | + echo $this->Form->control('nbyears', [ | |
147 | 180 | 'id' => 'nby', |
148 | 181 | //'class' => 'search-input', |
149 | 182 | 'label' => '', |
150 | 183 | //'type' => 'text', |
151 | 184 | 'default' => $nbyears |
152 | - ]); | |
153 | - /* | |
154 | - echo $this->Form->submit('Chercher', [ | |
155 | - 'name' => 'MaterielSAll', | |
156 | - 'id' => 'MaterielSAll', | |
157 | - 'style' => 'margin: 0px;' | |
158 | - ]); | |
159 | - */ | |
160 | - echo $this->Form->end(); | |
185 | + ]); | |
186 | + /* | |
187 | + echo $this->Form->submit('Chercher', [ | |
188 | + 'name' => 'MaterielSAll', | |
189 | + 'id' => 'MaterielSAll', | |
190 | + 'style' => 'margin: 0px;' | |
191 | + ]); | |
192 | + */ | |
193 | +echo $this->Form->end(); | |
161 | 194 | ?> |
195 | + | |
162 | 196 | </td> |
163 | 197 | <td><b>dernières années (<?=$current_year.'-'.$year_min?>)</b></td> |
164 | 198 | </tr> |
... | ... | @@ -166,105 +200,90 @@ function displayStatsLine($title, $line, $is_bold=false, $year_prev=null, $avg=n |
166 | 200 | </p> |
167 | 201 | |
168 | 202 | |
169 | -<table border=2> | |
203 | +<table class="stats"> | |
170 | 204 | |
205 | + <!-- TITRES COLONNES sur 2 lignes --> | |
171 | 206 | <thead> |
172 | - <!-- TITRES COLONNES sur 2 lignes --> | |
173 | - <!-- | |
174 | - <tr> | |
175 | - <th> </th> | |
176 | - <th>Evolution \ N-1</th> | |
177 | - <th>Evolution \ moyenne</th> | |
178 | - <th>Matériels acquis</th> | |
179 | - <th>Validés</th> | |
180 | - <th>En demande d'archivage</th> | |
181 | - <th>Archivés</th> | |
182 | - <th>Matériels suivis</th> | |
183 | - <th>Matériels empruntés</th> | |
184 | - </tr> | |
185 | - --> | |
186 | - <tr> | |
187 | - | |
188 | - <th> </th> | |
189 | - | |
190 | - <th colspan="3" align="center">Matériels acquis</th> | |
191 | - <!-- | |
192 | - <th></th> | |
193 | - <th></th> | |
194 | - --> | |
195 | - | |
196 | - <th colspan="3">Répartition par statut</th> | |
197 | - <!-- | |
198 | - <th></th> | |
199 | - <th></th> | |
200 | - --> | |
201 | - | |
202 | - <th colspan="2">Suivis et Emprunts</th> | |
203 | - | |
204 | - </tr> | |
205 | - | |
206 | - <tr> | |
207 | - | |
208 | - <th> </th> | |
209 | - | |
210 | - <th>Evol. \ N-1</th> | |
211 | - <th>Evol. \ moyenne</th> | |
212 | - <th>Total</th> | |
213 | - | |
214 | - <th>Validés</th> | |
215 | - <th>A archiver</th> | |
216 | - <th>Archivés</th> | |
217 | - | |
218 | - <th>Matériels suivis</th> | |
219 | - <th>Matériels prêtés</th> | |
220 | - | |
221 | - </tr> | |
207 | + | |
208 | + <!-- | |
209 | + <tr> | |
210 | + <th> </th> | |
211 | + <th>Evolution \ N-1</th> | |
212 | + <th>Evolution \ moyenne</th> | |
213 | + <th>Matériels acquis</th> | |
214 | + <th>Validés</th> | |
215 | + <th>En demande d'archivage</th> | |
216 | + <th>Archivés</th> | |
217 | + <th>Matériels suivis</th> | |
218 | + <th>Matériels empruntés</th> | |
219 | + </tr> | |
220 | + --> | |
221 | + <tr> | |
222 | + <th> </th> | |
223 | + <th colspan="3" align="center">Matériels acquis</th> | |
224 | + <!-- | |
225 | + <th></th> | |
226 | + <th></th> | |
227 | + --> | |
228 | + <th colspan="3">Répartition par statut</th> | |
229 | + <!-- | |
230 | + <th></th> | |
231 | + <th></th> | |
232 | + --> | |
233 | + <th colspan="2">Suivis et Emprunts</th> | |
234 | + </tr> | |
235 | + | |
236 | + <tr> | |
237 | + <th> </th> | |
238 | + | |
239 | + <th>Evol. \ N-1</th> | |
240 | + <th>Evol. \ moyenne</th> | |
241 | + <th>Total</th> | |
242 | + | |
243 | + <th>Validés</th> | |
244 | + <th>A archiver</th> | |
245 | + <th>Archivés</th> | |
246 | + | |
247 | + <th>Matériels suivis</th> | |
248 | + <th>Matériels prêtés</th> | |
249 | + </tr> | |
222 | 250 | |
223 | 251 | </thead> |
224 | 252 | |
225 | 253 | <!-- LIGNES DATA --> |
226 | 254 | <tbody> |
227 | - <?php | |
228 | - | |
229 | - displayStatsLine("Moyenne annuelle", $avg, true); | |
230 | - //displayStatsLine("Moyenne annuelle (sur les $nbyears dernières années)", $avg, true); | |
231 | - //displayStatsLine("Moyenne annuelle (sur toutes les années sauf 1ère et dernière)", $avg, true); | |
232 | - | |
233 | - displayStatsLine('Total Général', $tot, true); | |
234 | - //displayStatsLine('Total Sauf 1ère et dernière années', $tot2, true); | |
235 | 255 | |
236 | - ?> | |
237 | - | |
238 | - <!-- LIGNE VIDE DE SÉPARATION --> | |
239 | - <tr> | |
240 | - <td></td> | |
241 | - <td></td> | |
242 | - <td></td> | |
243 | - <td></td> | |
244 | - <td></td> | |
245 | - <td></td> | |
246 | - <td></td> | |
247 | - <td></td> | |
248 | - </tr> | |
249 | - | |
250 | - <!-- ANNÉE PAR ANNÉE (1 ligne par année) --> | |
251 | - <?php | |
252 | - /* | |
253 | - foreach ($years as $y=>$val) { | |
254 | - $year_title = $y; | |
255 | - if ($y==$year) $year_title = "Année en cours ($y)"; | |
256 | - displayStatsLine($year_title, $val); | |
257 | - } | |
258 | - */ | |
259 | - for ($y=$current_year ; $y>=$year_min ; $y--) { | |
260 | - $val = $years[$y]; | |
261 | - $year_title = $y; | |
262 | - if ($y==$current_year) $year_title = "Année en cours ($y)"; | |
263 | - $year_prev = $y==$year_min ? null : $years[$y-1]; | |
264 | - displayStatsLine($year_title, $val, false, $year_prev, $avg); | |
265 | - } | |
266 | - | |
267 | - ?> | |
256 | + <?php | |
257 | + | |
258 | + displayEmptyLine(); | |
259 | + | |
260 | + displayStatsLine("Moyenne annuelle", $avg, true); | |
261 | + //displayStatsLine("Moyenne annuelle (sur les $nbyears dernières années)", $avg, true); | |
262 | + //displayStatsLine("Moyenne annuelle (sur toutes les années sauf 1ère et dernière)", $avg, true); | |
263 | + | |
264 | + displayStatsLine('Total Général', $tot, true); | |
265 | + //displayStatsLine('Total Sauf 1ère et dernière années', $tot2, true); | |
266 | + | |
267 | + // LIGNE VIDE DE SÉPARATION | |
268 | + displayEmptyLine(); | |
269 | + | |
270 | + // DATA, ANNÉE PAR ANNÉE (1 ligne par année) | |
271 | + /* | |
272 | + foreach ($years as $y=>$val) { | |
273 | + $year_title = $y; | |
274 | + if ($y==$year) $year_title = "Année en cours ($y)"; | |
275 | + displayStatsLine($year_title, $val); | |
276 | + } | |
277 | + */ | |
278 | + for ($y=$current_year ; $y>=$year_min ; $y--) { | |
279 | + $val = $years[$y]; | |
280 | + $year_title = $y; | |
281 | + if ($y==$current_year) $year_title = "Année en cours ($y)"; | |
282 | + $year_prev = $y==$year_min ? null : $years[$y-1]; | |
283 | + displayStatsLine($year_title, $val, false, $year_prev, $avg); | |
284 | + } | |
285 | + | |
286 | + ?> | |
268 | 287 | |
269 | 288 | </tbody> |
270 | 289 | ... | ... |