From 2f8c42ca25cf0b79d5208987e9155604598d668d Mon Sep 17 00:00:00 2001 From: Javier Date: Mon, 13 Jun 2016 14:31:42 -0300 Subject: [PATCH 1/5] Replace $root.go directive for href ui-sref --- public/views/backup.html | 77 ++++++++++++++---------- public/views/buyCoinbase.html | 5 +- public/views/buyGlidera.html | 5 +- public/views/coinbase.html | 8 +-- public/views/glidera.html | 8 +-- public/views/includes/sidebar.html | 11 ++-- public/views/includes/topbar.html | 7 +-- public/views/preferences.html | 12 ++-- public/views/preferencesAbout.html | 24 ++++---- public/views/preferencesAdvanced.html | 30 ++++----- public/views/preferencesGlobal.html | 10 +-- public/views/preferencesInformation.html | 18 +++--- public/views/walletHome.html | 7 +-- src/js/controllers/backup.js | 8 +++ 14 files changed, 120 insertions(+), 110 deletions(-) diff --git a/public/views/backup.html b/public/views/backup.html index 0972e1097..bd9cc6173 100644 --- a/public/views/backup.html +++ b/public/views/backup.html @@ -1,17 +1,17 @@ -
+
+<<<<<<< 41f76292fef879856ea30ae58291f333a5e83415
+======= +
+
+ + Validating recovery phrase... +
+
+ +
+>>>>>>> Replace $root.go directive for href ui-sref - {{wordsC.error|translate}} + {{backupC.error|translate}}
@@ -30,8 +41,8 @@ -->
-
-
+
+
Write your wallet recovery phrase
@@ -56,37 +67,37 @@
-
+
Wallet recovery phrase not available. You can still export it from Advanced > Export.
-
-

+

+

You need the wallet recovery phrase to restore this personal wallet. Write it down and keep them somewhere safe.

-
+ -
+
- {{word}}  + {{word}} 
-
-
+
+
This recovery phrase was created with a password. To recover this wallet both the recovery phrase and password are needed. @@ -96,11 +107,11 @@
@@ -110,19 +121,19 @@ ## STEP 2 --> -
+
Confirm your wallet recovery phrase

Please tap the words in order to confirm your backup phrase is correctly written.

- +
- + @@ -132,10 +143,10 @@
@@ -145,7 +156,7 @@ ## STEP 3 --> -
+
Enter your password

@@ -161,7 +172,7 @@ ng-disabled="!passphrase" ng-style="{'background-color':index.backgroundColor}" class="button round expand m0" - ng-click="wordsC.goToStep(4);" + ng-click="backupC.goToStep(4);" translate>Continue

@@ -171,8 +182,8 @@ ## STEP 4 --> -
-
+
+
@@ -185,7 +196,7 @@ @@ -201,7 +212,7 @@
-
+
@@ -222,7 +233,7 @@
diff --git a/public/views/buyCoinbase.html b/public/views/buyCoinbase.html index 59e3b8fee..3f14b6e96 100644 --- a/public/views/buyCoinbase.html +++ b/public/views/buyCoinbase.html @@ -106,7 +106,7 @@

+ href ui-sref="coinbase">OK
@@ -161,8 +161,7 @@ Bitcoin purchase completed. Coinbase has queued the transfer to your selected Copay wallet.

- +
diff --git a/public/views/buyGlidera.html b/public/views/buyGlidera.html index ca276ccfd..6eec1f7af 100644 --- a/public/views/buyGlidera.html +++ b/public/views/buyGlidera.html @@ -115,10 +115,7 @@ A transfer has been initiated from your bank account. Your bitcoins should arrive to your wallet in 2-4 business days.

- +
diff --git a/public/views/coinbase.html b/public/views/coinbase.html index 293d489bc..f23c7fc79 100644 --- a/public/views/coinbase.html +++ b/public/views/coinbase.html @@ -11,7 +11,7 @@
- +
@@ -43,7 +43,7 @@ Reconnect
- Or go to Preferences and log out manually. + Or go to Preferences and log out manually.
@@ -102,7 +102,7 @@
  • + href ui-sref="buyCoinbase"> buy bitcoin Buy Bitcoin @@ -110,7 +110,7 @@
  • + href ui-sref="sellCoinbase"> sell bitcoin Sell Bitcoin diff --git a/public/views/glidera.html b/public/views/glidera.html index 11a4f7a66..020bbb832 100644 --- a/public/views/glidera.html +++ b/public/views/glidera.html @@ -28,7 +28,7 @@ Retry
