Commit b9dee2cac272651f85b7bc56f0bc8f2368290a12
1 parent
e5ded94f
Exists in
master
and in
1 other branch
bugfix test date en cours...
Showing
4 changed files
with
95 additions
and
18 deletions
Show diff stats
CHANGES.txt
@@ -74,6 +74,11 @@ Outre ces changements, voici d'autres changements importants : | @@ -74,6 +74,11 @@ Outre ces changements, voici d'autres changements importants : | ||
74 | ======= CHANGES ======= | 74 | ======= CHANGES ======= |
75 | 75 | ||
76 | ------- | 76 | ------- |
77 | +30/07/2020 v3.7.9.78 (EP) | ||
78 | + - (i) Meilleur résilience (reprise après crash) du script UPDATE avec fichier ftpf (files_to_process.txt file) | ||
79 | + => permet de s'assurer que les script sql non exécutés (à cause crash ou stop script) le seront à l'itération suivante | ||
80 | + | ||
81 | +------- | ||
77 | 29/07/2020 v3.7.9.77 (EP) | 82 | 29/07/2020 v3.7.9.77 (EP) |
78 | - Bugfix Page "Statistiques" | 83 | - Bugfix Page "Statistiques" |
79 | - (e) Nouveau champ recherche générale des matériels sur page liste des matériels (/materiels/index) : plus intuitif, plus pratique, plus efficace | 84 | - (e) Nouveau champ recherche générale des matériels sur page liste des matériels (/materiels/index) : plus intuitif, plus pratique, plus efficace |
README.md
@@ -42,8 +42,8 @@ Logiciel testé et validé sur les configurations suivantes : | @@ -42,8 +42,8 @@ Logiciel testé et validé sur les configurations suivantes : | ||
42 | 42 | ||
43 | -------------------------------------------------------------------------------------------- | 43 | -------------------------------------------------------------------------------------------- |
44 | 44 | ||
45 | -Date: 29/07/2020 | ||
46 | -Version: 3.7.9.77 | 45 | +Date: 30/07/2020 |
46 | +Version: 3.7.9.78 | ||
47 | 47 | ||
48 | 48 | ||
49 | HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes) | 49 | HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes) |
install/update.sh
@@ -48,7 +48,11 @@ echo | @@ -48,7 +48,11 @@ echo | ||
48 | 48 | ||
49 | # TEST only | 49 | # TEST only |
50 | #[[ $TEST == 1 ]] && (rm ../database/update/test.txt ; rm ../database/update/db-update-2014-*.sh ; touch ../database/update/db-update-2014-08-23.sh) | 50 | #[[ $TEST == 1 ]] && (rm ../database/update/test.txt ; rm ../database/update/db-update-2014-*.sh ; touch ../database/update/db-update-2014-08-23.sh) |
51 | -[[ $TEST == 1 ]] && (rm $db_update_scripts_folder/test.txt ; rm $db_update_scripts_folder/db-update-2014-*.sql ; touch $db_update_scripts_folder/db-update-2014-08-23.sql) | 51 | +if [[ $TEST == 1 ]] ; then |
52 | + echo "(TEST MODE)" | ||
53 | + echo "Suppression des fichiers de test créés précédemment (si besoin)" | ||
54 | + (rm $db_update_scripts_folder/test.txt ; rm $db_update_scripts_folder/db-update-2014-*.sql ; touch $db_update_scripts_folder/db-update-2014-08-23.sql) | ||
55 | +fi | ||
52 | #mv ../database/update/db-update-2019-01-12.sh /tmp/ | 56 | #mv ../database/update/db-update-2019-01-12.sh /tmp/ |
53 | 57 | ||
54 | # ---------------------------------------- | 58 | # ---------------------------------------- |
@@ -61,7 +65,6 @@ cp -fp ../composer.json /tmp/ || abort | @@ -61,7 +65,6 @@ cp -fp ../composer.json /tmp/ || abort | ||
61 | ######[[ $TEST == 1 ]] && cp ../composer.lock /tmp/composer.json | 65 | ######[[ $TEST == 1 ]] && cp ../composer.lock /tmp/composer.json |
62 | composer_json_prev=/tmp/composer.json | 66 | composer_json_prev=/tmp/composer.json |
63 | 67 | ||
64 | -# b) Sauvegarde du dossier database/update/ | ||
65 | # b) Sauvegarde du dossier database/update/script_sql/ | 68 | # b) Sauvegarde du dossier database/update/script_sql/ |
66 | #db_update_scripts_before=( "key1" "key2" "key3" "key4" "key5" "key6" "key7" "key8" "key9" "key10" ) | 69 | #db_update_scripts_before=( "key1" "key2" "key3" "key4" "key5" "key6" "key7" "key8" "key9" "key10" ) |
67 | rm -rf $db_update_scripts_folder_tmp/ || abort | 70 | rm -rf $db_update_scripts_folder_tmp/ || abort |
@@ -176,7 +179,52 @@ db_update_scripts_new=$( echo ${db_update_scripts_before[@]} ${db_update_scripts | @@ -176,7 +179,52 @@ db_update_scripts_new=$( echo ${db_update_scripts_before[@]} ${db_update_scripts | ||
176 | #echo ${#db_update_scripts_new[@]} ; echo ${db_update_scripts_new[@]} | 179 | #echo ${#db_update_scripts_new[@]} ; echo ${db_update_scripts_new[@]} |
177 | # Pas de nouveau script de mise à jour BD à exécuter => exit | 180 | # Pas de nouveau script de mise à jour BD à exécuter => exit |
178 | #[[ $db_update_scripts_new == '' ]] && echo "==> PAS NÉCESSAIRE" ; exit 0 | 181 | #[[ $db_update_scripts_new == '' ]] && echo "==> PAS NÉCESSAIRE" ; exit 0 |
182 | + | ||
183 | +# On ajoute les anciens fichiers (de l'itération précédente) restant à traiter | ||
184 | +echo "- (a) Fichiers restant à traiter de l'itération précédente" | ||
185 | +#cat $ftpf | ||
186 | +if [[ $TEST == 1 ]] ; then | ||
187 | + echo "db-update-2014-08-23.sql" > $ftpf | ||
188 | + echo "db-update-2014-08-24.sql" >> $ftpf | ||
189 | + echo "db-update-2014-08-26.sql" >> $ftpf | ||
190 | + db_update_scripts_new+=("db-update-2014-08-10.sql") | ||
191 | +fi | ||
192 | +db_update_scripts_old=$(cat $ftpf) | ||
193 | +#echo $db_update_scripts_old | ||
194 | +echo ${db_update_scripts_old[*]} | ||
195 | + | ||
196 | +echo "- (b) Nouveaux fichiers à traiter (pour cette itération)" | ||
197 | +#echo ${db_update_scripts_new[@]} | ||
198 | +echo ${db_update_scripts_new[*]} | ||
199 | + | ||
200 | +# Ensemble des fichiers à traiter (anciens || nouveaux) : anciens UNION nouveaux (fusion sans doublon)" | ||
201 | +echo "- (c) Ensemble des fichiers à traiter (a + b)" | ||
202 | +declare -a db_update_scripts | ||
203 | +#[[ " ${a[@]} " =~ " ${val} " ]] && echo "true" || echo "false | ||
204 | +# foreach old script, add it to array db_update_scripts (only if not duplicate) | ||
205 | +for db_update_script_old in ${db_update_scripts_old[*]} ; do | ||
206 | + if [[ ! "${db_update_scripts_new[*]}" =~ "${db_update_script_old}" ]] ; then | ||
207 | + db_update_scripts_new+=($db_update_script_old) || abort | ||
208 | + fi | ||
209 | +done | ||
210 | +db_update_scripts_new_tmp=$( echo ${db_update_scripts_new[*]} | tr ' ' '\n' | sort ) || abort | ||
211 | +db_update_scripts_new=(${db_update_scripts_new_tmp[*]}) | ||
212 | +#echo ${db_update_scripts_new[*]} | ||
213 | + | ||
214 | + | ||
215 | +# On sauve les noms des nouveaux fichiers à traiter dans le fichier ftpf (MERGE) | ||
216 | +# D'abord, on le vide | ||
217 | +cat /dev/null > $ftpf | ||
218 | +# Puis, on le remplit | ||
219 | +for db_update_script_new in ${db_update_scripts_new[*]} ; do | ||
220 | + ###echo $db_update_script_new >> $ftpf | ||
221 | + echo "" | ||
222 | +done | ||
223 | + | ||
224 | +# Si ftpf est vide, rien à faire, on stoppe | ||
179 | if [[ $db_update_scripts_new == '' ]] ; then | 225 | if [[ $db_update_scripts_new == '' ]] ; then |
226 | +#if [ ! -s $ftpf ] ; then | ||
227 | + #echo "Le fichier ftpf est vide" | ||
180 | echo "==> PAS NÉCESSAIRE" | 228 | echo "==> PAS NÉCESSAIRE" |
181 | echo | 229 | echo |
182 | exit 0 | 230 | exit 0 |
@@ -187,8 +235,10 @@ fi | @@ -187,8 +235,10 @@ fi | ||
187 | 235 | ||
188 | # b) Mise a jour de la BD | 236 | # b) Mise a jour de la BD |
189 | 237 | ||
190 | -echo "Voici le(s) script(s) à exécuter :" | ||
191 | -echo ${db_update_scripts_new[@]} | 238 | +#echo "Voici le(s) script(s) à exécuter :" |
239 | +#cat $ftpf | ||
240 | +#echo $db_update_scripts_new | ||
241 | +echo ${db_update_scripts_new[*]} | ||
192 | # Remove files that were DELETED by "git pull" | 242 | # Remove files that were DELETED by "git pull" |
193 | for db_update_script_new in ${db_update_scripts_new[@]} ; do | 243 | for db_update_script_new in ${db_update_scripts_new[@]} ; do |
194 | # [[ ! -f ../database/update/$db_update_script_new ]] && echo "$db_update_script_new sera ignoré car supprimé par le 'git pull'" # TODO: supprimer cet element du tableau | 244 | # [[ ! -f ../database/update/$db_update_script_new ]] && echo "$db_update_script_new sera ignoré car supprimé par le 'git pull'" # TODO: supprimer cet element du tableau |
@@ -196,20 +246,32 @@ for db_update_script_new in ${db_update_scripts_new[@]} ; do | @@ -196,20 +246,32 @@ for db_update_script_new in ${db_update_scripts_new[@]} ; do | ||
196 | done | 246 | done |
197 | # On va dans le dossier database/update/ : | 247 | # On va dans le dossier database/update/ : |
198 | #cd $db_update_scripts_folder/ || abort | 248 | #cd $db_update_scripts_folder/ || abort |
249 | +#echo "* Exécuter ces scripts SQL (o/n) ? [o]" | ||
250 | +#read do_it ; [[ -z $do_it ]] && do_it="o" | ||
251 | +#echo $do_it | ||
252 | +#[[ $do_it != "o" ]] && exit 0 | ||
253 | + | ||
254 | +#echo "go on" | ||
255 | +#exit | ||
256 | + | ||
199 | cd $db_update_scripts_folder/../ || abort | 257 | cd $db_update_scripts_folder/../ || abort |
200 | for db_update_script_new in ${db_update_scripts_new[@]} ; do | 258 | for db_update_script_new in ${db_update_scripts_new[@]} ; do |
201 | # Ignorer les fichiers supprimés par le "git pull" | 259 | # Ignorer les fichiers supprimés par le "git pull" |
202 | #[[ ! -f $db_update_script_new ]] && continue | 260 | #[[ ! -f $db_update_script_new ]] && continue |
203 | - [[ ! -f script_sql/$db_update_script_new ]] && continue | ||
204 | - echo ; echo | ||
205 | - #echo "- Execution du script de mise à jour de la BD $db_update_scripts_folder/$db_update_script_new (o/n) ? [o]" | ||
206 | - echo "- Execution du script de mise à jour de la BD $db_update_scripts_folder/$db_update_script_new" | ||
207 | - #read do_it ; [[ -z $do_it ]] && do_it="o" ; echo $do_it | ||
208 | - #if [[ $do_it == "o" ]] ; then | ||
209 | - #ls -l ./$db_update_script_new_ || abort | ||
210 | - #./$db_update_script_new || abort | ||
211 | - ./db-update.sh script_sql/$db_update_script_new || abort | ||
212 | - #fi | 261 | + #[[ ! -f script_sql/$db_update_script_new ]] && continue |
262 | + if [[ -f script_sql/$db_update_script_new ]] ; then | ||
263 | + echo ; echo | ||
264 | + #echo "- Execution du script de mise à jour de la BD $db_update_scripts_folder/$db_update_script_new (o/n) ? [o]" | ||
265 | + echo "- Execution du script de mise à jour de la BD $db_update_scripts_folder/$db_update_script_new" | ||
266 | + #read do_it ; [[ -z $do_it ]] && do_it="o" ; echo $do_it | ||
267 | + #if [[ $do_it == "o" ]] ; then | ||
268 | + #ls -l ./$db_update_script_new_ || abort | ||
269 | + #./$db_update_script_new || abort | ||
270 | + ./db-update.sh script_sql/$db_update_script_new || abort | ||
271 | + #fi | ||
272 | + fi | ||
273 | + # On supprime le fichier traité de $ftpf | ||
274 | + # TODO: | ||
213 | done | 275 | done |
214 | #[[ $TEST == 1 ]] && (rm test.txt ; rm db-update-2014-*.sh) | 276 | #[[ $TEST == 1 ]] && (rm test.txt ; rm db-update-2014-*.sh) |
215 | [[ $TEST == 1 ]] && (rm script_sql/test.txt ; rm script_sql/db-update-2014-*.sql) | 277 | [[ $TEST == 1 ]] && (rm script_sql/test.txt ; rm script_sql/db-update-2014-*.sql) |
tests/TestCase/Controller/MaterielsControllerTest.php
@@ -2566,7 +2566,11 @@ class MaterielsControllerTest extends General { | @@ -2566,7 +2566,11 @@ class MaterielsControllerTest extends General { | ||
2566 | //debug($_SESSION['Flash']); | 2566 | //debug($_SESSION['Flash']); |
2567 | $flash_message = isset($_SESSION['Flash']['flash']) ? $_SESSION['Flash']['flash'][0]['message'] : []; | 2567 | $flash_message = isset($_SESSION['Flash']['flash']) ? $_SESSION['Flash']['flash'][0]['message'] : []; |
2568 | //debug($flash_message); | 2568 | //debug($flash_message); |
2569 | - if ($SUCCESS && $expected_flash_message) $this->assertTrue($flash_message != [], "Pas de message flash alors qu'il devrait y en avoir un !"); | 2569 | + if ($SUCCESS && $expected_flash_message) { |
2570 | + debug($expected_flash_message); | ||
2571 | + debug($flash_message); | ||
2572 | + $this->assertTrue($flash_message != [], "Pas de message flash alors qu'il devrait y en avoir un !"); | ||
2573 | + } | ||
2570 | if ($flash_message) { | 2574 | if ($flash_message) { |
2571 | // Assert a flash message in the 'flash' key. | 2575 | // Assert a flash message in the 'flash' key. |
2572 | // Test message partiel | 2576 | // Test message partiel |
@@ -2596,7 +2600,7 @@ class MaterielsControllerTest extends General { | @@ -2596,7 +2600,7 @@ class MaterielsControllerTest extends General { | ||
2596 | //$full_action = "/materiels/$action_link"; | 2600 | //$full_action = "/materiels/$action_link"; |
2597 | $full_action = "/$controller/$action_link"; | 2601 | $full_action = "/$controller/$action_link"; |
2598 | if ($id) $full_action .= "/$id"; | 2602 | if ($id) $full_action .= "/$id"; |
2599 | - //debug($full_action); | 2603 | + debug($full_action); |
2600 | //debug($data); | 2604 | //debug($data); |
2601 | $this->post($full_action, $data); | 2605 | $this->post($full_action, $data); |
2602 | //if ($action =='statusValidated') return; | 2606 | //if ($action =='statusValidated') return; |
@@ -2759,6 +2763,7 @@ class MaterielsControllerTest extends General { | @@ -2759,6 +2763,7 @@ class MaterielsControllerTest extends General { | ||
2759 | //$d2 = 'date_reception'; | 2763 | //$d2 = 'date_reception'; |
2760 | $d1 = $d[0]; | 2764 | $d1 = $d[0]; |
2761 | $d2 = $d[1]; | 2765 | $d2 = $d[1]; |
2766 | + | ||
2762 | // - date (reception) < date acq => KO | 2767 | // - date (reception) < date acq => KO |
2763 | $date = $yesterday = new \DateTime('-1 days',$tz); | 2768 | $date = $yesterday = new \DateTime('-1 days',$tz); |
2764 | /* | 2769 | /* |
@@ -2771,6 +2776,7 @@ class MaterielsControllerTest extends General { | @@ -2771,6 +2776,7 @@ class MaterielsControllerTest extends General { | ||
2771 | ]; | 2776 | ]; |
2772 | $i++; debug("- test $i.a"); | 2777 | $i++; debug("- test $i.a"); |
2773 | $this->_doActionAndCheckResult($action, $id, FALSE, $new_data); | 2778 | $this->_doActionAndCheckResult($action, $id, FALSE, $new_data); |
2779 | + | ||
2774 | // - date (reception) = date acq => OK | 2780 | // - date (reception) = date acq => OK |
2775 | $date = $today; | 2781 | $date = $today; |
2776 | $new_data = [ | 2782 | $new_data = [ |
@@ -2779,6 +2785,7 @@ class MaterielsControllerTest extends General { | @@ -2779,6 +2785,7 @@ class MaterielsControllerTest extends General { | ||
2779 | ]; | 2785 | ]; |
2780 | $i++; debug("- test $i.b"); | 2786 | $i++; debug("- test $i.b"); |
2781 | $this->_doActionAndCheckResult($action, $id, TRUE, $new_data); | 2787 | $this->_doActionAndCheckResult($action, $id, TRUE, $new_data); |
2788 | + | ||
2782 | // - date (reception) > date_acq (jqa MAX_DIFF - 1 jour) => OK... | 2789 | // - date (reception) > date_acq (jqa MAX_DIFF - 1 jour) => OK... |
2783 | /* | 2790 | /* |
2784 | $far = new \DateTime('now',$tz); | 2791 | $far = new \DateTime('now',$tz); |
@@ -2791,8 +2798,10 @@ class MaterielsControllerTest extends General { | @@ -2791,8 +2798,10 @@ class MaterielsControllerTest extends General { | ||
2791 | $d1 => $today->format($format), | 2798 | $d1 => $today->format($format), |
2792 | $d2 => $date->format($format) | 2799 | $d2 => $date->format($format) |
2793 | ]; | 2800 | ]; |
2801 | + debug($new_data); | ||
2794 | $i++; debug("- test $i.c"); | 2802 | $i++; debug("- test $i.c"); |
2795 | $this->_doActionAndCheckResult($action, $id, TRUE, $new_data); | 2803 | $this->_doActionAndCheckResult($action, $id, TRUE, $new_data); |
2804 | + | ||
2796 | // - ...mais pas trop loin dans le futur (MAX_DIFF) => KO | 2805 | // - ...mais pas trop loin dans le futur (MAX_DIFF) => KO |
2797 | $date = $far->add(new \DateInterval('P1D')); | 2806 | $date = $far->add(new \DateInterval('P1D')); |
2798 | //debug($date); | 2807 | //debug($date); |
@@ -2800,6 +2809,7 @@ class MaterielsControllerTest extends General { | @@ -2800,6 +2809,7 @@ class MaterielsControllerTest extends General { | ||
2800 | $d1 => $today->format($format), | 2809 | $d1 => $today->format($format), |
2801 | $d2 => $date->format($format) | 2810 | $d2 => $date->format($format) |
2802 | ]; | 2811 | ]; |
2812 | + debug($new_data); | ||
2803 | $i++; debug("- test $i.d"); | 2813 | $i++; debug("- test $i.d"); |
2804 | $this->_doActionAndCheckResult($action, $id, FALSE, $new_data); | 2814 | $this->_doActionAndCheckResult($action, $id, FALSE, $new_data); |
2805 | } // foreach $dates | 2815 | } // foreach $dates |