handle the "invalid" status

This commit is contained in:
Matias Alejo Garcia 2017-04-13 16:58:42 -03:00
parent 5f197b5f4e
commit dd1209a92c
No known key found for this signature in database
GPG Key ID: 02470DB551277AB3
4 changed files with 37 additions and 12 deletions

View File

@ -9,6 +9,7 @@ angular.module('copayApp.controllers').controller('amazonCardsController',
var updateGiftCards = function(cb) { var updateGiftCards = function(cb) {
amazonService.getPendingGiftCards(function(err, gcds) { amazonService.getPendingGiftCards(function(err, gcds) {
console.log('[amazonCards.js.11:gcds:]',gcds); //TODO
if (err) { if (err) {
popupService.showAlert('Could not get gift cards', err); popupService.showAlert('Could not get gift cards', err);
if (cb) return cb(); if (cb) return cb();
@ -28,16 +29,24 @@ angular.module('copayApp.controllers').controller('amazonCardsController',
updateGiftCards(function() { updateGiftCards(function() {
var index = 0; var index = 0;
var gcds = $scope.giftCards; var gcds = $scope.giftCards;
console.log('[amazonCards.js.31:gcds:]',gcds); //TODO
lodash.forEach(gcds, function(dataFromStorage) { lodash.forEach(gcds, function(dataFromStorage) {
if (dataFromStorage.status == 'PENDING') { console.log('[amazonCards.js.33:dataFromStorage:]',dataFromStorage); //TODO
$log.debug("creating gift card"); if (dataFromStorage.status == 'PENDING' || dataFromStorage.status == 'invalid') {
$log.debug("Creating / Updating gift card");
$scope.updatingPending[dataFromStorage.invoiceId] = true; $scope.updatingPending[dataFromStorage.invoiceId] = true;
console.log('[amazonCards.js.38]'); //TODO
amazonService.createGiftCard(dataFromStorage, function(err, giftCard) { amazonService.createGiftCard(dataFromStorage, function(err, giftCard) {
console.log('[amazonCards.js.41]'); //TODO
$scope.updatingPending[dataFromStorage.invoiceId] = false; $scope.updatingPending[dataFromStorage.invoiceId] = false;
if (err) { if (err) {
popupService.showAlert('Error creating gift card', err); popupService.showAlert('Error creating gift card', err);
return; return;
} }
console.log('[amazonCards.js.48]', giftCard); //TODO
if (giftCard.status != 'PENDING') { if (giftCard.status != 'PENDING') {
var newData = {}; var newData = {};

View File

@ -72,8 +72,10 @@ angular.module('copayApp.services').factory('amazonService', function($http, $lo
if (opts && opts.remove) { if (opts && opts.remove) {
delete(inv[gc.invoiceId]); delete(inv[gc.invoiceId]);
} }
inv = JSON.stringify(inv); inv = JSON.stringify(inv);
storageService.setAmazonGiftCards(network, inv, function(err) { storageService.setAmazonGiftCards(network, inv, function(err) {
homeIntegrationsService.register(homeItem); homeIntegrationsService.register(homeItem);
@ -125,8 +127,10 @@ angular.module('copayApp.services').factory('amazonService', function($http, $lo
"invoiceId": data.invoiceId, "invoiceId": data.invoiceId,
"accessKey": data.accessKey "accessKey": data.accessKey
}; };
console.log('[amazonService.js.129:dataSrc:]',dataSrc); //TODO
$http(_postBitPay('/amazon-gift/redeem', dataSrc)).then(function(data) { $http(_postBitPay('/amazon-gift/redeem', dataSrc)).then(function(data) {
console.log('[amazonService.js.130:data:]',data); //TODO
var status = data.data.status == 'new' ? 'PENDING' : (data.data.status == 'paid') ? 'PENDING' : data.data.status; var status = data.data.status == 'new' ? 'PENDING' : (data.data.status == 'paid') ? 'PENDING' : data.data.status;
data.data.status = status; data.data.status = status;
$log.info('Amazon.com Gift Card Create/Update: ' + status); $log.info('Amazon.com Gift Card Create/Update: ' + status);

View File

@ -14,16 +14,16 @@
<img src="img/a-smile_color_btn.png" alt="{{id}}" width="40"> <img src="img/a-smile_color_btn.png" alt="{{id}}" width="40">
<ion-spinner class="spinner-dark recent right m10 size-16" icon="crescent" ng-show="updatingPending[item.invoiceId]"> <ion-spinner class="spinner-dark recent right m10 size-16" icon="crescent" ng-show="updatingPending[item.invoiceId]">
</ion-spinner> </ion-spinner>
<h2> <h2 ng-if="item.amount">
<span ng-if="item.claimCode">{{item.amount | currency : '$ ' : 2}} {{item.currency}}</span> {{item.amount | currency : '$ ' : 2}} {{item.currency}}
<span ng-if="!item.claimCode">-</span>
</h2> </h2>
<p> <p>
<span class="assertive" ng-if="item.status == 'FAILURE' || item.status == 'RESEND'">Error</span> <span class="assertive" ng-if="item.status == 'FAILURE' || item.status == 'RESEND'">Error</span>
<span class="assertive" ng-if="item.status == 'expired'">Expired</span> <span class="assertive" ng-if="item.status == 'expired'">Expired</span>
<span class="assertive" ng-if="item.status == 'invalid'">Still waiting confirmation<br> (Use higher fees setting to faster delivery)</span>
<span class="text-gray" ng-if="item.status == 'PENDING'">Pending to confirmation</span> <span class="text-gray" ng-if="item.status == 'PENDING'">Pending to confirmation</span>
<span class="assertive" ng-if="item.status == 'SUCCESS' && item.cardStatus == 'Canceled'">Canceled</span> <span class="assertive" ng-if="item.status == 'SUCCESS' && item.cardStatus == 'Canceled'">Canceled</span>
<span class="text-gray" ng-if="item.status == 'SUCCESS' && item.cardStatus == 'Fulfilled'">{{item.date | amTimeAgo}}</span> <span class="text-gray">{{item.date | amTimeAgo}}</span>
</p> </p>
</div> </div>
</div> </div>

View File

@ -11,13 +11,21 @@
<div class="header-modal text-center"> <div class="header-modal text-center">
<img src="img/a_generic.jpg" alt="Amazon.com Gift Card" width="230" ng-click="refreshGiftCard()"> <img src="img/a_generic.jpg" alt="Amazon.com Gift Card" width="230" ng-click="refreshGiftCard()">
<div class="m10t">
Gift Card Amount:
<span class="text-bold">
{{card.amount | currency : '$ ' : 2}}
</span>
</div>
<div class="m10t">
Created
{{card.date | amTimeAgo}}
</div>
<div ng-show="card.claimCode"> <div ng-show="card.claimCode">
<div class="m10t">
Gift Card Amount:
<span class="text-bold">
{{card.amount | currency : '$ ' : 2}}
</span>
</div>
<div ng-show="card.cardStatus !== 'Canceled'"> <div ng-show="card.cardStatus !== 'Canceled'">
Claim code: <span class="text-bold" copy-to-clipboard="card.claimCode">{{card.claimCode}}</span> Claim code: <span class="text-bold" copy-to-clipboard="card.claimCode">{{card.claimCode}}</span>
</div> </div>
@ -42,6 +50,10 @@
<span class="text-bold" ng-show="card.status == 'PENDING'"> <span class="text-bold" ng-show="card.status == 'PENDING'">
PENDING PENDING
</span> </span>
<span class="text-bold" ng-show="card.status=='invalid'">
STILL PENDING
</span>
<span class="text-bold" ng-show="card.status == 'FAILURE' || card.status == 'RESEND'"> <span class="text-bold" ng-show="card.status == 'FAILURE' || card.status == 'RESEND'">
FAILURE FAILURE
</span> </span>