This commit is contained in:
Javier 2016-02-19 13:29:41 -03:00
commit 8d591ab7ab
3 changed files with 24 additions and 16 deletions

View file

@ -149,7 +149,7 @@
<li class="line-b p10" ng-if="!paymentExpired">
<span class="text-gray" translate>Expires</span>
<span class="right">
<time>{{tx.paypro.expires * 1000 | amTimeAgo }}</time>
<time>{{expires * 1000 | amTimeAgo }}</time>
</span>
</li>
<li class="line-b p10">

View file

@ -175,7 +175,7 @@
<div translate>Updating transaction history. Please stand by.</div>
</div>
</div>
</div>
</div>
<div class="oh pr" ng-show="index.txHistory[0]">
<h4 class="title m0">
@ -365,7 +365,7 @@
ng-click="home.sendAll()"
translate> Send All
</a>
<div ng-show="!home.paymentExpired">
<div ng-show="!home.paymentExpired && home._paypro">
<span translate>Payment expires</span>
<time> {{home.timeToExpire * 1000 | amTimeAgo}}</time>
</div>
@ -477,7 +477,7 @@
<a ng-click="home.resetForm(sendForm)" class="button expand outline dark-gray round" translate>Cancel</a>
</div>
<div class="columns" ng-class="{'small-6 medium-6 large-6':(home._paypro || home.lockAddress || home.lockAmount)}">
<button type="submit" class="button black round expand" ng-disabled="sendForm.$invalid || home.blockUx || index.isOffline || (home.paymentExpired && home.usePaypro)"
<button type="submit" class="button black round expand" ng-disabled="sendForm.$invalid || home.blockUx || index.isOffline || (home.paymentExpired && home._paypro)"
ng-style="{'background-color':index.backgroundColor}" translate>
Send
</button>

View file

@ -1,6 +1,6 @@
'use strict';
angular.module('copayApp.controllers').controller('walletHomeController', function($scope, $rootScope, $interval, $timeout, $filter, $modal, $log, notification, txStatus, isCordova, isMobile, profileService, lodash, configService, rateService, storageService, bitcore, isChromeApp, gettext, gettextCatalog, nodeWebkit, addressService, ledger, bwsError, confirmDialog, txFormatService, animationService, addressbookService, go, feeService) {
angular.module('copayApp.controllers').controller('walletHomeController', function($scope, $rootScope, $interval, $timeout, $filter, $modal, $log, notification, txStatus, isCordova, isMobile, profileService, lodash, configService, rateService, storageService, bitcore, isChromeApp, gettext, gettextCatalog, nodeWebkit, addressService, ledger, bwsError, confirmDialog, txFormatService, animationService, addressbookService, go, feeService, txService) {
var self = this;
window.ignoreMobilePause = false;
@ -27,8 +27,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
this.showScanner = false;
this.addr = {};
this.lockedCurrentFeePerKb = null;
this.paymentExpired = true;
this.usePaypro = false;
this.paymentExpired = false;
var disableScannerListener = $rootScope.$on('dataScanned', function(event, data) {
self.setForm(data);
@ -285,8 +284,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
var fc = profileService.focusedClient;
var currentSpendUnconfirmed = configWallet.spendUnconfirmed;
var ModalInstanceCtrl = function($scope, $modalInstance) {
$scope.paymentExpired = false;
$scope.usePaypro = false;
$scope.paymentExpired = null;
checkPaypro();
$scope.error = null;
$scope.copayers = copayers
@ -295,6 +293,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
$scope.loading = null;
$scope.color = fc.backgroundColor;
$scope.isShared = fc.credentials.n > 1;
var now = Math.floor(Date.now() / 1000);
// ToDo: use tx.customData instead of tx.message
if (tx.message === 'Glidera transaction' && isGlidera) {
@ -311,19 +310,31 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
};
function checkPaypro() {
if(tx.payProUrl && !isChromeApp){
if (tx.payProUrl && !isChromeApp) {
fc.fetchPayPro({
payProUrl: tx.payProUrl,
}, function(err, paypro) {
if (err) return;
tx.paypro = paypro;
$scope.usePaypro = true;
$scope.paymentExpired = tx.paypro.expires <= Math.floor(Date.now() / 1000);
$scope.paymentExpired = tx.paypro.expires <= now;
if (!$scope.paymentExpired)
paymentTimeControl(tx.paypro.expires);
$scope.$apply();
});
}
};
function paymentTimeControl(timeToExpire) {
$scope.expires = timeToExpire;
var countDown = $interval(function() {
if ($scope.expires <= now) {
$scope.paymentExpired = true;
$interval.cancel(countDown);
}
$scope.expires --;
}, 1000);
};
lodash.each(['TxProposalRejectedBy', 'TxProposalAcceptedBy', 'transactionProposalRemoved', 'TxProposalRemoved', 'NewOutgoingTx', 'UpdateTx'], function(eventName) {
$rootScope.$on(eventName, function() {
fc.getTx($scope.tx.id, function(err, tx) {
@ -970,8 +981,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
this.resetForm = function() {
this.resetError();
this.paymentExpired = true;
this.usePaypro = false;
this.paymentExpired = false;
this._paypro = null;
this.lockedCurrentFeePerKb = null;
@ -1091,7 +1101,6 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
};
function _paymentTimeControl(timeToExpire) {
self.usePaypro = true;
var now = Math.floor(Date.now() / 1000);
if (timeToExpire <= now) {
@ -1099,7 +1108,6 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
return;
}
self.paymentExpired = false;
self.timeToExpire = timeToExpire;
var countDown = $interval(function() {
if (self.timeToExpire <= now) {