From: Ferdinand Thiessen Date: Mon, 14 Oct 2024 13:12:16 +0000 (+0200) Subject: fix: Add frontend code for password confirmation X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=refs%2Fheads%2Ffix%2F788%2Fadd-password-confirmation-required-to-user-storage-create;p=nextcloud-server.git fix: Add frontend code for password confirmation Signed-off-by: Ferdinand Thiessen --- diff --git a/apps/files_external/js/settings.js b/apps/files_external/js/settings.js index 582276cad09..5cbd011bcc1 100644 --- a/apps/files_external/js/settings.js +++ b/apps/files_external/js/settings.js @@ -267,7 +267,6 @@ StorageConfig.prototype = { * @param {Function} [options.error] error callback */ save: function(options) { - var self = this; var url = OC.generateUrl(this._url); var method = 'POST'; if (_.isNumber(this.id)) { @@ -275,6 +274,18 @@ StorageConfig.prototype = { url = OC.generateUrl(this._url + '/{id}', {id: this.id}); } + window.OC.PasswordConfirmation.requirePasswordConfirmation(() => this._save(method, url, options), options.error); + }, + + /** + * Private implementation of the save function (called after potential password confirmation) + * @param {string} method + * @param {string} url + * @param {{success: Function, error: Function}} options + */ + _save: function(method, url, options) { + self = this; + $.ajax({ type: method, url: url, @@ -348,6 +359,15 @@ StorageConfig.prototype = { } return; } + + window.OC.PasswordConfirmation.requirePasswordConfirmation(() => this._destroy(options), options.error) + }, + + /** + * Private implementation of the DELETE method called after password confirmation + * @param {{ success: Function, error: Function }} options + */ + _destroy: function(options) { $.ajax({ type: 'DELETE', url: OC.generateUrl(this._url + '/{id}', {id: this.id}),