From 48ea5dc22c18ba846616ee09e6c281381019edc4 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sun, 29 Jan 2017 00:19:32 -0600 Subject: [PATCH] import error check --- .../javascripts/app/frontend/controllers/home.js | 1 - .../app/services/directives/views/accountMenu.js | 16 ++++++++-------- .../app/services/helpers/encryptionHelper.js | 5 ++++- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/app/assets/javascripts/app/frontend/controllers/home.js b/app/assets/javascripts/app/frontend/controllers/home.js index bee9f6c50..8d1ebcb03 100644 --- a/app/assets/javascripts/app/frontend/controllers/home.js +++ b/app/assets/javascripts/app/frontend/controllers/home.js @@ -56,7 +56,6 @@ angular.module('app.frontend') } $scope.tagsSave = function(tag, callback) { - console.log("saving tag", tag); if(!tag.title || tag.title.length == 0) { $scope.notesRemoveTag(tag); return; diff --git a/app/assets/javascripts/app/services/directives/views/accountMenu.js b/app/assets/javascripts/app/services/directives/views/accountMenu.js index 34b18dc4f..42766057f 100644 --- a/app/assets/javascripts/app/services/directives/views/accountMenu.js +++ b/app/assets/javascripts/app/services/directives/views/accountMenu.js @@ -117,13 +117,13 @@ class AccountMenu { // allow loading indicator to come up with timeout $timeout(function(){ $scope.importJSONData(data, password, function(response){ - // console.log("Import response:", success, response); - $scope.importData.loading = false; - if(response) { + $timeout(function(){ + $scope.importData.loading = false; $scope.importData = null; - } else { - alert("There was an error importing your data. Please try again."); - } + if(!response) { + alert("There was an error importing your data. Please try again."); + } + }) }) }) } @@ -171,7 +171,7 @@ class AccountMenu { Neeto.crypto.computeEncryptionKeysForUser(_.merge({password: password}, data.auth_params), function(keys){ var mk = keys.mk; try { - EncryptionHelper.decryptMultipleItems(data.items, mk); + EncryptionHelper.decryptMultipleItems(data.items, mk, true); // delete items enc_item_key since the user's actually key will do the encrypting once its passed off data.items.forEach(function(item){ item.enc_item_key = null; @@ -182,7 +182,7 @@ class AccountMenu { catch (e) { console.log("Error decrypting", e); alert("There was an error decrypting your items. Make sure the password you entered is correct and try again."); - callback(false, null); + callback(null); return; } }.bind(this)); diff --git a/app/assets/javascripts/app/services/helpers/encryptionHelper.js b/app/assets/javascripts/app/services/helpers/encryptionHelper.js index 49f9fba77..7cf011ac8 100644 --- a/app/assets/javascripts/app/services/helpers/encryptionHelper.js +++ b/app/assets/javascripts/app/services/helpers/encryptionHelper.js @@ -34,7 +34,7 @@ class EncryptionHelper { item.content = content; } - static decryptMultipleItems(items, key) { + static decryptMultipleItems(items, key, throws) { for (var item of items) { if(item.deleted == true) { continue; @@ -51,6 +51,9 @@ class EncryptionHelper { item.content = Neeto.crypto.base64Decode(item.content.substring(3, item.content.length)) } } catch (e) { + if(throws) { + throw e; + } console.log("Error decrypting item", item, e); continue; }