From b98bbd1053e7c70590df979dc4a3b1379f0f6acb Mon Sep 17 00:00:00 2001 From: Simon Vieille Date: Mon, 14 Apr 2025 22:44:00 +0200 Subject: [PATCH] save settings with password confirmation --- src/components/settings/AdminSaveButton.vue | 43 +++++++++++++-------- src/lib/setting.js | 26 +++++++++++++ 2 files changed, 52 insertions(+), 17 deletions(-) create mode 100644 src/lib/setting.js diff --git a/src/components/settings/AdminSaveButton.vue b/src/components/settings/AdminSaveButton.vue index a12883d..b0824b7 100644 --- a/src/components/settings/AdminSaveButton.vue +++ b/src/components/settings/AdminSaveButton.vue @@ -13,13 +13,14 @@
+ >{{ error }} diff --git a/src/lib/setting.js b/src/lib/setting.js new file mode 100644 index 0000000..f69ee60 --- /dev/null +++ b/src/lib/setting.js @@ -0,0 +1,26 @@ +const waitPasswordConfirmation = async () => { + let tries = 0 + + return new Promise((resolve, reject) => { + const execute = () => { + if (!OC.PasswordConfirmation.requiresPasswordConfirmation()) { + resolve() + return + } + + OC.PasswordConfirmation.requirePasswordConfirmation(() => {}) + + if (++tries !== 10) { + setTimeout(() => { + execute() + }, 2000) + } else { + reject() + } + } + + execute() + }) +} + +export { waitPasswordConfirmation }