From: ArthurHoaro Date: Thu, 3 Sep 2020 06:34:57 +0000 (+0200) Subject: Merge pull request #1535 from ArthurHoaro/fix/export-token X-Git-Tag: v0.12.0-beta-1~31 X-Git-Url: https://git.immae.eu/?a=commitdiff_plain;h=43582975dcef7ba0a47d740f29f925d02a067849;hp=0e60b7f1741c35b68a37e0705521669e1191774e;p=github%2Fshaarli%2FShaarli.git Merge pull request #1535 from ArthurHoaro/fix/export-token Export: refresh CRSF token after submit --- diff --git a/assets/default/js/base.js b/assets/default/js/base.js index 0f29799d..27938823 100644 --- a/assets/default/js/base.js +++ b/assets/default/js/base.js @@ -25,16 +25,18 @@ function findParent(element, tagName, attributes) { /** * Ajax request to refresh the CSRF token. */ -function refreshToken(basePath) { - console.log('refresh'); +function refreshToken(basePath, callback) { const xhr = new XMLHttpRequest(); xhr.open('GET', `${basePath}/admin/token`); xhr.onload = () => { const elements = document.querySelectorAll('input[name="token"]'); [...elements].forEach((element) => { - console.log(element); element.setAttribute('value', xhr.responseText); }); + + if (callback) { + callback(xhr.response); + } }; xhr.send(); } @@ -622,4 +624,15 @@ function init(description) { [...autocompleteFields].forEach((autocompleteField) => { awesomepletes.push(createAwesompleteInstance(autocompleteField)); }); + + const exportForm = document.querySelector('#exportform'); + if (exportForm != null) { + exportForm.addEventListener('submit', (event) => { + event.preventDefault(); + + refreshToken(basePath, () => { + event.target.submit(); + }); + }); + } })();