Merge pull request #2060 from matiu/bug/payment-intent

Bug/payment intent
This commit is contained in:
Gustavo Maximiliano Cortez 2014-12-09 19:32:18 -03:00
commit c2598b2646
39 changed files with 935 additions and 888 deletions

30
views/modals/paypro.html Normal file
View file

@ -0,0 +1,30 @@
<a class="close-reveal-modal" ng-click="cancel()">&#215;</a>
<div class="size-14">
<h1 class="m30v">Payment Request</h1>
<p>
<b translate>Signature:</b> {{md.domain}}
<span ng-show="md.pr.ca"><i class="fi-lock color-greeni"></i> {{md.pr.ca}}</span>
<span ng-show="!md.pr.ca"><i class="fi-unlock color-yellowi"></i> Untrusted</span>
<p>
<b translate>Merchant Message:</b>
<br>
{{md.pr.pd.memo || address}}
</p>
<p>
<b translate>Amount:</b>
{{md.unitTotal}} {{$root.wallet.settings.unitName}}
<span class="text-gray" ng-if="isRateAvailable">
{{ alternative }} {{ alternativeIsoCode }}
</span>
<div ng-if="md.expirationDate" class="m10v">
<b>Expires</b>: {{md.expirationDate | amTimeAgo }}
</div>
</div>
</div>

View file

@ -31,11 +31,11 @@
</div>
<div class="line-b m10t"></div>
<h1 class="m30v">Transaction Details</h1>
<div class="ellipsis"> <b>ID:</b> <span class="text-gray"> {{btx.txid}} </span></div>
<div ng-if="btx.ts" class="m10v">
<time><b>{{btx.ts | amTimeAgo}}</b></time>
:
<time> <span class="text-gray">{{btx.ts | amCalendar}}</span></time>
<div class="ellipsis" ng-if="btx.txid"> <b>ID:</b> <span class="text-gray"> {{btx.txid}} </span></div>
<div ng-if="btx.ts || btx.createdTs " class="m10v">
<time> <span>{{ (btx.ts || btx.createdTs ) | amCalendar}}</span></time>
[<time>{{ (btx.ts || btx.createdTs ) | amTimeAgo}}</time>]
</div>
<div class="m10v">
@ -51,15 +51,19 @@
<div ng-if="btx.addressTo" class="m10v">
<span class="ellipsis">
<b>To:</b>
<span class="text-gray"> {{btx.labelTo || btx.addressTo}}</span>
<span ng-if="btx.merchant">
<span ng-show="btx.merchant.pr.ca"><i class="fi-lock color-greeni"></i> {{btx.merchant.domain}}</span>
<span ng-show="!btx.merchant.pr.ca"><i class="fi-unlock color-yellowi"></i> {{btx.merchant.domain}}</span>
</span>
<span ng-if="!btx.merchant">
<span class="text-gray"> {{btx.labelTo || btx.addressTo}}</span>
</span>
</span>
</div>
<div ng-if="!!btx.merchant" class="m10v">
Payment Protocol Information:
<br>{{btx.merchant.pr.pd.memo}}</b>
<br>{{btx.paymentAckMemo}}
<span ng-show="tx.merchant.domain">[{{btx.merchant.domain}}]</span>
<div ng-if="btx.merchant" class="m10v">
{{btx.merchant.pr.pd.memo}}
</div>
<div ng-if="btx.actionList[0]" class="m10v">
@ -79,12 +83,11 @@
</ul>
</div>
<div class="m10t oh">
<div class="m10t oh" ng-if="btx.txid">
<a class="right button-setup"
ng-click="openExternalLink('http://' + getShortNetworkName() + '.insight.is/tx/' + btx.txid)">
See it on the blockchain <i class="icon-arrow-right2 vm"></i>
</a>
</p>
</div>
</div>

View file

@ -0,0 +1,19 @@
<div class="size-14">
<div class="text-center size-72 m10v">
<div class="text-primary">
<i class="fi-check"></i>
</div>
</div>
<div class="text-center m10v">
{{statusStr}}
</div>
<div class="text-center m10v">
<a class="button primary" ng-click="cancel()">OKAY</a>
</div>
</div>

View file

