View plain text backup for Safari

This commit is contained in:
Gustavo Maximiliano Cortez 2014-10-09 10:37:00 -03:00
commit 7beb2589d6
5 changed files with 61 additions and 16 deletions

View file

@ -2,10 +2,9 @@
angular.module('copayApp.controllers').controller('CopayersController',
function($scope, $rootScope, $location, backupService, walletFactory, controllerUtils) {
$scope.isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;
$scope.hideAdv = true;
$scope.skipBackup = function() {
var w = $rootScope.wallet;
w.setBackupReady(true);
@ -13,14 +12,22 @@ angular.module('copayApp.controllers').controller('CopayersController',
$scope.backup = function() {
var w = $rootScope.wallet;
w.setBackupReady();
backupService.download(w);
if ($scope.isSafari) {
$scope.viewBackup(w);
} else {
w.setBackupReady();
$scope.downloadBackup(w);
}
};
$scope.downloadBackup = function() {
var w = $rootScope.wallet;
$scope.downloadBackup = function(w) {
backupService.download(w);
}
};
$scope.viewBackup = function(w) {
$scope.backupPlainText = backupService.getBackup(w);
$scope.hideViewBackup = true;
};
$scope.goToWallet = function() {
controllerUtils.updateAddressList();

View file

@ -3,6 +3,7 @@
angular.module('copayApp.controllers').controller('MoreController',
function($scope, $rootScope, $location, $filter, backupService, walletFactory, controllerUtils, notification, rateService) {
var w = $rootScope.wallet;
$scope.isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;
$scope.unitOpts = [{
name: 'Satoshis (100,000,000 satoshis = 1BTC)',
@ -74,6 +75,11 @@ angular.module('copayApp.controllers').controller('MoreController',
backupService.download(w);
}
$scope.viewBackup = function() {
$scope.backupPlainText = backupService.getBackup(w);
$scope.hideViewBackup = true;
};
$scope.deleteWallet = function() {
walletFactory.delete(w.id, function() {
controllerUtils.logout();

View file

@ -13,8 +13,12 @@ BackupService.prototype.getCopayer = function(wallet) {
return wallet.totalCopayers > 1 ? wallet.getMyCopayerNickname() : '';
};
BackupService.prototype.getBackup = function(wallet) {
return wallet.toEncryptedObj();
};
BackupService.prototype.download = function(wallet) {
var ew = wallet.toEncryptedObj();
var ew = this.getBackup(wallet);
var walletName = this.getName(wallet);
var copayerName = this.getCopayer(wallet);
var filename = (copayerName ? copayerName + '-' : '') + walletName + '-keybackup.json.aes';