diff options
Diffstat (limited to 'apps/encryption/js/settings-admin.js')
-rw-r--r-- | apps/encryption/js/settings-admin.js | 93 |
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); + }); }); }); |