@ -0,0 +1,76 @@
<a class="close-reveal-modal" ng-click="cancel()">&#215;</a>
<h1 class="m30v">Transaction Proposal Details</h1>
<div class="row" ng-repeat="out in tx.outs">
<div class="large-5 medium-5 small-6 columns size-14">
<b>{{out.value}} {{$root.wallet.settings.unitName}}</b>
<span ng-show="out.alternativeAmount" class="alt-currency gray">
{{out.alternativeAmount}} {{out.alternativeIsoCode}}
</span>
</div>
<div class="large-2 medium-2 small-1 columns text-center">
<i class="fi-arrow-right"></i>
</div>
<div class="large-5 medium m0-5 small-5 columns ellipsis size-12">
<div ng-if="tx.merchant">
<span ng-show="tx.merchant.pr.ca"><i class="fi-lock color-greeni"></i> {{tx.merchant.domain}}</span>
<span ng-show="!tx.merchant.pr.ca"><i class="fi-unlock color-yellowi"></i> {{tx.merchant.domain}}</span>
</span>
</div>
<contact address="{{out.address}}" tooltip-popup-delay="500" tooltip tooltip-placement="right" ng-hide="tx.merchant" />
</div>
<div class="text-light size-14">{{tx.comment}}</div>
<div class="line-b m10t"></div>
<div ng-if="tx.createdTs " class="m10v size-14">
<time> <span>{{ tx.createdTs | amCalendar}}</span></time>
[<time>{{ tx.createdTs | amTimeAgo}}</time>]
</div>
<div ng-if="tx.addressTo" class="m10v">
<span class="ellipsis">
<b>To:</b>
<span ng-if="tx.merchant">
<span ng-show="tx.merchant.pr.ca"><i class="fi-lock color-greeni"></i> {{tx.merchant.domain}}</span>
<span ng-show="!tx.merchant.pr.ca"><i class="fi-unlock color-yellowi"></i> {{tx.merchant.domain}}</span>
</span>
<span ng-if="!tx.merchant">
<span class="text-gray"> {{tx.labelTo || tx.addressTo}}</span>
</span>
</span>
</div>
<div ng-if="tx.merchant" class="size-12 m10v">
{{tx.merchant.pr.pd.memo}}
<div ng-if="tx.merchant.expirationDate" class="m10v">
<b>Expires</b>: {{tx.merchant.expirationDate | amTimeAgo }}
</div>
</div>
<div ng-if="tx.actionList[0]" class="m10v">
<b>Copayers Signatures</b>
<ul class="tx-copayers m10t" ng-if="tx.actionList[0]">
<li ng-repeat="c in tx.actionList" ng-class="{'bottom-line-copayers':!$last}">
<span>
<i ng-if="c.actions.rejected" class="fi-x icon-sign x"></i>
<i ng-if="c.actions.sign" class="fi-check icon-sign check"></i>
<i ng-if="!c.actions.sign && !c.actions.rejected && tx.missingSignatures" class="m10r fi-loop icon-rotate"></i>
</span>
<span>
<i ng-if="c.actions.create" class="fi-crown icon-status icon-active m10r"></i>
</span>
<span>{{c.cId === $root.wallet.getMyCopayerId() ? 'Me' : $root.wallet.publicKeyRing.nicknameForCopayer(c.cId)}}</span>
</li>
</ul>
</div>
</div>

View file

@ -0,0 +1,29 @@
<a class="close-reveal-modal" ng-click="cancel()">&#215;</a>
<h3 ng-init="setWallets()">Select a wallet to make the payment</h3>
<span ng-show="!wallets[0]">Loading...</span>
<ul class="w-popup-menu" ng-show="wallets[0]" ng-class="{'large':wallets.length > 4, 'medium':wallets.length > 2 && wallets.length < 5}">
<li data-ng-repeat="item in wallets track by $index" class="nav-item" ng-click="ok(item)" ng-show="+item.balanceInfo.totalBalanceBTC > 0">
<div class="w-popup-icon">
<div class="avatar-wallet">{{(item.name || item.id) | limitTo: 1}}</div>
</div>
<div class="w-popup-content">
<div class="">
<a class="size-12 wallet-item">
<div class="">
<div class="w-popup-main">[ {{item.requiredCopayers}} of {{item.totalCopayers}} ]</div>
<div class="w-popup-sub size-18">{{item.name || item.id}}</div>
</div>
<div class="w-popup-sub">
<span ng-if="item.balanceInfo.updatingBalance"><i class="fi-bitcoin-circle icon-rotate spinner"></i></span>
<div ng-if="!item.balanceInfo.updatingBalance" data-options="disable_for_touch:true">
<b class="m5r size-12">{{item.balanceInfo.totalBalance || 0}} {{item.settings.unitName}}</b>
<span class="alt-currency size-10">{{item.balanceInfo.totalBalanceAlternative}} {{item.balanceInfo.alternativeIsoCode}}</span>
</div>
</div>
</a>
</div>
</div>
</li>
</ul>