81 lines
2.9 KiB
JavaScript
81 lines
2.9 KiB
JavaScript
/**
|
|
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
|
|
* SPDX-FileCopyrightText: 2013-2015 ownCloud, Inc.
|
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
*/
|
|
|
|
window.addEventListener('DOMContentLoaded', function() {
|
|
$('input:button[name="enableRecoveryKey"]').click(function() {
|
|
const recoveryStatus = $(this).attr('status')
|
|
const newRecoveryStatus = (1 + parseInt(recoveryStatus)) % 2
|
|
const buttonValue = $(this).attr('value')
|
|
|
|
const recoveryPassword = $('#encryptionRecoveryPassword').val()
|
|
const confirmPassword = $('#repeatEncryptionRecoveryPassword').val()
|
|
OC.msg.startSaving('#encryptionSetRecoveryKey .msg')
|
|
$.post(
|
|
OC.generateUrl('/apps/encryption/ajax/adminRecovery'),
|
|
{
|
|
adminEnableRecovery: newRecoveryStatus,
|
|
recoveryPassword,
|
|
confirmPassword,
|
|
},
|
|
).done(function(data) {
|
|
OC.msg.finishedSuccess('#encryptionSetRecoveryKey .msg', data.data.message)
|
|
|
|
if (newRecoveryStatus === 0) {
|
|
$('p[name="changeRecoveryPasswordBlock"]').addClass('hidden')
|
|
$('input:button[name="enableRecoveryKey"]').attr('value', 'Enable recovery key')
|
|
$('input:button[name="enableRecoveryKey"]').attr('status', '0')
|
|
} else {
|
|
$('input:password[name="changeRecoveryPassword"]').val('')
|
|
$('p[name="changeRecoveryPasswordBlock"]').removeClass('hidden')
|
|
$('input:button[name="enableRecoveryKey"]').attr('value', 'Disable recovery key')
|
|
$('input:button[name="enableRecoveryKey"]').attr('status', '1')
|
|
}
|
|
})
|
|
.fail(function(jqXHR) {
|
|
$('input:button[name="enableRecoveryKey"]').attr('value', buttonValue)
|
|
$('input:button[name="enableRecoveryKey"]').attr('status', recoveryStatus)
|
|
OC.msg.finishedError('#encryptionSetRecoveryKey .msg', JSON.parse(jqXHR.responseText).data.message)
|
|
})
|
|
})
|
|
|
|
$('#repeatEncryptionRecoveryPassword').keyup(function(event) {
|
|
if (event.keyCode == 13) {
|
|
$('#enableRecoveryKey').click()
|
|
}
|
|
})
|
|
|
|
// change recovery password
|
|
|
|
$('button:button[name="submitChangeRecoveryKey"]').click(function() {
|
|
const oldRecoveryPassword = $('#oldEncryptionRecoveryPassword').val()
|
|
const newRecoveryPassword = $('#newEncryptionRecoveryPassword').val()
|
|
const confirmNewPassword = $('#repeatedNewEncryptionRecoveryPassword').val()
|
|
OC.msg.startSaving('#encryptionChangeRecoveryKey .msg')
|
|
$.post(
|
|
OC.generateUrl('/apps/encryption/ajax/changeRecoveryPassword'),
|
|
{
|
|
oldPassword: oldRecoveryPassword,
|
|
newPassword: newRecoveryPassword,
|
|
confirmPassword: confirmNewPassword,
|
|
},
|
|
).done(function(data) {
|
|
OC.msg.finishedSuccess('#encryptionChangeRecoveryKey .msg', data.data.message)
|
|
})
|
|
.fail(function(jqXHR) {
|
|
OC.msg.finishedError('#encryptionChangeRecoveryKey .msg', JSON.parse(jqXHR.responseText).data.message)
|
|
})
|
|
})
|
|
|
|
$('#encryptHomeStorage').change(function() {
|
|
$.post(
|
|
OC.generateUrl('/apps/encryption/ajax/setEncryptHomeStorage'),
|
|
{
|
|
encryptHomeStorage: this.checked,
|
|
},
|
|
)
|
|
})
|
|
})
|