Commit 6b84d623882b501d2d0ff23a4d80471f1c86c05a

Authored by Etienne Pallier
1 parent 290e6ec2
Exists in master and in 1 other branch dev

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
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 &lt; ./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  
... ...