@@ -94,7 +94,7 @@
-
+
Preferences @@ -136,7 +136,7 @@ ng-show="index.glideraStatus && index.glideraStatus.userCanTransact">
  • + href ui-sref="buyGlidera"> buy bitcoin Buy Bitcoin @@ -145,7 +145,7 @@
  • + href ui-sref="sellGlidera"> buy bitcoin Sell Bitcoin diff --git a/public/views/includes/sidebar.html b/public/views/includes/sidebar.html index 4b5675c00..4f7794a0e 100644 --- a/public/views/includes/sidebar.html +++ b/public/views/includes/sidebar.html @@ -7,18 +7,15 @@
      -
    • +
    • diff --git a/public/views/includes/topbar.html b/public/views/includes/topbar.html index c26d18381..371eaaaaa 100644 --- a/public/views/includes/topbar.html +++ b/public/views/includes/topbar.html @@ -4,14 +4,13 @@ - - {{'Back'|translate}} + + Back - {{'Close'|translate}} + Close diff --git a/public/views/preferences.html b/public/views/preferences.html index d1eff3ea9..97c55ec42 100644 --- a/public/views/preferences.html +++ b/public/views/preferences.html @@ -12,7 +12,7 @@
        -
      • +
      • {{index.alias||index.walletName}} @@ -20,7 +20,7 @@
        Alias
      • -
      • +
      • Disabled {{index.preferences.email}} @@ -29,7 +29,7 @@
        Email Notifications
      • -
      • +
      • @@ -45,7 +45,7 @@
        Hardware wallet
      • -
      • +
      • Not completed @@ -55,7 +55,7 @@
        Backup
      • -
      • +
      • Advanced
      • @@ -78,7 +78,7 @@
          -
        • +
        • Delete recovery phrase
        • diff --git a/public/views/preferencesAbout.html b/public/views/preferencesAbout.html index bde19af47..b1e845597 100644 --- a/public/views/preferencesAbout.html +++ b/public/views/preferencesAbout.html @@ -1,5 +1,5 @@ -
          @@ -11,30 +11,30 @@
        • Version - v{{v.version}} - + v{{v.version}} +
        • Commit hash #{{v.commitHash}} - +
        - +

          -
        • - +
        • + Terms of Use
        • -
        • - +
        • + Translators
        • -
        • - +
        • + Session log
        diff --git a/public/views/preferencesAdvanced.html b/public/views/preferencesAdvanced.html index 6cb6dfb55..1c2c557ff 100644 --- a/public/views/preferencesAdvanced.html +++ b/public/views/preferencesAdvanced.html @@ -1,5 +1,5 @@ -
        @@ -7,35 +7,35 @@

        - + -

        -
        diff --git a/src/js/controllers/backup.js b/src/js/controllers/backup.js index a05f881dc..c1c22fe8e 100644 --- a/src/js/controllers/backup.js +++ b/src/js/controllers/backup.js @@ -3,10 +3,9 @@ angular.module('copayApp.controllers').controller('backupController', function($rootScope, $scope, $timeout, $log, lodash, profileService, gettext, bwcService, bwsError, walletService, ongoingProcess) { - var self = this; var fc = profileService.focusedClient; - self.customWords = []; - self.walletName = fc.credentials.walletName; + $scope.customWords = []; + $scope.walletName = fc.credentials.walletName; var handleEncryptedWallet = function(client, cb) { if (!walletService.isEncrypted(client)) return cb(); @@ -17,24 +16,22 @@ angular.module('copayApp.controllers').controller('backupController', }; if (fc.isPrivKeyEncrypted() && !isDeletedSeed()) { - self.credentialsEncrypted = true; + $scope.credentialsEncrypted = true; passwordRequest(); } else { if (!isDeletedSeed()) initWords(); } - init(); - - function init() { + $scope.init = function() { $scope.passphrase = ''; - self.shuffledMnemonicWords = shuffledWords(self.mnemonicWords); - self.customWords = []; - self.step = 1; - self.deleted = isDeletedSeed(); - self.credentialsEncrypted = false; - self.selectComplete = false; - self.backupError = false; + $scope.shuffledMnemonicWords = shuffledWords($scope.mnemonicWords); + $scope.customWords = []; + $scope.step = 1; + $scope.deleted = isDeletedSeed(); + $scope.credentialsEncrypted = false; + $scope.selectComplete = false; + $scope.backupError = false; }; function isDeletedSeed() { @@ -43,7 +40,7 @@ angular.module('copayApp.controllers').controller('backupController', return false; }; - self.backTo = function(state) { + $scope.backTo = function(state) { console.log(state); if (state == 'walletHome') go.walletHome(); @@ -51,16 +48,16 @@ angular.module('copayApp.controllers').controller('backupController', go.preferences(); }; - self.goToStep = function(n) { + $scope.goToStep = function(n) { if (n == 1) - init(); + $scope.init(); if (n == 2) - self.step = 2; + $scope.step = 2; if (n == 3) { - if (!self.mnemonicHasPassphrase) + if (!$scope.mnemonicHasPassphrase) finalStep(); else - self.step = 3; + $scope.step = 3; } if (n == 4) finalStep(); @@ -73,7 +70,7 @@ angular.module('copayApp.controllers').controller('backupController', backupError(err); } $timeout(function() { - self.step = 4; + $scope.step = 4; return; }, 1); }); @@ -82,12 +79,12 @@ angular.module('copayApp.controllers').controller('backupController', function initWords() { var words = fc.getMnemonic(); - self.xPrivKey = fc.credentials.xPrivKey; + $scope.xPrivKey = fc.credentials.xPrivKey; walletService.lock(fc); - self.mnemonicWords = words.split(/[\u3000\s]+/); - self.shuffledMnemonicWords = shuffledWords(self.mnemonicWords); - self.mnemonicHasPassphrase = fc.mnemonicHasPassphrase(); - self.useIdeograms = words.indexOf("\u3000") >= 0; + $scope.mnemonicWords = words.split(/[\u3000\s]+/); + $scope.shuffledMnemonicWords = shuffledWords($scope.mnemonicWords); + $scope.mnemonicHasPassphrase = fc.mnemonicHasPassphrase(); + $scope.useIdeograms = words.indexOf("\u3000") >= 0; }; function shuffledWords(words) { @@ -101,10 +98,10 @@ angular.module('copayApp.controllers').controller('backupController', }); }; - self.toggle = function() { - self.error = ""; + $scope.toggle = function() { + $scope.error = ""; - if (self.credentialsEncrypted) + if ($scope.credentialsEncrypted) passwordRequest(); $timeout(function() { @@ -124,12 +121,12 @@ angular.module('copayApp.controllers').controller('backupController', handleEncryptedWallet(fc, function(err) { if (err) { - self.error = bwsError.msg(err, gettext('Could not decrypt')); - $log.warn('Error decrypting credentials:', self.error); //TODO + $scope.error = bwsError.msg(err, gettext('Could not decrypt')); + $log.warn('Error decrypting credentials:', $scope.error); //TODO return; } - self.credentialsEncrypted = false; + $scope.credentialsEncrypted = false; initWords(); $timeout(function() { @@ -145,37 +142,38 @@ angular.module('copayApp.controllers').controller('backupController', word: item.word, prevIndex: index }; - self.customWords.push(newWord); - self.shuffledMnemonicWords[index].selected = true; - self.shouldContinue(); + $scope.customWords.push(newWord); + $scope.shuffledMnemonicWords[index].selected = true; + $scope.shouldContinue(); }; $scope.removeButton = function(index, item) { - self.customWords.splice(index, 1); - self.shuffledMnemonicWords[item.prevIndex].selected = false; - self.shouldContinue(); + if ($scope.loading) return; + $scope.customWords.splice(index, 1); + $scope.shuffledMnemonicWords[item.prevIndex].selected = false; + $scope.shouldContinue(); }; - self.shouldContinue = function() { - if (self.customWords.length == 12) - self.selectComplete = true; + $scope.shouldContinue = function() { + if ($scope.customWords.length == 12) + $scope.selectComplete = true; else - self.selectComplete = false; + $scope.selectComplete = false; }; function confirm(cb) { - self.backupError = false; + $scope.backupError = false; - var customWordList = lodash.pluck(self.customWords, 'word'); + var customWordList = lodash.pluck($scope.customWords, 'word'); - if (!lodash.isEqual(self.mnemonicWords, customWordList)) { + if (!lodash.isEqual($scope.mnemonicWords, customWordList)) { return cb('Mnemonic string mismatch'); } $timeout(function() { - if (self.mnemonicHasPassphrase) { + if ($scope.mnemonicHasPassphrase) { var walletClient = bwcService.getClient(); - var separator = self.useIdeograms ? '\u3000' : ' '; + var separator = $scope.useIdeograms ? '\u3000' : ' '; var customSentence = customWordList.join(separator); var passphrase = $scope.passphrase || ''; @@ -189,7 +187,7 @@ angular.module('copayApp.controllers').controller('backupController', return cb(err); } - if (walletClient.credentials.xPrivKey != self.xPrivKey) { + if (walletClient.credentials.xPrivKey != $scope.xPrivKey) { return cb('Private key mismatch'); } } @@ -202,7 +200,7 @@ angular.module('copayApp.controllers').controller('backupController', function backupError(err) { ongoingProcess.set('validatingWords', false); $log.debug('Failed to verify backup: ', err); - self.backupError = true; + $scope.backupError = true; $timeout(function() { $scope.$apply(); diff --git a/src/js/controllers/export.js b/src/js/controllers/export.js index d5110de52..5714f609e 100644 --- a/src/js/controllers/export.js +++ b/src/js/controllers/export.js @@ -2,20 +2,19 @@ angular.module('copayApp.controllers').controller('exportController', function($rootScope, $scope, $timeout, $log, backupService, storageService, profileService, platformInfo, notification, go, gettext, gettextCatalog) { - var self = this; var isWP = platformInfo.isWP; var isAndroid = platformInfo.isAndroid; - self.error = null; - self.success = null; + $scope.error = null; + $scope.success = null; $scope.metaDataEnabled = true; var fc = profileService.focusedClient; - self.isEncrypted = fc.isPrivKeyEncrypted(); + $scope.isEncrypted = fc.isPrivKeyEncrypted(); - self.downloadWalletBackup = function() { - self.getMetaData($scope.metaDataEnabled, function(err, txsFromLocal, localAddressBook) { + $scope.downloadWalletBackup = function() { + $scope.getMetaData($scope.metaDataEnabled, function(err, txsFromLocal, localAddressBook) { if (err) { - self.error = true; + $scope.error = true; return; } var opts = { @@ -24,9 +23,9 @@ angular.module('copayApp.controllers').controller('exportController', addressBook: localAddressBook }; - backupService.walletDownload(self.password, opts, function(err) { + backupService.walletDownload($scope.password, opts, function(err) { if (err) { - self.error = true; + $scope.error = true; return; } $rootScope.$emit('Local/BackupDone'); @@ -36,12 +35,12 @@ angular.module('copayApp.controllers').controller('exportController', }); }; - self.getMetaData = function(metaData, cb) { + $scope.getMetaData = function(metaData, cb) { if (metaData == false) return cb(); - self.getHistoryCache(function(err, txsFromLocal) { + $scope.getHistoryCache(function(err, txsFromLocal) { if (err) return cb(err); - self.getAddressbook(function(err, localAddressBook) { + $scope.getAddressbook(function(err, localAddressBook) { if (err) return cb(err); return cb(null, txsFromLocal, localAddressBook) @@ -49,7 +48,7 @@ angular.module('copayApp.controllers').controller('exportController', }); } - self.getHistoryCache = function(cb) { + $scope.getHistoryCache = function(cb) { storageService.getTxHistory(fc.credentials.walletId, function(err, txs) { if (err) return cb(err); @@ -66,7 +65,7 @@ angular.module('copayApp.controllers').controller('exportController', }); } - self.getAddressbook = function(cb) { + $scope.getAddressbook = function(cb) { storageService.getAddressbook(fc.credentials.network, function(err, addressBook) { if (err) return cb(err); @@ -81,10 +80,10 @@ angular.module('copayApp.controllers').controller('exportController', }); } - self.getBackup = function(cb) { - self.getMetaData($scope.metaDataEnabled, function(err, txsFromLocal, localAddressBook) { + $scope.getBackup = function(cb) { + $scope.getMetaData($scope.metaDataEnabled, function(err, txsFromLocal, localAddressBook) { if (err) { - self.error = true; + $scope.error = true; return cb(null); } var opts = { @@ -93,30 +92,29 @@ angular.module('copayApp.controllers').controller('exportController', addressBook: localAddressBook }; - var ew = backupService.walletExport(self.password, opts); + var ew = backupService.walletExport($scope.password, opts); if (!ew) { - self.error = true; + $scope.error = true; } else { - self.error = false; + $scope.error = false; $rootScope.$emit('Local/BackupDone'); } return cb(ew); }); } - self.viewWalletBackup = function() { - var self = this; + $scope.viewWalletBackup = function() { $timeout(function() { - self.getBackup(function(backup) { + $scope.getBackup(function(backup) { var ew = backup; if (!ew) return; - self.backupWalletPlainText = ew; + $scope.backupWalletPlainText = ew; }); }, 100); }; - self.copyWalletBackup = function() { - self.getBackup(function(backup) { + $scope.copyWalletBackup = function() { + $scope.getBackup(function(backup) { var ew = backup; if (!ew) return; window.cordova.plugins.clipboard.copy(ew); @@ -124,14 +122,14 @@ angular.module('copayApp.controllers').controller('exportController', }); }; - self.sendWalletBackup = function() { + $scope.sendWalletBackup = function() { var fc = profileService.focusedClient; window.plugins.toast.showShortCenter(gettextCatalog.getString('Preparing backup...')); var name = (fc.credentials.walletName || fc.credentials.walletId); if (fc.alias) { name = fc.alias + ' [' + name + ']'; } - self.getBackup(function(backup) { + $scope.getBackup(function(backup) { var ew = backup; if (!ew) return; diff --git a/src/js/controllers/preferences.js b/src/js/controllers/preferences.js index 58f5f4650..f02cac712 100644 --- a/src/js/controllers/preferences.js +++ b/src/js/controllers/preferences.js @@ -3,28 +3,27 @@ angular.module('copayApp.controllers').controller('preferencesController', function($scope, $rootScope, $timeout, $log, configService, profileService, fingerprintService, walletService) { - var self = this; var fc; var config = configService.getSync(); var disableFocusListener = $rootScope.$on('Local/NewFocusedWalletReady', function() { - self.init(); + $scope.init(); }); $scope.$on('$destroy', function() { disableFocusListener(); }); - this.init = function() { + $scope.init = function() { fc = profileService.focusedClient; if (fc) { $scope.encryptEnabled = walletService.isEncrypted(fc); - this.externalSource = fc.getPrivKeyExternalSourceName() == 'ledger' ? "Ledger" : null; + $scope.externalSource = fc.getPrivKeyExternalSourceName() == 'ledger' ? "Ledger" : null; // TODO externalAccount //this.externalIndex = fc.getExternalIndex(); } - this.touchidAvailable = fingerprintService.isAvailable(); + $scope.touchidAvailable = fingerprintService.isAvailable(); $scope.touchidEnabled = config.touchIdFor ? config.touchIdFor[fc.credentials.walletId] : null; $scope.deleted = false; @@ -41,7 +40,6 @@ angular.module('copayApp.controllers').controller('preferencesController', }; $scope.encryptChange = function() { - var self = this; if (!fc) return; var val = $scope.encryptEnabled; diff --git a/src/js/controllers/preferencesAdvanced.js b/src/js/controllers/preferencesAdvanced.js deleted file mode 100644 index 30616e803..000000000 --- a/src/js/controllers/preferencesAdvanced.js +++ /dev/null @@ -1,6 +0,0 @@ -'use strict'; - -angular.module('copayApp.controllers').controller('preferencesAdvancedController', - function($scope) { - - }); \ No newline at end of file diff --git a/src/js/controllers/preferencesAlias.js b/src/js/controllers/preferencesAlias.js index 385f4e258..14cb02f25 100644 --- a/src/js/controllers/preferencesAlias.js +++ b/src/js/controllers/preferencesAlias.js @@ -2,20 +2,18 @@ angular.module('copayApp.controllers').controller('preferencesAliasController', function($scope, $timeout, configService, profileService, go) { - var config = configService.getSync(); var fc = profileService.focusedClient; var walletId = fc.credentials.walletId; - var config = configService.getSync(); - config.aliasFor = config.aliasFor || {}; - this.alias = config.aliasFor[walletId] || fc.credentials.walletName; - this.save = function() { - var self = this; + config.aliasFor = config.aliasFor || {}; + $scope.alias = config.aliasFor[walletId] || fc.credentials.walletName; + + $scope.save = function() { var opts = { aliasFor: {} }; - opts.aliasFor[walletId] = self.alias; + opts.aliasFor[walletId] = $scope.alias; configService.set(opts, function(err) { if (err) { @@ -23,10 +21,9 @@ angular.module('copayApp.controllers').controller('preferencesAliasController', return; } $scope.$emit('Local/AliasUpdated'); - $timeout(function(){ + $timeout(function() { go.path('preferences'); }, 50); }); - }; }); diff --git a/src/js/controllers/preferencesBwsUrl.js b/src/js/controllers/preferencesBwsUrl.js index d7d4afc6d..515ba365a 100644 --- a/src/js/controllers/preferencesBwsUrl.js +++ b/src/js/controllers/preferencesBwsUrl.js @@ -2,24 +2,24 @@ angular.module('copayApp.controllers').controller('preferencesBwsUrlController', function($scope, $log, configService, go, applicationService, profileService, storageService) { - this.error = null; - this.success = null; + $scope.error = null; + $scope.success = null; var fc = profileService.focusedClient; var walletId = fc.credentials.walletId; var defaults = configService.getDefaults(); var config = configService.getSync(); - this.bwsurl = (config.bwsFor && config.bwsFor[walletId]) || defaults.bws.url; + $scope.bwsurl = (config.bwsFor && config.bwsFor[walletId]) || defaults.bws.url; - this.resetDefaultUrl = function() { - this.bwsurl = defaults.bws.url; + $scope.resetDefaultUrl = function() { + $scope.bwsurl = defaults.bws.url; }; - this.save = function() { + $scope.save = function() { var bws; - switch (this.bwsurl) { + switch ($scope.bwsurl) { case 'prod': case 'production': bws = 'https://bws.bitpay.com/bws/api' @@ -35,13 +35,13 @@ angular.module('copayApp.controllers').controller('preferencesBwsUrlController', }; if (bws) { $log.info('Using BWS URL Alias to ' + bws); - this.bwsurl = bws; + $scope.bwsurl = bws; } var opts = { bwsFor: {} }; - opts.bwsFor[walletId] = this.bwsurl; + opts.bwsFor[walletId] = $scope.bwsurl; configService.set(opts, function(err) { if (err) console.log(err); diff --git a/src/js/controllers/preferencesDelete.js b/src/js/controllers/preferencesDelete.js index 9f6ab6fa0..5dc6cf9d4 100644 --- a/src/js/controllers/preferencesDelete.js +++ b/src/js/controllers/preferencesDelete.js @@ -3,8 +3,8 @@ angular.module('copayApp.controllers').controller('preferencesDeleteWalletController', function($scope, $rootScope, $filter, $timeout, $modal, $log, $ionicModal, storageService, notification, profileService, platformInfo, go, gettext, gettextCatalog, applicationService, ongoingProcess) { var isCordova = platformInfo.isCordova; - this.isCordova = isCordova; - this.error = null; + $scope.isCordova = isCordova; + $scope.error = null; var delete_msg = gettextCatalog.getString('Are you sure you want to delete this wallet?'); var accept_msg = gettextCatalog.getString('Accept'); @@ -20,8 +20,7 @@ angular.module('copayApp.controllers').controller('preferencesDeleteWalletContro $scope.loading = false; $ionicModal.fromTemplateUrl('views/modals/confirmation.html', { - scope: $scope, - animation: 'slide-in-up' + scope: $scope }).then(function(modal) { $scope.confirmationModal = modal; $scope.confirmationModal.show(); @@ -33,12 +32,11 @@ angular.module('copayApp.controllers').controller('preferencesDeleteWalletContro var fc = profileService.focusedClient; var name = fc.credentials.walletName; var walletName = (fc.alias || '') + ' [' + name + ']'; - var self = this; profileService.deleteWalletClient(fc, function(err) { ongoingProcess.set('deletingWallet', false); if (err) { - self.error = err.message || err; + $scope.error = err.message || err; } else { notification.success(gettextCatalog.getString('Success'), gettextCatalog.getString('The wallet "{{walletName}}" was deleted', { walletName: walletName @@ -48,7 +46,7 @@ angular.module('copayApp.controllers').controller('preferencesDeleteWalletContro }); }; - this.deleteWallet = function() { + $scope.deleteWallet = function() { if (isCordova) { navigator.notification.confirm( delete_msg, diff --git a/src/js/controllers/preferencesDeleteWords.js b/src/js/controllers/preferencesDeleteWords.js index 405d5d6ca..7355e4bcc 100644 --- a/src/js/controllers/preferencesDeleteWords.js +++ b/src/js/controllers/preferencesDeleteWords.js @@ -1,15 +1,14 @@ 'use strict'; angular.module('copayApp.controllers').controller('preferencesDeleteWordsController', function(confirmDialog, lodash, notification, profileService, go, gettext) { - var self = this; var fc = profileService.focusedClient; var msg = gettext('Are you sure you want to delete the recovery phrase?'); var successMsg = gettext('Recovery phrase deleted'); if (lodash.isEmpty(fc.credentials.mnemonic) && lodash.isEmpty(fc.credentials.mnemonicEncrypted)) - self.deleted = true; + $scope.deleted = true; - self.delete = function() { + $scope.delete = function() { confirmDialog.show(msg, function(ok) { if (ok) { fc.clearMnemonic(); diff --git a/src/js/controllers/preferencesEmail.js b/src/js/controllers/preferencesEmail.js index b41981e13..84f8cf2d3 100644 --- a/src/js/controllers/preferencesEmail.js +++ b/src/js/controllers/preferencesEmail.js @@ -1,21 +1,19 @@ 'use strict'; -angular.module('copayApp.controllers').controller('preferencesEmailController', - function($rootScope, go, profileService, gettext, $log, walletService) { - this.save = function(form) { - var self = this; - this.error = null; +angular.module('copayApp.controllers').controller('preferencesEmailController', function($rootScope, go, profileService, walletService) { + $scope.save = function(form) { + $scope.error = null; + $scope.saving = true; + var fc = profileService.focusedClient; + var email = $scope.email || ''; - var fc = profileService.focusedClient; - var email = self.email || ''; - - walletService.updateRemotePreferences(fc, { - email: email, - }, function(err) { - if (!err) - $rootScope.$emit('Local/EmailUpdated', email); - - go.path('preferences'); - }); - }; - }); + walletService.updateRemotePreferences(fc, { + email: email, + }, function(err) { + $scope.saving = false; + if (!err) + $rootScope.$emit('Local/EmailUpdated', email); + go.path('preferences'); + }); + }; +}); diff --git a/src/js/controllers/preferencesHistory.js b/src/js/controllers/preferencesHistory.js index 321e1ade2..e3285b9e5 100644 --- a/src/js/controllers/preferencesHistory.js +++ b/src/js/controllers/preferencesHistory.js @@ -4,26 +4,13 @@ angular.module('copayApp.controllers').controller('preferencesHistory', function($scope, $log, $timeout, storageService, go, profileService, lodash) { var fc = profileService.focusedClient; var c = fc.credentials; - this.csvReady = false; + $scope.csvReady = false; + $scope.csvHistory = function(isUpdating, cb) { + if (isUpdating) return; - this.csvHistory = function(cb) { + var allTxs = []; - function formatDate(date) { - var dateObj = new Date(date); - if (!dateObj) { - $log.debug('Error formating a date'); - return 'DateError' - } - if (!dateObj.toJSON()) { - return ''; - } - - return dateObj.toJSON(); - } - - var step = 6; - var unique = {}; function getHistory(cb) { storageService.getTxHistory(c.walletId, function(err, txs) { if (err) return cb(err); @@ -38,16 +25,7 @@ angular.module('copayApp.controllers').controller('preferencesHistory', allTxs.push(txsFromLocal); return cb(null, lodash.flatten(allTxs)); }); - } - - var fc = profileService.focusedClient; - var c = fc.credentials; - - if (!fc.isComplete()) - return; - - var self = this; - var allTxs = []; + }; $log.debug('Generating CSV from History'); getHistory(function(err, txs) { @@ -59,12 +37,12 @@ angular.module('copayApp.controllers').controller('preferencesHistory', $log.debug('Wallet Transaction History Length:', txs.length); - self.satToUnit = 1 / self.unitToSatoshi; + $scope.satToUnit = 1 / $scope.unitToSatoshi; var data = txs; var satToBtc = 1 / 100000000; - self.csvContent = []; - self.csvFilename = 'Copay-' + (self.alias || self.walletName) + '.csv'; - self.csvHeader = ['Date', 'Destination', 'Description', 'Amount', 'Currency', 'Txid', 'Creator', 'Copayers', 'Comment']; + $scope.csvContent = []; + $scope.csvFilename = 'Copay-' + ($scope.alias || $scope.walletName) + '.csv'; + $scope.csvHeader = ['Date', 'Destination', 'Description', 'Amount', 'Currency', 'Txid', 'Creator', 'Copayers', 'Comment']; var _amount, _note, _copayers, _creator, _comment; data.forEach(function(it, index) { @@ -89,7 +67,7 @@ angular.module('copayApp.controllers').controller('preferencesHistory', if (it.action == 'moved') _note += ' Moved:' + (it.amount * satToBtc).toFixed(8) - self.csvContent.push({ + $scope.csvContent.push({ 'Date': formatDate(it.time * 1000), 'Destination': it.addressTo || '', 'Description': _note, @@ -103,7 +81,7 @@ angular.module('copayApp.controllers').controller('preferencesHistory', if (it.fees && (it.action == 'moved' || it.action == 'sent')) { var _fee = (it.fees * satToBtc).toFixed(8) - self.csvContent.push({ + $scope.csvContent.push({ 'Date': formatDate(it.time * 1000), 'Destination': 'Bitcoin Network Fees', 'Description': '', @@ -116,16 +94,31 @@ angular.module('copayApp.controllers').controller('preferencesHistory', } }); - self.csvReady = true; + $scope.csvReady = true; + $timeout(function() { + $scope.$apply(); + }, 100); + if (cb) return cb(); return; - }); + + function formatDate(date) { + var dateObj = new Date(date); + if (!dateObj) { + $log.debug('Error formating a date'); + return 'DateError' + } + if (!dateObj.toJSON()) { + return ''; + } + + return dateObj.toJSON(); + }; }; - - this.clearTransactionHistory = function() { + $scope.clearTransactionHistory = function() { storageService.removeTxHistory(c.walletId, function(err) { if (err) { $log.error(err); @@ -137,5 +130,5 @@ angular.module('copayApp.controllers').controller('preferencesHistory', go.walletHome(); }, 100); }); - } + }; }); diff --git a/src/js/controllers/preferencesInformation.js b/src/js/controllers/preferencesInformation.js index 8f31255b1..6edfa4df1 100644 --- a/src/js/controllers/preferencesInformation.js +++ b/src/js/controllers/preferencesInformation.js @@ -6,7 +6,7 @@ angular.module('copayApp.controllers').controller('preferencesInformation', var fc = profileService.focusedClient; var c = fc.credentials; - this.init = function() { + $scope.init = function() { var basePath = c.getBaseAddressDerivationPath(); $scope.walletName = c.walletName; @@ -43,11 +43,7 @@ angular.module('copayApp.controllers').controller('preferencesInformation', }); }; - this.sendAddrs = function() { - var self = this; - - self.loading = true; - + $scope.sendAddrs = function() { function formatDate(ts) { var dateObj = new Date(ts * 1000); if (!dateObj) { @@ -64,7 +60,6 @@ angular.module('copayApp.controllers').controller('preferencesInformation', fc.getMainAddresses({ doNotVerify: true }, function(err, addrs) { - self.loading = false; if (err) { $log.warn(err); return; From bab8b4c3ff4962d40fb2e625f77a2282d620111c Mon Sep 17 00:00:00 2001 From: Javier Date: Tue, 14 Jun 2016 12:01:18 -0300 Subject: [PATCH 4/5] fix test --- public/views/preferencesHistory.html | 2 +- src/js/controllers/preferencesHistory.js | 4 +--- test/controllers/backup.test.js | 9 +++++---- test/controllers/preferencesHistory.test.js | 12 +++++++++--- 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/public/views/preferencesHistory.html b/public/views/preferencesHistory.html index f53667b15..c482def3a 100644 --- a/public/views/preferencesHistory.html +++ b/public/views/preferencesHistory.html @@ -6,7 +6,7 @@

        -
          +
          • Export to file diff --git a/src/js/controllers/preferencesHistory.js b/src/js/controllers/preferencesHistory.js index e3285b9e5..1f988971d 100644 --- a/src/js/controllers/preferencesHistory.js +++ b/src/js/controllers/preferencesHistory.js @@ -6,9 +6,7 @@ angular.module('copayApp.controllers').controller('preferencesHistory', var c = fc.credentials; $scope.csvReady = false; - $scope.csvHistory = function(isUpdating, cb) { - if (isUpdating) return; - + $scope.csvHistory = function(cb) { var allTxs = []; function getHistory(cb) { diff --git a/test/controllers/backup.test.js b/test/controllers/backup.test.js index 2a62b5310..d1417e126 100644 --- a/test/controllers/backup.test.js +++ b/test/controllers/backup.test.js @@ -16,9 +16,10 @@ describe('Backup Controller', function() { it('should be defined', function() { should.exist(ctrl); }); + it('should set the mnemonic incomplete wallets', function(done) { - should.exist(ctrl); - ctrl.mnemonicWords.should.deep.equal('dizzy cycle skirt decrease exotic fork sure mixture hair vapor copper hero'.split(' ')); + should.exist(scope.mnemonicWords); + scope.mnemonicWords.should.deep.equal('dizzy cycle skirt decrease exotic fork sure mixture hair vapor copper hero'.split(' ')); done(); }); }); @@ -35,11 +36,11 @@ describe('Backup Controller', function() { }); it('should not set the mnemonic for complete wallets', function() { - ctrl.mnemonicWords.should.deep.equal('cheese where alarm job conduct donkey license pave congress pepper fence current'.split(' ')); + scope.mnemonicWords.should.deep.equal('cheese where alarm job conduct donkey license pave congress pepper fence current'.split(' ')); }); it('should set main wallet info', function(done) { - ctrl.walletName.should.equal('kk'); + scope.walletName.should.equal('kk'); done(); }); }); diff --git a/test/controllers/preferencesHistory.test.js b/test/controllers/preferencesHistory.test.js index 5c991f844..8c8ec6d3a 100644 --- a/test/controllers/preferencesHistory.test.js +++ b/test/controllers/preferencesHistory.test.js @@ -18,11 +18,17 @@ describe('Preferences History Controller', function() { mocks.clear({}, done); }); + it('should be defined', function() { + should.exist(ctrl); + }); + it('should export csv', function(done) { - ctrl.csvHistory(function(err) { + scope.csvHistory(function(err) { should.not.exist(err); - ctrl.csvReady.should.equal(true); - JSON.stringify(ctrl.csvContent).should.equal('[{"Date":"2016-06-03T15:54:51.000Z","Destination":"","Description":"","Amount":"0.00120000","Currency":"BTC","Txid":"bf31ecaa8e10ce57f9a889fc4c893b40ff57b016dd763957d942e21ed55fc62c","Creator":"","Copayers":"","Comment":"just a comment"}]'); + should.exist(scope.csvReady); + scope.csvReady.should.equal(true); + should.exist(scope.csvContent); + JSON.stringify(scope.csvContent).should.equal('[{"Date":"2016-06-03T15:54:51.000Z","Destination":"","Description":"","Amount":"0.00120000","Currency":"BTC","Txid":"bf31ecaa8e10ce57f9a889fc4c893b40ff57b016dd763957d942e21ed55fc62c","Creator":"","Copayers":"","Comment":"just a comment"}]'); done(); }); }); From 1dd5bc791d43857fb3ca9de0c41dbf2ee35ec117 Mon Sep 17 00:00:00 2001 From: Javier Date: Tue, 14 Jun 2016 15:11:56 -0300 Subject: [PATCH 5/5] rebase --- public/views/paperWallet.html | 2 +- public/views/preferencesHistory.html | 14 ++++++++------ src/js/controllers/backup.js | 3 +-- src/js/controllers/preferencesBwsUrl.js | 4 ++-- src/js/controllers/preferencesDeleteWords.js | 2 +- src/js/controllers/preferencesEmail.js | 2 +- 6 files changed, 14 insertions(+), 13 deletions(-) diff --git a/public/views/paperWallet.html b/public/views/paperWallet.html index c89a06dfe..630f9a066 100644 --- a/public/views/paperWallet.html +++ b/public/views/paperWallet.html @@ -7,7 +7,7 @@

            - {{paperWallet.error|translate}} + {{paperWallet.error|translate}}
            diff --git a/public/views/preferencesHistory.html b/public/views/preferencesHistory.html index c482def3a..afda46c85 100644 --- a/public/views/preferencesHistory.html +++ b/public/views/preferencesHistory.html @@ -5,13 +5,15 @@

            - -
              -
            • - Export to file + +
                +
              • + + Export to file +
              • -
              • +
              • Export to file [preparing...]
              • diff --git a/src/js/controllers/backup.js b/src/js/controllers/backup.js index c1c22fe8e..12356e9cf 100644 --- a/src/js/controllers/backup.js +++ b/src/js/controllers/backup.js @@ -1,7 +1,7 @@ 'use strict'; angular.module('copayApp.controllers').controller('backupController', - function($rootScope, $scope, $timeout, $log, lodash, profileService, gettext, bwcService, bwsError, walletService, ongoingProcess) { + function($rootScope, $scope, $timeout, $log, go, lodash, profileService, gettext, bwcService, bwsError, walletService, ongoingProcess) { var fc = profileService.focusedClient; $scope.customWords = []; @@ -41,7 +41,6 @@ angular.module('copayApp.controllers').controller('backupController', }; $scope.backTo = function(state) { - console.log(state); if (state == 'walletHome') go.walletHome(); else diff --git a/src/js/controllers/preferencesBwsUrl.js b/src/js/controllers/preferencesBwsUrl.js index 515ba365a..e4af513c0 100644 --- a/src/js/controllers/preferencesBwsUrl.js +++ b/src/js/controllers/preferencesBwsUrl.js @@ -1,7 +1,7 @@ 'use strict'; angular.module('copayApp.controllers').controller('preferencesBwsUrlController', - function($scope, $log, configService, go, applicationService, profileService, storageService) { + function($scope, $log, configService, applicationService, profileService, storageService) { $scope.error = null; $scope.success = null; @@ -44,7 +44,7 @@ angular.module('copayApp.controllers').controller('preferencesBwsUrlController', opts.bwsFor[walletId] = $scope.bwsurl; configService.set(opts, function(err) { - if (err) console.log(err); + if (err) $log.debug(err); storageService.setCleanAndScanAddresses(walletId, function() { applicationService.restart(); }); diff --git a/src/js/controllers/preferencesDeleteWords.js b/src/js/controllers/preferencesDeleteWords.js index 7355e4bcc..2906cea2c 100644 --- a/src/js/controllers/preferencesDeleteWords.js +++ b/src/js/controllers/preferencesDeleteWords.js @@ -1,6 +1,6 @@ 'use strict'; -angular.module('copayApp.controllers').controller('preferencesDeleteWordsController', function(confirmDialog, lodash, notification, profileService, go, gettext) { +angular.module('copayApp.controllers').controller('preferencesDeleteWordsController', function($scope, confirmDialog, lodash, notification, profileService, go, gettext) { var fc = profileService.focusedClient; var msg = gettext('Are you sure you want to delete the recovery phrase?'); var successMsg = gettext('Recovery phrase deleted'); diff --git a/src/js/controllers/preferencesEmail.js b/src/js/controllers/preferencesEmail.js index 84f8cf2d3..9baa87599 100644 --- a/src/js/controllers/preferencesEmail.js +++ b/src/js/controllers/preferencesEmail.js @@ -1,6 +1,6 @@ 'use strict'; -angular.module('copayApp.controllers').controller('preferencesEmailController', function($rootScope, go, profileService, walletService) { +angular.module('copayApp.controllers').controller('preferencesEmailController', function($rootScope, $scope, go, profileService, walletService) { $scope.save = function(form) { $scope.error = null; $scope.saving = true;