Wallet/src/js/controllers/addressbookAdd.js
Jean-Baptiste Dominguez b4bf0c314f
Merge pull request #230 from Bitcoin-com/wallet/task/508
508 - Fix the QRCode scan.
2018-08-08 10:54:09 +09:00

68 lines
2 KiB
JavaScript

'use strict';
angular.module('copayApp.controllers').controller('addressbookAddController', function($scope, $state, $stateParams, $timeout, $ionicHistory, gettextCatalog, addressbookService, popupService, configService, bitcoinCashJsService, platformInfo) {
var config = configService.getSync();
var defaults = configService.getDefaults();
$scope.bitcoinAlias = (config.bitcoinAlias || defaults.bitcoinAlias).toUpperCase();
$scope.bitcoinCashAlias = (config.bitcoinCashAlias || defaults.bitcoinCashAlias).toUpperCase();
$scope.fromSendTab = $stateParams.fromSendTab;
$scope.addressbookEntry = {
'address': $stateParams.addressbookEntry || '',
'name': '',
'email': '',
'coin': 'bch'
};
$scope.onQrCodeScannedAddressBook = function(data, addressbookForm) {
$timeout(function() {
var form = addressbookForm;
if (data && form) {
if (data.result) {
data = data.result;
}
data = data.replace(/^bitcoin(cash)?:/, '');
form.address.$setViewValue(data);
form.address.$isValid = true;
form.address.$render();
}
$scope.$digest();
}, 100);
};
$scope.add = function(addressbook) {
if ($scope.addressbookEntry.coin == 'bch') {
var translated = bitcoinCashJsService.readAddress(addressbook.address);
addressbook.address = translated.legacy;
}
var channel = "ga";
if (platformInfo.isCordova) {
channel = "firebase";
}
var log = new window.BitAnalytics.LogEvent("contact_created", [{
"coin": $scope.addressbookEntry.coin
}], [channel]);
window.BitAnalytics.LogEventHandlers.postEvent(log);
$timeout(function() {
addressbookService.add(addressbook, function(err, ab) {
if (err) {
popupService.showAlert(gettextCatalog.getString('Error'), err);
return;
}
if ($scope.fromSendTab) $scope.goHome();
else $ionicHistory.goBack();
});
}, 100);
};
$scope.goHome = function() {
$ionicHistory.removeBackView();
$state.go('tabs.home');
};
});