fix some event handlers

This commit is contained in:
Matias Alejo Garcia 2014-12-01 15:33:16 -03:00
parent 5d8b83823a
commit 67fd6344dd
7 changed files with 52 additions and 14 deletions

View File

@ -41,7 +41,7 @@ angular.module('copayApp.controllers').controller('CreateController',
$scope.create = function(form) {
if (form && form.$invalid) {
notification.error('Error', 'Please enter the required fields');
$scope.error = 'Please enter the required fields';
return;
}
var opts = {
@ -56,7 +56,11 @@ angular.module('copayApp.controllers').controller('CreateController',
$rootScope.starting = false;
if (err || !wallet) {
copay.logger.debug(err);
$scope.error = 'Could not create wallet.' + err;
if (err.match('OVERQUOTA')){
$scope.error = 'Could not create wallet: storage limits on remove server exceeded';
} else {
$scope.error = 'Could not create wallet: ' + err;
}
}
$rootScope.$digest()
});

View File

@ -46,11 +46,13 @@ angular.module('copayApp.controllers').controller('HomeController', function($sc
} else {
$scope.error = 'Unknown error';
}
$scope.done();
}
if (iden) {
iden.on('newWallet', $scope.done);
iden.on('noWallets', $scope.done);
iden.openWallets();
}
});
}

View File

@ -19,8 +19,9 @@ angular.module('copayApp.controllers').controller('ProfileController', function(
identityService.deleteWallet(w, function(err) {
$scope.loading = false;
if (err) {
log.warn(err);
copay.logger.warn(err);
}
$scope.setWallets();
});
};

View File

@ -592,11 +592,10 @@ Identity.prototype.deleteWallet = function(walletId, cb) {
delete this.focusedTimestamps[walletId];
this.storage.removeItem(Wallet.getStorageKey(walletId), function(err) {
if (err) {
return cb(err);
}
if (err) return cb(err);
self.emitAndKeepAlive('deletedWallet', walletId);
self.store(null, cb);
return cb();
});
};

View File

@ -47,7 +47,7 @@ InsightStorage.prototype.getItem = function(name, callback) {
var self = this;
this._makeGetRequest(passphrase, name, function(err, body) {
if (err) log.info('[InsightStorage. err]', err);
if (err) log.warn(err);
if (err && err.indexOf('PNOTFOUND') !== -1 && mayBeOldPassword(self.password)) {
return self._brokenGetItem(name, callback);
}
@ -87,6 +87,7 @@ InsightStorage.prototype._makeGetRequest = function(passphrase, key, callback) {
};
this.request.get(getParams,
function(err, response, body) {
console.log('[InsightStorage.js.89:response:]',response); //TODO
if (err) {
return callback('Connection error');
}
@ -172,16 +173,39 @@ InsightStorage.prototype.setItem = function(name, value, callback) {
}
if (response.statusCode === 409) {
return callback('BADCREDENTIALS: Invalid username or password');
}
if (response.statusCode !== 200) {
} else if (response.statusCode === 406) {
return callback('OVERQUOTA: Quota exceeded');
} else if (response.statusCode !== 200) {
return callback('Unable to store data on insight');
}
return callback();
});
};
InsightStorage.prototype.removeItem = function(name, callback) {
this.setItem(name, '', callback);
InsightStorage.prototype.removeItem = function(key, callback) {
var passphrase = this.getPassphrase();
var authHeader = new buffers.Buffer(this.email + ':' + passphrase).toString('base64');
var deleteUrl = this.storeUrl + '/delete/item';
var getParams = {
url: deleteUrl + '?' + querystring.encode({
key: key
}),
headers: {
'Authorization': authHeader
}
};
log.debug('erase ' + name);
this.request.get(getParams, function(err, response, body) {
if (err) {
return callback('Connection error');
}
if (response.statusCode === 409) {
return callback('BADCREDENTIALS: Invalid username or password');
} else if (response.statusCode !== 200) {
return callback('Unable to remove data on insight');
}
return callback();
});
};
InsightStorage.prototype.clear = function(callback) {

View File

@ -82,8 +82,7 @@ angular.module('copayApp.services')
copay.Identity.open(opts, function(err, iden) {
if (err) return cb(err);
root.bind(iden);
iden.openWallets();
return cb();
return cb(null, iden);
});
};
@ -247,7 +246,6 @@ angular.module('copayApp.services')
copay.logger.debug('newWallet:', w.getName(), wid, iden.getLastFocusedWalletId());
root.installWalletHandlers(w);
if (wid == iden.getLastFocusedWalletId()) {
$rootScope.starting = false;
copay.logger.debug('GOT Focused wallet:', w.getName());
root.setFocusedWallet(w, true);
root.goWalletHome();

View File

@ -19,6 +19,16 @@
<form name="setupForm" ng-submit="create(setupForm)" novalidate>
<div class="row">
<div class="large-12 columns">
<div class="box-notification" ng-show="error">
<div class="box-icon error">
<i class="fi-x size-24"></i>
</div>
<span class="text-warning size-14">
{{error|translate}}
</span>
</div>
<div class="panel">
<label><span translate>Wallet name</span>
<div class="input">