summaryrefslogtreecommitdiffstats
path: root/apps/encryption/js/settings-admin.js
diff options
context:
space:
mode:
Diffstat (limited to 'apps/encryption/js/settings-admin.js')
-rw-r--r--apps/encryption/js/settings-admin.js93
1 files changed, 57 insertions, 36 deletions
diff --git a/apps/encryption/js/settings-admin.js b/apps/encryption/js/settings-admin.js
index bb539f6a4e2..39923718c21 100644
--- a/apps/encryption/js/settings-admin.js
+++ b/apps/encryption/js/settings-admin.js
@@ -7,52 +7,73 @@
* See the COPYING-README file.
*/
-$(document).ready(function(){
-
- $( 'input:radio[name="adminEnableRecovery"]' ).change(
- function() {
- var recoveryStatus = $( this ).val();
- var oldStatus = (1+parseInt(recoveryStatus, 10)) % 2;
- var recoveryPassword = $( '#encryptionRecoveryPassword' ).val();
- var confirmPassword = $( '#repeatEncryptionRecoveryPassword' ).val();
- OC.msg.startSaving('#encryptionSetRecoveryKey .msg');
- $.post(
- OC.generateUrl('/apps/encryption/ajax/adminRecovery'),
- { adminEnableRecovery: recoveryStatus,
- recoveryPassword: recoveryPassword,
- confirmPassword: confirmPassword },
- function( result ) {
- OC.msg.finishedSaving('#encryptionSetRecoveryKey .msg', result);
- if (result.status === "error") {
- $('input:radio[name="adminEnableRecovery"][value="'+oldStatus.toString()+'"]')
- .attr("checked", "true");
- } else {
- if (recoveryStatus === "0") {
- $('p[name="changeRecoveryPasswordBlock"]').addClass("hidden");
- } else {
- $('input:password[name="changeRecoveryPassword"]').val("");
- $('p[name="changeRecoveryPasswordBlock"]').removeClass("hidden");
- }
- }
+$(document).ready(function () {
+
+ $('input:button[name="enableRecoveryKey"]').click(function () {
+
+ var recoveryStatus = $(this).attr('status');
+ var newRecoveryStatus = (1 + parseInt(recoveryStatus)) % 2;
+ var buttonValue = $(this).attr('value');
+
+ var recoveryPassword = $('#encryptionRecoveryPassword').val();
+ var confirmPassword = $('#repeatEncryptionRecoveryPassword').val();
+ OC.msg.startSaving('#encryptionSetRecoveryKey .msg');
+ $.post(
+ OC.generateUrl('/apps/encryption/ajax/adminRecovery'),
+ {
+ adminEnableRecovery: newRecoveryStatus,
+ recoveryPassword: recoveryPassword,
+ confirmPassword: 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() {
+ $('button:button[name="submitChangeRecoveryKey"]').click(function () {
var oldRecoveryPassword = $('#oldEncryptionRecoveryPassword').val();
var newRecoveryPassword = $('#newEncryptionRecoveryPassword').val();
var confirmNewPassword = $('#repeatedNewEncryptionRecoveryPassword').val();
OC.msg.startSaving('#encryptionChangeRecoveryKey .msg');
$.post(
- OC.generateUrl('/apps/encryption/ajax/changeRecoveryPassword'),
- { oldPassword: oldRecoveryPassword, newPassword: newRecoveryPassword, confirmPassword: confirmNewPassword },
- function( data ) {
- OC.msg.finishedSaving('#encryptionChangeRecoveryKey .msg', data);
- }
- );
+ 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);
+ });
});
});