summaryrefslogtreecommitdiffstats
path: root/settings/js/personal.js
diff options
context:
space:
mode:
authorBjörn Schießle <schiessle@owncloud.com>2014-05-13 09:25:16 -0400
committerBjörn Schießle <schiessle@owncloud.com>2014-05-13 09:25:16 -0400
commitb8de1e5d716c416beae328506e368cd0554509e1 (patch)
tree8b13942c27547f4c4266699efc445b0bfe96296d /settings/js/personal.js
parente934129bf6125c50ccede651b544d7ab07d5378a (diff)
parenta9ac11718e62017c70682f99eb35b43b1ef9c498 (diff)
downloadnextcloud-server-b8de1e5d716c416beae328506e368cd0554509e1.tar.gz
nextcloud-server-b8de1e5d716c416beae328506e368cd0554509e1.zip
Merge pull request #8398 from owncloud/enc_backup_keys
backup the encryption key after the encryption was disabled
Diffstat (limited to 'settings/js/personal.js')
-rw-r--r--settings/js/personal.js61
1 files changed, 52 insertions, 9 deletions
diff --git a/settings/js/personal.js b/settings/js/personal.js
index c1f1ef7466b..f297e3c1b1a 100644
--- a/settings/js/personal.js
+++ b/settings/js/personal.js
@@ -212,17 +212,30 @@ $(document).ready(function(){
OC.Encryption.decryptAll(privateKeyPassword);
});
+
+ $('button:button[name="submitRestoreKeys"]').click(function() {
+ $('#restoreBackupKeys button:button[name="submitDeleteKeys"]').prop("disabled", true);
+ $('#restoreBackupKeys button:button[name="submitRestoreKeys"]').prop("disabled", true);
+ OC.Encryption.restoreKeys();
+ });
+
+ $('button:button[name="submitDeleteKeys"]').click(function() {
+ $('#restoreBackupKeys button:button[name="submitDeleteKeys"]').prop("disabled", true);
+ $('#restoreBackupKeys button:button[name="submitRestoreKeys"]').prop("disabled", true);
+ OC.Encryption.deleteKeys();
+ });
+
$('#decryptAll input:password[name="privateKeyPassword"]').keyup(function(event) {
var privateKeyPassword = $('#decryptAll input:password[id="privateKeyPassword"]').val();
if (privateKeyPassword !== '' ) {
- $('#decryptAll button:button[name="submitDecryptAll"]').removeAttr("disabled");
+ $('#decryptAll button:button[name="submitDecryptAll"]').prop("disabled", false);
if(event.which === 13) {
$('#decryptAll button:button[name="submitDecryptAll"]').prop("disabled", true);
$('#decryptAll input:password[name="privateKeyPassword"]').prop("disabled", true);
OC.Encryption.decryptAll(privateKeyPassword);
}
} else {
- $('#decryptAll button:button[name="submitDecryptAll"]').attr("disabled", "true");
+ $('#decryptAll button:button[name="submitDecryptAll"]').prop("disabled", true);
}
});
@@ -294,29 +307,59 @@ $(document).ready(function(){
OC.Encryption = {
decryptAll: function(password) {
- OC.Encryption.msg.startDecrypting('#decryptAll .msg');
+ var message = t('settings', 'Decrypting files... Please wait, this can take some time.');
+ OC.Encryption.msg.start('#decryptAll .msg', message);
$.post('ajax/decryptall.php', {password:password}, function(data) {
if (data.status === "error") {
- OC.Encryption.msg.finishedDecrypting('#decryptAll .msg', data);
- $('#decryptAll input:password[name="privateKeyPassword"]').removeAttr("disabled");
+ OC.Encryption.msg.finished('#decryptAll .msg', data);
+ $('#decryptAll input:password[name="privateKeyPassword"]').prop("disabled", false);
+ } else {
+ OC.Encryption.msg.finished('#decryptAll .msg', data);
+ }
+ $('#restoreBackupKeys').removeClass('hidden');
+ });
+ },
+
+ deleteKeys: function() {
+ var message = t('settings', 'Delete encryptin keys permanently.');
+ OC.Encryption.msg.start('#restoreBackupKeys .msg', message);
+ $.post('ajax/deletekeys.php', null, function(data) {
+ if (data.status === "error") {
+ OC.Encryption.msg.finished('#restoreBackupKeys .msg', data);
+ $('#restoreBackupKeys button:button[name="submitDeleteKeys"]').prop("disabled", false);
+ $('#restoreBackupKeys button:button[name="submitRestoreKeys"]').prop("disabled", false);
+ } else {
+ OC.Encryption.msg.finished('#restoreBackupKeys .msg', data);
+ }
+ });
+ },
+
+ restoreKeys: function() {
+ var message = t('settings', 'Restore encryptin keys.');
+ OC.Encryption.msg.start('#restoreBackupKeys .msg', message);
+ $.post('ajax/restorekeys.php', {}, function(data) {
+ if (data.status === "error") {
+ OC.Encryption.msg.finished('#restoreBackupKeys .msg', data);
+ $('#restoreBackupKeys button:button[name="submitDeleteKeys"]').prop("disabled", false);
+ $('#restoreBackupKeys button:button[name="submitRestoreKeys"]').prop("disabled", false);
} else {
- OC.Encryption.msg.finishedDecrypting('#decryptAll .msg', data);
+ OC.Encryption.msg.finished('#restoreBackupKeys .msg', data);
}
});
}
};
OC.Encryption.msg={
- startDecrypting:function(selector){
+ start:function(selector, msg){
var spinner = '<img src="'+ OC.imagePath('core', 'loading-small.gif') +'">';
$(selector)
- .html( t('settings', 'Decrypting files... Please wait, this can take some time.') + ' ' + spinner )
+ .html( msg + ' ' + spinner )
.removeClass('success')
.removeClass('error')
.stop(true, true)
.show();
},
- finishedDecrypting:function(selector, data){
+ finished:function(selector, data){
if( data.status === "success" ){
$(selector).html( data.data.message )
.addClass('success')