diff --git a/app/static/js/jury_but.js b/app/static/js/jury_but.js index 1ef24c168f53e9e510996d0b361ba9ead54ead40..c90f95d633019ee8f9efd5b570021f3a14e6eba8 100644 --- a/app/static/js/jury_but.js +++ b/app/static/js/jury_but.js @@ -59,4 +59,29 @@ $(function () { } } -}); \ No newline at end of file +}); + +// ----- Etat du formulaire jury pour éviter sortie sans enregistrer +let FORM_STATE = ""; +// Une chaine décrivant l'état du form +function get_form_state() { + let codes = []; + // il n'y a que des <select> + document.querySelectorAll("select").forEach(sel => codes.push(sel.value)); + return codes.join(); +} + +$('document').ready(function () { + FORM_STATE = get_form_state(); +}); + +function is_modified() { + return FORM_STATE != get_form_state(); +} +window.addEventListener("beforeunload", function (e) { + if (is_modified()) { + var confirmationMessage = 'Changements non enregistrés !'; + (e || window.event).returnValue = confirmationMessage; + return confirmationMessage; + } +}); diff --git a/sco_version.py b/sco_version.py index 5a42b639a00c9397948e4f2d84d8bb89b0c2226e..98f0f59b52a9128a9cbd4d7053ea13fdbcd276e2 100644 --- a/sco_version.py +++ b/sco_version.py @@ -1,7 +1,7 @@ # -*- mode: python -*- # -*- coding: utf-8 -*- -SCOVERSION = "9.4.19" +SCOVERSION = "9.4.20" SCONAME = "ScoDoc"