nextcloud-server/apps/encryption/js/settings-personal.js

65 lines
2.3 KiB
JavaScript

/**
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2013-2015 ownCloud, Inc.
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
OC.Encryption = _.extend(OC.Encryption || {}, {
updatePrivateKeyPassword: function() {
const oldPrivateKeyPassword = $('input:password[id="oldPrivateKeyPassword"]').val()
const newPrivateKeyPassword = $('input:password[id="newPrivateKeyPassword"]').val()
OC.msg.startSaving('#ocDefaultEncryptionModule .msg')
$.post(
OC.generateUrl('/apps/encryption/ajax/updatePrivateKeyPassword'),
{
oldPassword: oldPrivateKeyPassword,
newPassword: newPrivateKeyPassword,
},
).done(function(data) {
OC.msg.finishedSuccess('#ocDefaultEncryptionModule .msg', data.message)
}).fail(function(jqXHR) {
OC.msg.finishedError('#ocDefaultEncryptionModule .msg', JSON.parse(jqXHR.responseText).message)
})
},
})
window.addEventListener('DOMContentLoaded', function() {
// Trigger ajax on recoveryAdmin status change
$('input:radio[name="userEnableRecovery"]').change(function() {
const recoveryStatus = $(this).val()
OC.msg.startAction('#userEnableRecovery .msg', 'Updating recovery keys. This can take some time...')
$.post(
OC.generateUrl('/apps/encryption/ajax/userSetRecovery'),
{
userEnableRecovery: recoveryStatus,
},
).done(function(data) {
OC.msg.finishedSuccess('#userEnableRecovery .msg', data.data.message)
})
.fail(function(jqXHR) {
OC.msg.finishedError('#userEnableRecovery .msg', JSON.parse(jqXHR.responseText).data.message)
})
// Ensure page is not reloaded on form submit
return false
})
// update private key password
$('input:password[name="changePrivateKeyPassword"]').keyup(function(event) {
const oldPrivateKeyPassword = $('input:password[id="oldPrivateKeyPassword"]').val()
const newPrivateKeyPassword = $('input:password[id="newPrivateKeyPassword"]').val()
if (newPrivateKeyPassword !== '' && oldPrivateKeyPassword !== '') {
$('button:button[name="submitChangePrivateKeyPassword"]').removeAttr('disabled')
if (event.which === 13) {
OC.Encryption.updatePrivateKeyPassword()
}
} else {
$('button:button[name="submitChangePrivateKeyPassword"]').attr('disabled', 'true')
}
})
$('button:button[name="submitChangePrivateKeyPassword"]').click(function() {
OC.Encryption.updatePrivateKeyPassword()
})
})