Commit d380f706f09b61b3029e06406e0a8c25df03c154

Authored by Etienne Pallier
2 parents a8bd4118 a85324b1
Exists in master and in 1 other branch dev

Merge dev branch into master branch (vv3.7.9.62)

Showing 3 changed files with 166 additions and 38 deletions   Show diff stats
CHANGES.txt
1 1 CHANGEMENTS
2 2  
  3 +
3 4 <i>Liste plus détaillée des évolutions : https://gitlab.irap.omp.eu/epallier/labinvent/commits/master</i>
4 5  
5 6 TODO: - Nouvelle page web "Statistiques mensuelles" (/pages/stats)
6 7  
7 8  
8   ------------------------------------------------------------------------------------------------------------
9 9  
10 10  
11 11  
  12 +======= NEWS =======
  13 +
  14 +
  15 +-------
  16 +16/07/2020 NEWS#2 :
  17 +
  18 +- Nouvelle page web pour visualiser les changements faits sur le logiciel (cette même page que vous visualisez actuellement) : /pages/changes
  19 +
  20 +- Améliorations de la page qui liste les matériels (/materiels/index) :
  21 + => nouveau filtre "age" : affichage des matériels par tranche d'âge (par défaut "moins de 5 ans", mais aussi 5-10 ans, 10-15 ans...)
  22 + => colorisation selon statut du matériel (CREATED => bleu, VALIDATED => vert, TBA => orange, ARCHIVED => rouge)
  23 +
  24 +- Simplification du type de matériel (administratif, technique) : il n'y a désormais qu'UNE SEULE case à cocher qui s'appelle "matériel technique"
  25 + => si cette case n'est pas cochée, le matériel est donc "inventoriable" et le prix doit alors être supérieur à 1000E
  26 +
  27 +- Mode "nolimit" pour le profil "superadmin" activable depuis la page de configuration (/configurations/view) : permet de donner (temporairement) plus de droits au super administrateur ("Superadmin a tous les droits", depuis menu Tools)
  28 +
  29 +
  30 +-------
  31 +06/07/2020 NEWS#1 :
  32 +
  33 +Depuis mars 2020, le logiciel est devenu "mobile-friendly", il se présente donc correctement aussi bien sur l'écran d'un pc classique que sur une tablette ou un smarphone.
  34 +
  35 +La version du logiciel (actuellement 3.7.9.54) se calque désormais sur celle du framework sous-jacent utilisé (CakePhp), c'est à dire v3.7.9, en attendant un passage à la version 4 (php7 only), qui pourrait avoir lieu avant la fin de l'année...
  36 +Il est toujours compatible avec Php 5.6, mais est prioritairement axé sur Php 7 et tournera bientôt exclusivement avec cette dernière version.
  37 +
  38 +Outre ces changements, voici d'autres changements importants :
  39 +
  40 +- Installation guidée via la simple commande "INSTALLATION"
  41 +
  42 +- Mise à jour de plus en plus simple via la simple commande "UPDATE" (met à jour l'ensemble du logiciel : le code source, la base de données, et les plugins)
  43 +
  44 +- Affichage de la version de tous les composants utilisés via la simple commande "VERSION"
  45 +
  46 +- La plupart des paramètres du logiciel sont désormais configurables via une page web
  47 +
  48 +- Nouveau système de gestion des autorisations par profil : cette gestion est désormais beaucoup plus centralisée et permet aussi à chaque laboratoire d'ajuster les règles selon sa convenance
  49 +(NB: cette configuration ne se fait pas encore via une page web (ça viendra), mais directement dans le code source)
  50 +
  51 +- Nouvelle page web qui affiche toutes les autorisations actuelles (/pages/acls)
  52 +
  53 +- Nouvelle page web qui affiche les logs applicatifs (/pages/logs) : cela permet notamment de suivre les actions effectuées par les utilisateurs (historique de "qui a fait quoi"), et de voir s'il y a un problème quelconque sur le serveur
  54 +
  55 +- Renforcement important des tests pour assurer la qualité du logiciel (lancés via la simple commande "TESTS")
  56 +
  57 +- Amélioration importante de la documentation technique en ligne : https://tinyurl.com/labinvent
  58 +
  59 +- Une VM linux (Ubuntu) est désormais disponible pour faciliter le déploiement
  60 +
  61 +
  62 +
  63 +
  64 +
  65 +======= CHANGES =======
  66 +
12 67 -------
13   -16/07/2020 v3.7.9.61 (EP)
  68 +16/07/2020 v3.7.9.61-62 (EP)
14 69 - (e) Amélioration importante de la nouvelle page web "Changements" (/pages/changes)
15 70 - (b) Bugfix "sauf ARCHIVED" dans materiels/index/ (pour profils user et resp)
16 71 - (b) bugfix tests car maintenant materiels/index/ ne renvoit que les materiels de - 5 ans !!
17 72 - (i) Grosse amelioration tests liés au numéro inventaire incrémenté de 1 et au nb de matériels trouvés dans vue index (bien + souple qu'avant)
18 73 - (i) Grosse amelioration tests liés à la recherche de matériels testFind (bien + souple qu'avant)
  74 + - (b) bugfix accès vue configuration
  75 + - (e) Ajout de la section "NEWS" dans la page "Changements" (/pages/changes)
19 76  
20 77 -------
21 78 13/07/2020 v3.7.9.60 (EP)
... ... @@ -46,7 +103,7 @@ TODO: - Nouvelle page web &quot;Statistiques mensuelles&quot; (/pages/stats)
46 103  
47 104 -------
48 105 06/07/2020 v3.7.9.54-55 (EP)
49   - - Bugfix test SurCategories : marche maintenant sur php5 et php7
  106 + - (b) Bugfix test SurCategories : marche maintenant sur php5 et php7
50 107 - (e) Fichier LICENSE (AGPL)
51 108 - (e) Conditions d'utilisation à accepter lors de l'installation
52 109 - (i) script ./INSTALLATION
... ...
README.md
... ... @@ -43,7 +43,7 @@ Logiciel testé et validé sur les configurations suivantes :
43 43 --------------------------------------------------------------------------------------------
44 44  
45 45 Date: 16/07/2020
46   -Version: 3.7.9.61
  46 +Version: 3.7.9.62
47 47  
48 48  
49 49 HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes)
... ...
src/Template/Pages/changes.ctp
1 1 <?php
2   -// parameters passed by controller
  2 +
  3 +// Parameters passed by controller
  4 +// ???...
  5 +
  6 +
  7 +// On lit le fichier /WWWROOT/../CHANGES.txt
  8 +const EMPTY_LINE = "\n"; // Attention, '\n' ne marche pas... seulement "\n"
  9 +const NEW_SECTION = "======= ";
  10 +const NEW_BLOCK = "-------\n";
  11 +const SECTION_NEWS = "======= NEWS =======\n";
  12 +const SECTION_CHANGES = "======= CHANGES =======\n";
  13 +
  14 +/*
  15 + const IMPORTANT1 = '- (e)';
  16 + const IMPORTANT2 = '- (i)';
  17 + const IMPORTANT3 = '- (b)';
  18 + */
  19 +const IMPORTANT = [
  20 + '- (e)' => 'green',
  21 + '- (i)' => 'orange',
  22 + '- (b)' => 'red'
  23 +];
  24 +
  25 +
  26 +function is_new_section($line) {
  27 + return strpos($line, NEW_SECTION) === 0;
  28 +}
  29 +
  30 +
  31 +
  32 +$wwwroot_dir = new Cake\Filesystem\Folder(WWW_ROOT);
  33 +$fname = 'CHANGES.txt';
  34 +$fpath = $wwwroot_dir->pwd() . DS . '..' . DS . $fname;
  35 +$nblines_to_read = 5000;
  36 +
  37 +$f = fopen($fpath, "r") or die("Le fichier /$fname n'existe pas... !");
  38 +
  39 +
3 40 ?>
  41 +
  42 +
  43 +
  44 +
  45 +
  46 +
  47 +<!--
  48 +----------------------------------------
  49 +-------------- PAGE WEB HTML -----------
  50 +----------------------------------------
  51 +-->
  52 +
4 53 <h2>
5 54 <!--
6 55 <i class="icon-print"></i>
... ... @@ -16,49 +65,69 @@
16 65 <li>En <b style='color:red'>rouge</b>, les corrections de bug (bugfixes)</li>
17 66 </ul>
18 67 </p>
19   -<br>
20   -<br>
21   -<br>
22 68  
23   -
24   -
  69 +<hr />
25 70  
26   -<?php
  71 +<p>
  72 +<ul>
  73 +<li><a href='#news'>LES GRANDS CHANGEMENTS (NEWS)</a></li>
  74 +<li><a href='#changes'>TOUS LES CHANGEMENTS (plus de détail)</a></li>
  75 +</ul>
  76 +</p>
27 77  
28   -// On lit le fichier /WWWROOT/../CHANGES.txt
29   -const EMPTY_LINE = "\n"; // Attention, '\n' ne marche pas... seulement "\n"
30   -const NEW_SECTION = "-------\n";
31   -/*
32   -const IMPORTANT1 = '- (e)';
33   -const IMPORTANT2 = '- (i)';
34   -const IMPORTANT3 = '- (b)';
35   -*/
36   -const IMPORTANT = [
37   - '- (e)' => 'green',
38   - '- (i)' => 'orange',
39   - '- (b)' => 'red'
40   -];
  78 +<hr />
41 79  
42   -$wwwroot_dir = new Cake\Filesystem\Folder(WWW_ROOT);
43   -$fname = 'CHANGES.txt';
44   -$fpath = $wwwroot_dir->pwd() . DS . '..' . DS . $fname;
45   -$nblines_to_read = 5000;
46 80  
47   -$f = fopen($fpath, "r") or die("Le fichier /$fname n'existe pas... !");
  81 +<?php
  82 +
48 83  
49   -// On zappe jqa début d'une première section
50   -$line = '';
51   -while ($line != NEW_SECTION) $line = fgets($f);
  84 +// 1) On zappe jqa début de la première section (NEWS)
  85 +$line = ''; while ($line != SECTION_NEWS) $line = fgets($f);
52 86  
  87 +// 2) Lecture et affichage section NEWS (les grandes nouveautés)
  88 +echo '<a id="news">';
  89 +echo "<h3>LES GRANDS CHANGEMENTS (NEWS)</h3>";
  90 +echo '</a>';
  91 +// On zappe jqa la première section
  92 +$line = ''; while ($line != NEW_BLOCK) $line = fgets($f);
53 93 while(!feof($f)) {
  94 + if (is_new_section($line)) break;
54 95 // Traitement d'une section : on lit jqa ligne vide
55   - $line = fgets($f);
56   - echo "<b>$line</b><br>";
57   - //if ($line == NEW_SECTION) echo "OUI";
58   - //while (!feof($f) && $line!=NEW_SECTION) {
  96 + $title = fgets($f);
  97 + echo "<b>$title</b><br>";
  98 + //if ($line == NEW_BLOCK) echo "OUI";
  99 + //while (!feof($f) && $line!=NEW_BLOCK) {
  100 + // Afficher chaque ligne du bloc
59 101 while (true) {
60 102 $line = fgets($f);
61   - if (feof($f) || $line==NEW_SECTION) break;
  103 + if ( feof($f) || is_new_section($line) || $line==NEW_BLOCK ) break;
  104 + echo $line;
  105 + echo "<br>";
  106 + }
  107 +}
  108 +echo '<hr />';
  109 +
  110 +// 3) Lecture et affichage section CHANGES (changements plus détaillés)
  111 +echo '<a id="changes">';
  112 +echo "<h3>TOUS LES CHANGEMENTS</h3>";
  113 +echo '</a>';
  114 +echo "<i>Liste encore plus détaillée des évolutions : <a href='https://gitlab.irap.omp.eu/epallier/labinvent/commits/master'>GITLAB</a></i>";
  115 +echo '<br />';
  116 +echo '<br />';
  117 +// On zappe jqa la première section
  118 +$line = ''; while ($line != NEW_BLOCK) $line = fgets($f);
  119 +while(!feof($f)) {
  120 + if (is_new_section($line)) break;
  121 + // Traitement d'une section : on lit jqa ligne vide
  122 + $title = fgets($f);
  123 + echo "<b>$title</b><br>";
  124 + //if ($line == NEW_BLOCK) echo "OUI";
  125 + //while (!feof($f) && $line!=NEW_BLOCK) {
  126 + // Afficher chaque ligne du bloc
  127 + while (true) {
  128 + $line = fgets($f);
  129 + if ( feof($f) || is_new_section($line) || $line==NEW_BLOCK ) break;
  130 + if (feof($f) || $line==NEW_BLOCK) break;
62 131 foreach (array_keys(IMPORTANT) as $code) {
63 132 $pos = strpos($line, $code);
64 133 if ($pos) break;
... ... @@ -71,7 +140,9 @@ while(!feof($f)) {
71 140 echo "<br>";
72 141 }
73 142 }
74   -
  143 +
  144 +
  145 +// END
75 146 fclose($f);
76 147  
77 148  
... ...